cf 154.div2 D. Table with Letters - 2
来源:互联网 发布:五笔 知乎 编辑:程序博客网 时间:2024/05/17 22:40
D. Table with Letters - 2
今天的比赛题比较奸诈,居然是文件读入的,让A题耽误了很多时间。
这题是dp的一个经典类型,o((n*m)^2)的算法非常好写,但是必然TLE。因为其要求四角均相等,不妨以此为条件进行判断,即可缩为o(n^2*m)算法
/* author:jxy lang:C/C++ university:China,Xidian University **If you need to reprint,please indicate the source** */ #include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <queue> #define INF 1E9 using namespace std; int sum[402][402]; char a[402][402]; int main() { freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); int m,n,K,i,j,t; scanf("%d%d%d",&n,&m,&K); memset(sum,0,sizeof(sum)); for(i=1;i<=n;i++) { getchar(); for(j=1;j<=m;j++) { a[i][j]=getchar(); sum[i][j]=0-sum[i-1][j-1]+sum[i-1][j]+sum[i][j-1]; if(a[i][j]=='a')sum[i][j]++; } } long long ans=0; int now[257],k,p; for(i=1;i<=n;i++) for(j=i+1;j<=n;j++) { memset(now,0,sizeof(now)); for(k=1,p=1;k<=m;k++) { if(a[i][k]!=a[j][k])continue; now[a[i][k]]--; // if(p==1)p=k; //cout<<now[a[i][k]]<<endl; while(p<=m&&sum[j][p]+sum[i-1][k-1]-sum[i-1][p]-sum[j][k-1]<=K) { if(a[i][p]==a[j][p])now[a[i][p]]++; p++; } if(now[a[i][k]]>0)ans+=now[a[i][k]]; //cout<<now[a[i][k]]<<" --------"<<endl; } } cout<<ans<<endl; }
- cf 154.div2 D. Table with Letters - 2
- CodeForces 253D Table with Letters - 2
- Codeforces 253D-Table with Letters
- CodeForces 253D Table with Letters
- cf 153.div2 D. Playing with Permutations
- 单调队列1004 Codeforces Round #154 (Div. 2) 253D. Table with Letters - 2
- CodeForces 253D Table with Letters - 2 减小复杂度的技巧+交替枚举
- CF 141 div2 D(2-SAT)
- CF 174(div2) D
- CF 161 div2 D
- CF 189 div2 D
- CF 159 div2 d
- cf.256.div2.D
- cf R327 div2 D
- CF 190div2 D(贪心)
- CF 345 div2 D题
- cf div2 #453 ABC(D)
- 385 div2 cf 2
- zoj2334-Monkey King(超时)
- cf 153.div2 D. Playing with Permutations
- 安装最新的文泉驿字体[z]
- Python切片索引
- 黑马程序员_java反射机制的学习笔记
- cf 154.div2 D. Table with Letters - 2
- vim配置
- vim tab设置
- [iOS]retain\assign\copy的区别
- Invalid action class configuration that references an unknown class named[XXXAction]
- web服务器的启动流程与上下文创建
- Android 解决Toast中的一个BUG(转载)
- C#高仿腾讯QQ截图程序
- VC多线程编程