uva 11552
2015-08-03 08:49
260 查看
uva 11552
刚开始用的贪心,wawawawawa,心都碎了,改来改去我觉得已经很完美了还是不行。。。后来学长说用dp 真是d了个p的。。。动态规划想不好还真容易看成贪心,可是我现在依旧找不到测试数据证明我贪心是错的。
DP:
1.k=1时;。。。
2.k!=1时
{
2.1 i-1行的末尾同时存在与第i行 且 当前行只有这一种字母 。。。
2.2 i-1行的末尾同时寻在于第i行 且 与当前考虑的字母不同 。。。
2.3 其他。。。
}
//DP解法 #include <iostream> #include<cstdio> #include<cstring> #include<cmath> using namespace std; char kk[1003][1003]; int num[1003][26]; int numm[1003]; int nummm[1003][26]; int dp[1001][26]; using namespace std; char a[1010]; #define M 1234 int main() { int x; scanf("%d",&x); while(x--) { int k,d,i,j,count; scanf("%d%s",&k,a); int len=strlen(a); d=len/k+((len%k==0)?0:1); memset(num,0,sizeof(num)); memset(numm,0,sizeof(numm)); memset(nummm,0,sizeof(nummm)); memset(dp,0,sizeof(dp)); memset(kk,0,sizeof(kk)); if(k==1){ count=len; for(j=0;j<len;j++) if(a[j]==a[j+1]) count--; printf("%d\n",count); } else{ for(i=0;i<d;i++) for(j=i*k;j<i*k+k&&j<len;j++) kk[i][j-i*k]=a[j]; for(i=0;i<d;i++) for(j=0;j<k&&kk[i][j]!=0;j++) {num[i][kk[i][j]-'a']=1; nummm[i][kk[i][j]-'a']++;} for(i=0;i<d;i++) for(j=0;j<26;j++) if(num[i][j]==1) numm[i]++; for(i=0;i<26;i++) if(num[0][i]==1) dp[0][i]=numm[0]; for(i=1;i<d;i++){ for(j=0;j<26;j++){ if(num[i][j]==0) continue; dp[i][j]=M; for(k=0;k<26;k++){ if(num[i-1][k]==0) continue; if(num[i][k]&&(numm[i]==1||j!=k)){ dp[i][j]=min(dp[i][j],dp[i-1][k]+numm[i]-1); } else dp[i][j]=min(dp[i][j],dp[i-1][k]+numm[i]); } } } int min=M; for(i=0;i<26;i++) { if(dp[d-1][i]==0) continue; if(dp[d-1][i]<min) min=dp[d-1][i]; } printf("%d\n",min); } } return 0; }
相关文章推荐
- [高可用]Ubuntu下Haproxy + Keepalived 实现SuperMap iServer高可用负载均衡实现(2)
- 一句话的设计模式(收藏)
- Linux下常用的文件操作技巧汇编:创建、复制、移动与删除
- java常见的几种异常
- AHoi 行星序列
- 提高Android Studio中Gradle执行效率
- iOS中的生成随机数方法
- [高可用]Ubuntu下Haproxy + Keepalived 实现SuperMap iServer高可用负载均衡实现(1)
- 算法-无向图(深度优先搜索和广度优先搜索)
- scala模式匹配下的赋值语句
- 包
- Android Studio使用技巧系列教程(七)
- Android Studio使用技巧系列教程(五)
- tcp ip协议笔记(3)——网络层
- Controller里视图的出现,消失方法
- UVA 11729 Commando War
- Android Studio使用技巧系列教程(六)
- linux awk使用例子
- Android根据联系人姓名首字符顺序读取通讯录
- ERP需求调研之仓库物料管理十问十答