poj 2185 Milking Grid (最小覆盖矩阵)
来源:互联网 发布:广联达预算软件全套 编辑:程序博客网 时间:2024/06/14 18:29
给一个字符矩阵,求最小覆盖矩阵的面积。
有一个结论:最小覆盖子串(串尾多一小段时,用前缀覆盖)长度为n-next[n](n-pre[n]),n为串长。
#include<cstdio>#include<cstring>char dic[10010][101];char temp[105];int suc[105];int nex[10010];int main(){int r,c;while(scanf("%d%d",&r,&c)!=EOF){memset(suc,0,sizeof(suc));for(int i=0;i<r;i++){scanf("%s",dic[i]);strcpy(temp,dic[i]);for(int j=c-1;j>0;j--){temp[j]=0;int x,y;for(y=0,x=0;dic[i][y]!='\0';x++,y++){if(!temp[x])x=0;if(dic[i][y]!=temp[x])break;}if(dic[i][y]=='\0')suc[j]++;}}int max=c;for(int i=0;i<c;i++){if(suc[i]==r){max=i;break;}}for(int i=0;i<r;i++){dic[i][max]=0;}int i=-1,j=0;memset(nex,0,sizeof(nex));nex[0]=-1;while(j<r){if(i==-1||!strcmp(dic[i],dic[j])){i++;j++;nex[j]=i;}elsei=nex[i];}printf("%d\n",(r-nex[r])*max);}return 0;}
0 0
- poj 2185 Milking Grid (最小覆盖矩阵)
- POJ Milking Grid 【最小覆盖矩阵,next[]】
- POJ 2185 Milking Grid(最小覆盖子矩阵面积KMP)
- poj 2185 Milking Grid(最小矩阵覆盖,二维 kmp 匹配)
- poj2185 Milking Grid (最小覆盖矩阵)
- POJ2185 Milking Grid 最小覆盖子矩阵(二维KMP)
- poj2185 Milking Grid(二维KMP+最小覆盖矩阵)
- Milking Grid (二维KMP+矩阵覆盖)
- poj 2185 Milking Grid
- POJ 2185 Milking Grid
- POJ 2185 - Milking Grid
- poj 2185 Milking Grid
- poj 2185 Milking Grid
- POJ 2185 Milking Grid
- POJ 2185 Milking Grid
- POJ 2185Milking Grid
- poj 2185 Milking Grid
- poj 2185 Milking Grid
- PHP操作MySQL数据库的方法
- opencv图像角点的提取
- validationQuery didn't return a row
- firefly——消息推送、加密
- 数组作数据成员1
- poj 2185 Milking Grid (最小覆盖矩阵)
- IOS资料
- Xamarin.Android Binding - When auto-generated class failed
- Android中的图层样式layer-list的用法
- grid.getSelectionModel()的所有操作
- Fragment实现Tab页切换,滑动和点击都可切换。
- DNS解析过程详解
- 5. HANGMAN扩展版的一些新函数
- 操作引入xml文件的书包(定位到指定节点)