【BZOJ3555】企鹅QQ
蛤希。
用map会T。
只需要枚举删掉哪个字符,然后算出每个的hash值,sort一遍就行了。
用map会T!!!
// It is made by XZZ
#include<cstdio>
#include<algorithm>
#include<map>
#define il inline
#define rg register
#define vd void
#define sta static
typedef long long ll;
il int gi(){
rg int x=0,f=1;rg char ch=getchar();
while(ch<'0'||ch>'9')f=ch=='-'?-1:f,ch=getchar();
while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar();
return x*f;
}
#define mod 998244353
#define Mod 10000000009
char s[210];
ll base[210],f[210],F[30010][210],Base[210],g[210],G[30010][210];
ll S[30010];
int main(){
#ifdef xzz
freopen("3555.in","r",stdin);
freopen("3555.out","w",stdout);
#endif
int n=gi(),L=gi();gi();
ll ans=0;
base[0]=1;for(rg int i=1;i<=L;++i)base[i]=base[i-1]*8237%mod;
Base[0]=1;for(rg int i=1;i<=L;++i)Base[i]=Base[i-1]*19260817%mod;
for(rg int yyb=1;yyb<=n;++yyb){
scanf("%s",s+1);
for(rg int i=1;i<=L;++i)f[i]=(s[i]*233%2333)*base[i]%mod;
F[yyb][1]=0;
for(rg int i=1;i<=L;++i)F[yyb][1]+=f[i];
F[yyb][1]%=mod;for(rg int i=1;i<=L;++i)F[yyb][i]=F[yyb][1];
for(rg int i=1;i<=L;++i)F[yyb][i]=(F[yyb][i]-f[i]+mod)%mod;
for(rg int i=1;i<=L;++i)g[i]=(s[i]*233%2333)*Base[i]%Mod;
G[yyb][1]=0;
for(rg int i=1;i<=L;++i)G[yyb][1]+=g[i];
G[yyb][1]%=Mod;for(rg int i=1;i<=L;++i)G[yyb][i]=G[yyb][1];
for(rg int i=1;i<=L;++i)G[yyb][i]=(G[yyb][i]-g[i]+Mod)%Mod;
}
for(rg int i=1;i<=L;++i){
for(rg int j=1;j<=n;++j)S[j]=F[j][i]*mod+G[j][i];
std::sort(S+1,S+n+1);
int t=0;
for(rg int j=1;j<=n;++j)
if(S[j]==S[j-1])ans+=t++;
else t=1;
}
printf("%lld\n",ans);
return 0;
}
【BZOJ3555】企鹅QQ的更多相关文章
- [bzoj3555]企鹅QQ(hash)
3555: [Ctsc2014]企鹅QQ Time Limit: 20 Sec Memory Limit: 256 MBSubmit: 1645 Solved: 616[Submit][Statu ...
- bzoj3555 企鹅QQ
3555: [Ctsc2014]企鹅QQ Time Limit: 20 Sec Memory Limit: 256 MBSubmit: 1640 Solved: 613 Description P ...
- p4503&bzoj3555 企鹅QQ
传送门(洛谷) 传送门(bzoj) 题目 PenguinQQ是中国最大.最具影响力的SNS(Social Networking Services)网站,以实名制为基础,为用户提供日志.群.即时通讯.相 ...
- 【BZOJ3555】 [Ctsc2014]企鹅QQ
BZOJ3555 [Ctsc2014]企鹅QQ Solution 只需要前缀Hash,然后考虑每一段的贡献就好了!!! 代码实现 #include<stdio.h> #include< ...
- 【BZOJ3555】企鹅QQ(字符串哈希)
[BZOJ3555]企鹅QQ(字符串哈希) 题面 BZOJ 题解 把前缀哈希一下,后缀哈希一下 枚举哪个位置不选,然后检查一下相同就行了.. 为什么我的\(Hash\)老是\(WA\), 为什么\(Z ...
- 【BZOJ3555】[Ctsc2014]企鹅QQ hash
[BZOJ3555][Ctsc2014]企鹅QQ Description PenguinQQ是中国最大.最具影响力的SNS(Social Networking Services)网站,以实名制为基础, ...
- 【BZOJ-3555】企鹅QQ 字符串Hash
3555: [Ctsc2014]企鹅QQ Time Limit: 20 Sec Memory Limit: 256 MBSubmit: 1545 Solved: 593[Submit][Statu ...
- bzoj3555: [Ctsc2014]企鹅QQ
将字符串hash.不难写.然而1.注意用longlong2.数组大小注意...3.似乎别人都用的unsigned long long ?. #include<cstdio> #includ ...
- BZOJ 3555: [Ctsc2014]企鹅QQ [字符串哈希]【学习笔记】
3555: [Ctsc2014]企鹅QQ Time Limit: 20 Sec Memory Limit: 256 MBSubmit: 2046 Solved: 749[Submit][Statu ...
- BZOJ 3555: [Ctsc2014]企鹅QQ hash
3555: [Ctsc2014]企鹅QQ Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/p ...
随机推荐
- 产生渐变色的view
产生渐变色的view 效果 源码 https://github.com/YouXianMing/UI-Component-Collection // // GradientColorView.h // ...
- 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置(转)
安装根据这个配置的,但是opencv3.0安装不成功,后来改安2.48就可以了. http://blog.csdn.net/poem_qianmo/article/details/19809337/ ...
- Tomcat 配置学习
1 server.xml <host appBase="d:/aaa"> <Context path="/smswap" reloadable ...
- Linux----CentOS-7搭建免流服务器(iOS 端)
本次实验采用腾讯云服务器:https://cloud.tencent.com/ 大学生身份的可以看看有没有什么活动购买 其他身份的78一个月 关于腾讯云服务器的使用可以看看腾讯云的使用手册 本博客涉及 ...
- 《关于oracle数据库的勒索病毒的预警》
近日,接部分机构反馈和安全厂商提醒,针对oracle数据库的勒索病毒攻击数量增加.该病毒存在较长潜伏期,会根据数据库实例创建时间距今是否满足1200天决定是否发起攻击.攻击通过执行恶意SQL脚本,加密 ...
- 人工智能——搜索(1)回溯策略【N皇后问题】
这学期学<人工智能>(马少平,朱小燕 编著)这本书,里面很多算法听老师讲都听不懂,就想试试写一下看看能不能写出来,就从最简单的回溯策略开始吧. 源码 题目描述 在一个n*n的国际象棋棋盘上 ...
- 使用 FRP 反向代理实现 Windows 远程连接
互联网普及率的日渐攀升与 IPv4 资源的持续减少,现在大部分家庭宽带都不会分配公网 IP ,这使一些网络应用的实现多了些困难,像个人的 NAS 和一些智能家居设备.对于分配公网 IP ,各地运营商的 ...
- Service Mesh服务网格新生代——Istio
Istio 是什么?使用云平台可以为组织提供丰富的好处.然而,不可否认的是,采用云可能会给 DevOps 团队带来压力.开发人员必须使用微服务已满足应用的可移植性,同时运营商管理了极其庞大的混合和多云 ...
- Result工具类
使用ajax请求访问时,可以用此工具类作为返回对象,也方便统一代码规范 package com.ujia.entity; import java.io.Serializable; public cla ...
- python 二维数组键盘输入
m = int(input()) grid = [[] for i in range(m)] for i in range(m): line = input().split(' ') for j in ...