哈希
文章平均质量分 76
ez_lcw
这个作者很懒,什么都没留下…
展开
-
【NOI2016】优秀的拆分(哈希,循环节,分段)
首先可以考虑求出 fif_ifi 表示结尾在第 iii 位的 AAAAAA 串的个数,gig_igi 表示开头在第 iii 位的 AAAAAA 串的个数。枚举 AAA 的长度 LLL,每 LLL 位放置一个关键点,那么 AAAAAA 必定经过恰好两个相邻的关键点。枚举两个相邻关键点 iii 和 i+Li+Li+L 并钦定 AAAAAA 经过这两个关键点,求出 prei,prei+Lpre_{i},pre_{i+L}prei,prei+L 的最长公共后缀 l1l_1l1 和 sufi+1,suf原创 2021-10-15 22:37:40 · 207 阅读 · 0 评论 -
【XSY3333】魔力(差分,哈希)
”每个字符出现次数相等“ 可以使用差分简化:记录数组 scs_csc 为字符 ccc 的出现次数减去字符 "a"\texttt{"a"}"a" 的出现次数,那么条件等价于 sss 数组全为 000。维护 sss 数组的前缀和,那么就是要找 (i,j)(i,j)(i,j) 使得 iii 处的 sss 的前缀和和 jjj 处的 sss 的前缀和相等。哈希即可。#include<bits/stdc++.h>#define N 100010#define fi first#define原创 2021-10-01 23:15:57 · 130 阅读 · 0 评论 -
【SDOI2017】硬币游戏(概率dp,高斯消元)
很神奇的一道题目。首先先举一个例子,等会结合着讲:只有两个人猜,猜的串分别是 A=TTHA=\texttt{TTH}A=TTH,B=HTTB=\texttt{HTT}B=HTT。设所有人猜的序列为 s1,s2,⋯ ,sns_1,s_2,\cdots,s_ns1,s2,⋯,sn。首先对于这种可能存在无限情况的题目,我们要学会归类:把所有可能的硬币序列(可能有无限种)分成两类:未终止状态和已终止状态。其中未终止状态表示:当前的硬币序列(设为 TTT)还没有胜者。即不存在任意一个 sis_isi原创 2020-12-04 20:12:37 · 350 阅读 · 0 评论 -
【loj2073】「JSOI2016」扭动的回文串(manacher+二分+双哈希)
manachermanachermanacher+二分+双哈希看见标题就不想做的童鞋可以看下面,让你更绝望。这题思路比较简单明了,我们就按照题目说的那样,设串TTT为答案,分两种情况讨论:当TTT是AAA串或BBB串中的一个回文串时,我们可以直接用manachermanachermanacher求得答案。当TTT是某一个回文的扭动字符串S(i,j,k)S(i,j,k)S(i,j,k...原创 2019-08-14 21:57:12 · 230 阅读 · 0 评论