蛤希。

用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的更多相关文章

  1. [bzoj3555]企鹅QQ(hash)

    3555: [Ctsc2014]企鹅QQ Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 1645  Solved: 616[Submit][Statu ...

  2. bzoj3555 企鹅QQ

    3555: [Ctsc2014]企鹅QQ Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 1640  Solved: 613 Description P ...

  3. p4503&bzoj3555 企鹅QQ

    传送门(洛谷) 传送门(bzoj) 题目 PenguinQQ是中国最大.最具影响力的SNS(Social Networking Services)网站,以实名制为基础,为用户提供日志.群.即时通讯.相 ...

  4. 【BZOJ3555】 [Ctsc2014]企鹅QQ

    BZOJ3555 [Ctsc2014]企鹅QQ Solution 只需要前缀Hash,然后考虑每一段的贡献就好了!!! 代码实现 #include<stdio.h> #include< ...

  5. 【BZOJ3555】企鹅QQ(字符串哈希)

    [BZOJ3555]企鹅QQ(字符串哈希) 题面 BZOJ 题解 把前缀哈希一下,后缀哈希一下 枚举哪个位置不选,然后检查一下相同就行了.. 为什么我的\(Hash\)老是\(WA\), 为什么\(Z ...

  6. 【BZOJ3555】[Ctsc2014]企鹅QQ hash

    [BZOJ3555][Ctsc2014]企鹅QQ Description PenguinQQ是中国最大.最具影响力的SNS(Social Networking Services)网站,以实名制为基础, ...

  7. 【BZOJ-3555】企鹅QQ 字符串Hash

    3555: [Ctsc2014]企鹅QQ Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 1545  Solved: 593[Submit][Statu ...

  8. bzoj3555: [Ctsc2014]企鹅QQ

    将字符串hash.不难写.然而1.注意用longlong2.数组大小注意...3.似乎别人都用的unsigned long long ?. #include<cstdio> #includ ...

  9. BZOJ 3555: [Ctsc2014]企鹅QQ [字符串哈希]【学习笔记】

    3555: [Ctsc2014]企鹅QQ Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 2046  Solved: 749[Submit][Statu ...

  10. BZOJ 3555: [Ctsc2014]企鹅QQ hash

    3555: [Ctsc2014]企鹅QQ Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/p ...

随机推荐

  1. 产生渐变色的view

    产生渐变色的view 效果 源码 https://github.com/YouXianMing/UI-Component-Collection // // GradientColorView.h // ...

  2. 安装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/ ...

  3. Tomcat 配置学习

    1 server.xml <host appBase="d:/aaa"> <Context path="/smswap" reloadable ...

  4. Linux----CentOS-7搭建免流服务器(iOS 端)

    本次实验采用腾讯云服务器:https://cloud.tencent.com/ 大学生身份的可以看看有没有什么活动购买 其他身份的78一个月 关于腾讯云服务器的使用可以看看腾讯云的使用手册 本博客涉及 ...

  5. 《关于oracle数据库的勒索病毒的预警》

    近日,接部分机构反馈和安全厂商提醒,针对oracle数据库的勒索病毒攻击数量增加.该病毒存在较长潜伏期,会根据数据库实例创建时间距今是否满足1200天决定是否发起攻击.攻击通过执行恶意SQL脚本,加密 ...

  6. 人工智能——搜索(1)回溯策略【N皇后问题】

    这学期学<人工智能>(马少平,朱小燕 编著)这本书,里面很多算法听老师讲都听不懂,就想试试写一下看看能不能写出来,就从最简单的回溯策略开始吧. 源码 题目描述 在一个n*n的国际象棋棋盘上 ...

  7. 使用 FRP 反向代理实现 Windows 远程连接

    互联网普及率的日渐攀升与 IPv4 资源的持续减少,现在大部分家庭宽带都不会分配公网 IP ,这使一些网络应用的实现多了些困难,像个人的 NAS 和一些智能家居设备.对于分配公网 IP ,各地运营商的 ...

  8. Service Mesh服务网格新生代——Istio

    Istio 是什么?使用云平台可以为组织提供丰富的好处.然而,不可否认的是,采用云可能会给 DevOps 团队带来压力.开发人员必须使用微服务已满足应用的可移植性,同时运营商管理了极其庞大的混合和多云 ...

  9. Result工具类

    使用ajax请求访问时,可以用此工具类作为返回对象,也方便统一代码规范 package com.ujia.entity; import java.io.Serializable; public cla ...

  10. python 二维数组键盘输入

    m = int(input()) grid = [[] for i in range(m)] for i in range(m): line = input().split(' ') for j in ...