POJ 2185 正解 KMP
题意:
思路:
把每一行压成一个数 求一下 KMP
把每一列压成一个数 求一下KMP
答案就是两个周期之积
网上的好多题解都是错的………………………..
//By SiriusRen
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int n,m,next[10005],recx;
struct Row{char a[88];}row[10050];
struct Line{char a[10050];}line[88];
int main(){scanf("%d%d",&n,&m);for(int i=1;i<=n;i++)scanf("%s",row[i].a+1);int j=0;for(int i=2;i<=n;i++){while(j&&strcmp(row[i].a+1,row[j+1].a+1))j=next[j];if(!strcmp(row[i].a+1,row[j+1].a+1))j++;next[i]=j;}for(int i=1;i<=m;i++)for(int j=1;j<=n;j++)line[i].a[j]=row[j].a[i];j=0,recx=n-next[n];for(int i=2;i<=m;i++){while(j&&strcmp(line[i].a+1,line[j+1].a+1))j=next[j];if(!strcmp(line[i].a+1,line[j+1].a+1))j++;next[i]=j;}printf("%d\n",recx*(m-next[m]));
}
转载于:https://www.cnblogs.com/SiriusRen/p/6532182.html
POJ 2185 正解 KMP相关推荐
- P1401 城市(30分,正解网络流)
题目描述 N(2<=n<=200)个城市,M(1<=m<=40000)条无向边,你要找T(1<=T<=200)条从城市1到城市N的路,使得最长的边的长度最小,边不能 ...
- pythonsocket中tcp通信接收不到数据_TCP 为什么三次握手而不是两次握手(正解版)...
先说结论 为了实现可靠数据传输, TCP 协议的通信双方, 都必须维护一个序列号, 以标识发送出去的数据包中, 哪些是已经被对方收到的. 三次握手的过程即是通信双方相互告知序列号起始值, 并确认对方已 ...
- 射灯安装方法图解_家居射灯怎么选?第三代宜美SMD射灯给你正解
前段时间,刚把自己的房子完成硬装,在灯具选择的过程中,家人的意见就不太统一.其父母觉得选灯只要够亮就行,而媳妇觉得选灯选贵的才行.到底谁的选灯方法好呢?其实家人们的建议并不是完全不对,灯够亮只是其中一 ...
- HDU 6625 three arrays 求两个序列异或最小值的排列(一个可以推广的正解
目录 题意: 解析 原题描述 @(hdu 6625求两个序列异或最小值的排列) 题意: \(T(100)\)组,每组两个长度为\(n(100000)\)的排列,你可以将\(a[]\)和\(b[]\)随 ...
- 从《我要投资》,看藏在“对立面”里的创业正解
文|智能相对论 作者|青月 六位07届的快乐男声选手在象山体验养鹅,意外出圈:随后播出的09届超女的怀旧综艺却热度一般,可见只有单纯的情怀消费并不能保证节目的口碑,只有建立在准确的节目定位与恰当的价值 ...
- 六轴机器人运动学正解
关于机器人运动学正解网上和机器人相关书籍上都是通过建立连杆坐标系和DH参数推导出来的,推导过程比较繁琐,本人不是从事机器人专业,我在推导机器人运动学正解的时候还不知道有DH参数一说,我的算法原理是运用 ...
- 6轴机器人运动学(正解)
理论部分 概念 运动学正解,简而言之,就是给出6个关节变量,求得机械臂末端的位置和姿态 即给出j1−j6j_1 - j_6j1−j6,求x,y,z,rx,ry,rzx,y,z,rx,ry,rzx, ...
- 后台启动elastisearch-head,避免后台启动es head在关闭shell后es head自动关闭,网上一大堆错误的,这个是正解,来自互联网
后台启动elastisearch-head命令:grunt server & ps:正解,不是grunt server &exit,而是先执行grunt server &,然后 ...
- 【错解】【附正解】“科林明伦杯”哈尔滨理工大学第十届程序设计竞赛 - E 赛马
错解: for _ in range(int(input())):n = int(input())Ming = list(map(int, input().split()))oppo = list(m ...
最新文章
- Python | 安装Jupyter Notebook及其目录的更改 jupyter问题
- 卷积池化计算 深度学习
- python pandas写入数据后保存_python读取MySQL数据使用pandas写入到csv,并保存列名
- 成都网络推广带大家了解一个好的标题需遵循的原则有哪些?
- Redis数据库如何实现读写分离
- 织梦dedecms默认网站地图sitemap.html优化
- 只需5分钟即可启动并运行分层架构:: Spring Boot第1部分
- python 百分比数据_如何使用python计算数据列相对于另一列的百分比排名
- TensorFlow 2.0 - 自定义模型、训练过程
- 获取控件enable状态_Android自定义组合控件数字加减(适用于购物车)
- IDA python 脚本编程使用参考资料链接
- (软件工程复习核心重点)第二章可行性研究-第三节:数据流图
- Python中append()和extend方法的使用和区别
- 使用Css隐藏超出容器宽度的文字,溢出部分用“...”表示
- 小米手环6NFc支持Android,小米手环6普通版和NFC版有什么区别-哪个好-哪款更值得入手...
- rbf神经网络参数设置_基于梯度下降法的RBF神经网络逼近(03)
- 【Pix4d精品教程】Pix4d空三后处理:点云分类与过滤、DSM精编生成DEM、生成等高线案例详解
- 热门软件看点:绿坝花季护航蹿红解读(2009-06-14 10:21:45)
- 高德地图 热力图 清空地图
- 系统集成项目管理: 三点估算法估算工期和方差的计算公式和习题