https://www.lydsy.com/JudgeOnline/problem.php?id=3555

枚举每一位字符,计算字符两侧的哈希值,然后进行比较,用map或排序记录出与其相同的字符串数量。

时间复杂度O(nlogn)

#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cstdio>
using namespace std;
#define LL long long
#define N int(3e4+2)
#define M int(2e2+2)
#define base1 233
#define base2 211
int n,m,l,ans;
char s[M];
unsigned long long temp[N],before[N][M],behind[N][M];
void work(int x)
{
for(int i=;i<=l;i++)before[x][i]=before[x][i-]*+s[i];
for(int i=l;i>=;i--)behind[x][i]=behind[x][i+]*+s[i];
}
int main()
{
scanf("%d%d%d",&n,&l,&m);
for(int i=;i<=n;i++)
{
scanf("%s",s+);
work(i);
}
for(int j=;j<=l;j++)
{
for(int i=;i<=n;i++)temp[i]=before[i][j-]*+behind[i][j+]*;
sort(temp+,temp++n);
int now=;
for(int i=;i<=n;i++)
{
if(temp[i]==temp[i-])ans+=now,now++;
else now=;
}
}
printf("%d",ans);
}

最新文章

  1. Windows 批处理
  2. Date和Calendar时间操作常用方法及示例
  3. Tableau——BI software
  4. mysql去除重复数据
  5. oledb 写入 office2010 以及发布到iis 遇到的奇怪问题总结
  6. 彻底删除mysql服务
  7. Petshop学习第三天
  8. GridControl 选择列、复选框全选(上)
  9. TeeChart的最小步长和最大步长
  10. UOJ222 NOI2016 区间 线段树+FIFO队列
  11. ZOJ 1012 Mainframe
  12. Parse error: syntax error, unexpected &#39;[&#39; in D:\phpStudy\WWW\tp5\thinkphp\library\think\Loader.php on line 18
  13. sqlserver2012安装过程
  14. Hibernate与Mybatis的比较
  15. SmartSql 更新日志
  16. 说一下syslog日志吧~~~
  17. centos7下安装docker(26如何配置Health Check)
  18. IE 浏览器旧版本下载
  19. 淘宝开源的H5移动开发UI框架genie-ui
  20. 2019.02.09 codeforces451 E. Devu and Flowers(容斥原理)

热门文章

  1. C#SuperSocket的搭建--通过配置启动
  2. 解决sqlserver的sql脚本内存不足问题
  3. hdoj5813【构造】
  4. curl:出现SSL错误提示
  5. Apache Kylin 是什么?
  6. android 多线程(二)
  7. shell随机数生成
  8. [转]如何使用MFC和类型库创建自动化项目
  9. 常用的HTML5 pattern属性
  10. go获取当前执行的位置程序