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

题面

BZOJ

题解

把前缀哈希一下,后缀哈希一下

枚举哪个位置不选,然后检查一下相同就行了。。

为什么我的\(Hash\)老是\(WA\),

为什么\(Zsy\)一遍\(AC\)。、。

无奈啊。。

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<set>
#include<map>
#include<vector>
#include<queue>
using namespace std;
#define ull unsigned long long
#define RG register
int n,L,ans,sig;
ull pre[30003][222],suf[30003][222],Suf[30003][222],S[30003];
char T[222];
int main()
{
scanf("%d%d%d",&n,&L,&sig);
for(int i=1;i<=n;++i)
{
scanf("%s",T+1);
for(int j=1;j<=L;++j)pre[i][j]=pre[i][j-1]*19260817+T[j];
for(int j=L;j>=1;--j)suf[i][j]=suf[i][j+1]*998244353+T[j];
for(int j=L;j>=1;--j)Suf[i][j]=Suf[i][j+1]*1000000007+T[j];
}
for(int i=1;i<=L;++i)
{
for(int j=1;j<=n;++j)S[j]=pre[j][i-1]*1007+suf[j][i+1]*197+Suf[j][i+1];
sort(&S[1],&S[n+1]);
for(int j=2,s=1;j<=n;++j)
if(S[j]==S[j-1])ans+=s++;
else s=1;
}
printf("%d\n",ans);
return 0;
}

【BZOJ3555】企鹅QQ(字符串哈希)的更多相关文章

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

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

  2. Luogu P4503 [CTSC2014]企鹅QQ(字符串哈希)

    P4503 [CTSC2014]企鹅QQ 题面 题目背景 \(PenguinQQ\) 是中国最大.最具影响力的 \(SNS(Social Networking Services)\) 网站,以实名制为 ...

  3. bzoj3555 [Ctsc2014]企鹅QQ——字符串哈希

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3555 很久以前就讲过哈希,但一直没写过题,所以这是哈希第一题! 哈希就是把一个字符串映射成一 ...

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

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

  5. [bzoj3555]企鹅QQ(hash)

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

  6. bzoj3555 企鹅QQ

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

  7. 【bzoj3555】[Ctsc2014]企鹅QQ 简单哈希

    传送门 题目分析 题意即求有多少对字符串只相差一个字符,枚举删除每个字符后的哈希, 看有多少相等即可. 比如有如下字符串:$Sd123$,其中S部分的哈希值为H,删除的是d,则原字符串的哈希值为$$( ...

  8. 【bzoj3555】[Ctsc2014]企鹅QQ 字符串hash

    题目描述 PenguinQQ是中国最大.最具影响力的SNS(Social Networking Services)网站,以实名制为基础,为用户提供日志.群.即时通讯.相册.集市等丰富强大的互联网功能体 ...

  9. p4503&bzoj3555 企鹅QQ

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

  10. 【BZOJ 3555】 [Ctsc2014]企鹅QQ(哈希)

    Description PenguinQQ是中国最大.最具影响力的SNS(Social Networking Services)网站,以实名制为基础,为用户提供日志.群.即时通讯.相册.集市等丰富强大 ...

随机推荐

  1. EF中一对多的自反关系设置

            对于一般的目录树,通常就是一对多的自反关系,一般会有一个PID,引用于这个ID,实体类代码类似于下: public partial class Catalog { public Cat ...

  2. Spark 序列化问题

    在Spark应用开发中,很容易出现如下报错: org.apache.spark.SparkException: Task not serializable at org.apache.spark.ut ...

  3. Unity CombineTexture

    public Texture2D CombineTexture(Texture2D background, Texture2D top) { int width = background.width; ...

  4. Linux权限管理命令

    查询linux命令用法网址:cht.sh 1.chmod——改变文件/目录的权限 用法: ① chmod [{ugoa}{+-=}{rwx}] [文件/目录]   ---给文件的(用户.所属组.其他人 ...

  5. 【SpringBoot】集成 Web Flux

    前言: 必需学会SpringBoot基础知识 简介: Takes an opinionated view of building production-ready Spring application ...

  6. 微信 msg_sec_check接口PHP 调用

    $checkContent = '要检测的内容'; $url = 'https://api.weixin.qq.com/wxa/msg_sec_check?access_token='. $res[& ...

  7. 《图解 HTTP 》阅读 —— 第三章

    第3章 HTTP 报文内的 HTTP 信息 用于 HTTP 协议交互的信息称为 HTTP 报文:请求报文和响应报文 HTTP 在传输数据时通过编码可以提升速率,能有效的处理大量数据,但是会消耗更多的C ...

  8. 【坚持】Selenium+Python学习之从读懂代码开始 DAY1

    学习Selenium+Python已经好几个月了,但越学发现不懂的东西越多. 感觉最大的问题还是在于基础不扎实,决定从头开始,每天坚持读代码,写代码. 相信量变一定能到质变!!! 2018/05/09 ...

  9. smartgit 过期

    进入到安装目录把Setting.xml 文件删除然后,再次打开就可以正常使用了.

  10. 多重共性和VIF检验

    图片来源https://wenku.baidu.com/view/7008df8383d049649b66581a.html 和 https://wenku.baidu.com/view/6acdf9 ...