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