![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
字符串
AcerMo
一只辣鸡大学生
展开
-
[Vjudge]叠筐
题目描述如图题目比较好理解,只是需要一些细节处理这题的基本思路为,逐层给字符串数组赋值,定义一个0/1变量,取值不同时赋值不同,从最外层开始向内循环即可处理的特殊情况为:1.n=1,直接输出,而不是输出为空2.行末没有多余空行代码//By AcerMo#include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>u.原创 2021-11-10 20:15:20 · 146 阅读 · 0 评论 -
纪中OJ 5178 【NOIP2017提高组模拟6.28】So many prefix?
KMP+前缀和考场上没想到,打了一个AC自动机,水到了27.3分(十一组数据)然后我们来看正解首先显然的是从第一位开始,每个偶数位对应的前缀一定是一个答案,那我们记f[i]=1(i%2==0)然后我们考虑KMP的过程,后面串匹配前缀,所以如果他能匹配到一个偶数,也就是说nxt[j]=i(i%2==0),那么我们就可以发现这个字符串对应的肯定是一个长度为偶数的前缀,那么直接累加就好了...原创 2018-08-12 12:46:29 · 444 阅读 · 0 评论 -
BZOJ2084&&洛谷P3501 [POI2010]ANT-Antisymmetry
manacher好题直接套一个manacher就好了首先可以肯定,满足题意的串都是偶长度的,因为若是奇长度,那么中间位置必然和原串相反还有就是匹配的时候要用0和1匹配,#和#匹配代码//By AcerMo #include<cmath>#include<cstdio>#include<cstring>#include<iost...原创 2018-08-15 10:06:46 · 262 阅读 · 0 评论 -
BZOJ1511&&洛谷P3435 [POI2006]OKR-Periods of Words
题意就是把每个子串的最大周期加起来不难想到 KMP,nxt数组处理的是最近的位置,也就是最短的周期,怎么弄到最大周期呢?不难发现,沿着nxt往上跳,跳到不能跳之后,就是最大周期代码//By AcerMo#include<cmath>#include<cstdio> #include<cstring>#include<iostream&...原创 2018-09-06 19:33:46 · 173 阅读 · 0 评论 -
Codeforces17EPalisection
manacher+差分我们定义l[i]为以i开头的回文串个数,r[i]为以i结尾的回文串个数,于是我们发现,对于一个点i,∑k=1i−1r[k]∗l[i]\sum_{k=1}^{i-1}r[k]*l[i]∑k=1i−1r[k]∗l[i]就是i之前不与以i开头的回文串相交的个数,于是我们得到所有不相交的回文串个数为∑i=1n(l[i]∗∑k=1i−1r[k])\sum_{i=1}^n(l[i]*...原创 2018-09-21 10:00:48 · 327 阅读 · 0 评论 -
字符串哈希[hash模板]
有这么一类神奇的问题,给你一堆字符串,然后问你有多少本质不同的字符串~~ 或许有头铁的同志可以开一个map ~~所以有了hash大法大致思想我们判断两个字符串相等,无非就是判断他们每一位是不是相等,但是如果让你判断两个数字是不是相等,是不是就简单了许多呢?答案是显然的,hash的大致思想也在这里,把字符串表示成一个数字,然后判断是不是想等,然后于是同学们有疑问了,"怎么转成数字,听着容...原创 2018-10-08 09:24:42 · 536 阅读 · 0 评论 -
洛谷P4503 [CTSC2014]企鹅QQ
某种神奇的HASH这个hash貌似是叫RK-Hash,和普通的hash不一样的是他可以O(1)的计算字串的hash值,操作上也有很大区别操作?普通的hash是一次计算,最后只保留了一个字符串的hash值,但是这种hash是将每个串的每一个前缀的hash存起来,也就是说存到一个二维数组里,hsh[i][k]表示第i个串到第k位时的hash值,看起来没有什么用,但是看下面这个神奇操作:给定两个串...原创 2018-10-08 19:45:01 · 229 阅读 · 0 评论