BZOJ3939 [Usaco2015 Feb]Cow Hopscotch
来源:互联网 发布:淘宝网旗袍 编辑:程序博客网 时间:2024/06/05 19:18
考虑分治,一个点只会受到他左半边和上半边的影响,所以像cdq分治一样,先递归左半边,然后处理左半边对右半边的影响,再递归右半边
记录一个全局和和每个颜色的和即可
#include<iostream>#include<cstdlib>#include<cstdio>#include<cstring>#include<cmath>#include<ctime>#include<algorithm>#include<iomanip>#include<vector>#include<stack>#include<queue>#include<map>#include<set>#include<bitset>using namespace std;#define MAXN 1010#define MAXM 1010#define ll long long#define INF 1000000000#define MOD 1000000007#define eps 1e-8ll f[MAXN][MAXN];ll a[MAXN][MAXN];ll n,m,k;ll vis[MAXN*MAXN];ll s[MAXN*MAXN];ll T;inline void ck(ll x){if(vis[x]!=T){s[x]=0;}vis[x]=T;}void xrf(ll l,ll r){if(l==r){return ;}ll i,j;ll mid=l+r>>1;xrf(l,mid);ll sum=0;T++;for(i=2;i<=n;i++){for(j=l;j<=mid;j++){(sum+=f[i-1][j])%=MOD;ck(a[i-1][j]);(s[a[i-1][j]]+=f[i-1][j])%=MOD;}for(j=mid+1;j<=r;j++){ck(a[i][j]);(f[i][j]+=sum-s[a[i][j]]+MOD)%=MOD;}}xrf(mid+1,r);}int main(){ll i,j;scanf("%lld%lld%lld",&n,&m,&k);f[1][1]=1;for(i=1;i<=n;i++){for(j=1;j<=m;j++){scanf("%lld",&a[i][j]);}}xrf(1,m);printf("%lld\n",f[n][m]);return 0;}/**/
0 0
- BZOJ3939 [Usaco2015 Feb]Cow Hopscotch
- BZOJ3939: [Usaco2015 Feb]Cow Hopscotch
- [BZOJ3939][Usaco2015 Feb]Cow Hopscotch(cdq分治)
- bzoj3939 【USACO 2015 FEB GOLD 】cow hopscotch
- BZOJ 3939 [Usaco2015 Feb] Cow Hopscotch
- BZOJ3939 BSOJ4853 【USACO 2015 FEB GOLD 】cow hopscotch
- bzoj3939 Cow Hopscotch
- BZOJ 3939 [Usaco2015 Feb]Cow Hopscotch 线段树
- bzoj 3939: [Usaco2015 Feb]Cow Hopscotch (CDQ分治+DP)
- bzoj3943【Usaco2015 Feb】SuperBull
- bzoj3943: [Usaco2015 Feb]SuperBull
- 【Usaco2015 Feb】【BZOJ3943】SuperBull
- [BZOJ3942] [Usaco2015 Feb]Censoring
- bzoj3943[Usaco2015 Feb]SuperBull
- BZOJ3943: [Usaco2015 Feb]SuperBull
- 【BZOJ3942】【Usaco2015 Feb】Censoring KMP
- 【bzoj3942】 [Usaco2015 Feb]Censoring KMP
- 3942: [Usaco2015 Feb]Censoring|Kmp
- Android中关于Fragment的使用和Fragment的生命周期
- Dialog样式的Activity
- tomcat启动时一闪而过的几种原因
- Toolbar使用详解
- Hibernate 多表关联查询示例
- BZOJ3939 [Usaco2015 Feb]Cow Hopscotch
- android开源图表库MPAndroidChart
- 在C#中使用SerialPort类实现串口通信
- 【Unity3D自学记录】制作VR视频播放器
- 该公众号暂时无法提供服务,请稍后再试
- fota
- EGLImage与纹理
- caffe InternalThread类学习
- 通过 PHP 跳出 iframe 框架