上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 17 下一页
摘要: 题意 N<=4*105 题解 看起来一副不可做的样子是吧,,,如果只看前半部分的式子呢?再看看后半部分...发现 前缀异或一下 trie树上查一查 后缀异或一下 trie树上查一查F[i]表示r1<=i的最大值 G[i]为l2>=i的最大值 两部分相加 搞定~ 阅读全文
posted @ 2018-08-30 11:18 Xu-daxia 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 题意 N<=500000 题解 维护一个set可以用堆来解决。 阅读全文
posted @ 2018-08-29 16:25 Xu-daxia 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 题意 给你一个由小写拉丁字母组成的字符串 s。我们定义 s 的一个子串的存在值为这个子串在 s 中出现的次数乘以这个子串的长度。 对于给你的这个字符串 s,求所有回文子串中的最大存在值。 |S|<=300000 题解 裸的回文树,我们在每一个节点结束的最长回文后缀上记录一个cnt代表出现次数。 这个 阅读全文
posted @ 2018-08-29 14:58 Xu-daxia 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 题意 给一个长度为N的字符串S。对于一个字符串AB,如果A和B都是回文串,那么称AB是一个双回文串。求问S最长双回文子串的长度?N <= 100000 题解 正反双向构造回文自动机,得到某一个点为结尾和开始的最长回文串长度,记为f[i],g[i]; 答案就是f[i]+g[i+1]的最大值。 阅读全文
posted @ 2018-08-29 10:47 Xu-daxia 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 题意 给出一个长度为N的字符串S,问S中有多少个回文子串对(i,j)使得i,j在S中的位置相交?(N<=2*106) 题解 阅读全文
posted @ 2018-08-28 21:13 Xu-daxia 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 565: 最长双回文串 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 3343 Solved: 1692[Submit][Status][Discuss] Description 顺序和逆序读起来完全一样的串叫做回文串。比如acbca是回文串,而abc 阅读全文
posted @ 2018-08-28 16:38 Xu-daxia 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 3790: 神奇项链 Description 母亲节就要到了,小 H 准备送给她一个特殊的项链。这个项链可以看作一个用小写字 母组成的字符串,每个小写字母表示一种颜色。为了制作这个项链,小 H 购买了两个机器。第一个机器可以生成所有形式的回文串,第二个机器可以把两个回文串连接起来,而且第二个机器还有 阅读全文
posted @ 2018-08-28 11:24 Xu-daxia 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 题意 问边长为n的两个正方形中最大的相等子正方形。(n<=50) 题解 用到了二维hash,感觉和一维的不太一样。 对于列行有两个不同的进制数然后也是通过类似前缀和的方法差分出一个矩形的hash值 这样可以0(1)的算出一个正方形的hash值。 然后我们二分长度x,每一次遍历整个长度为x的子正方形n 阅读全文
posted @ 2018-08-28 09:19 Xu-daxia 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 题意 题解 考虑枚举每个位置,计算出在该位置上不同,其他位置上相同的字符串对数。考虑用字符串hash加密后,排序,看有多少个数字相同即可。这题难在卡常!不用自然溢出会T 阅读全文
posted @ 2018-08-24 22:28 Xu-daxia 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 题意 给你一个字符串,它是由某个字符串不断自我连接形成的。 但是这个字符串是不确定的,现在只想知道它的最短长度是多少. (n<=1000000) 题解 这种求最小循环节的题一般是KMP。 因为有一个很强的结论if(len%(len-nxt[len])==0)那这个字符串的最小环节为len-nxt[l 阅读全文
posted @ 2018-08-24 15:54 Xu-daxia 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 题意 题解 因为,一直用j=nxt[j]来遍历,可以遍历前i个字符所有相等的前后缀长度,所以有一个暴力的想法,就是对于每一个长度,开始遍历,记录长度小于i/2的相等的前后缀数量,最后累加即可。 但显然超时了。 换一种思路,其实我们要的只是长度小于i/2的相等的前后缀数量。 然后我们可以利用KMP的方 阅读全文
posted @ 2018-08-24 15:32 Xu-daxia 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 题意 最初,农夫约翰的每头奶牛每天生产G加仑的牛奶 (1≤G≤109)(1≤G≤10^9)(1≤G≤109) 。由于随着时间的推移,奶牛的产奶量可能会发生变化,农夫约翰决定定期对奶牛的产奶量进行测量,并将其记录在日志中。 他的日志中的记录如下: 35 1234 -2 14 2345 +3 第一个条目 阅读全文
posted @ 2018-08-24 14:26 Xu-daxia 阅读(449) 评论(0) 推荐(0) 编辑
摘要: 题意 给你n个串。问有多少长度为m的串使得这n个串至少在其中出现过一次。输出答案膜10007意义下的结果。 (n<=100,每个串的长度<=100) 题解 在AC自动机上跑DP。 用到一个容斥的思想,求至少出现过一次的次数就是,全部可能-一次都没出现的次数。 所以考虑dp,对于一个长度为i的串从i- 阅读全文
posted @ 2018-08-23 17:18 Xu-daxia 阅读(379) 评论(0) 推荐(1) 编辑
摘要: 题意 给出一个字符串问有多少长度,使这个长度的前缀等于这个长度的后缀。 n<=400000 题解 考虑nxt数组的意义。我们发现构建nxt数组时,一直跳nxt数组就是在枚举,所有前缀和后最相等的长度。 所以我们求出nxt数组,然后一直跳nxt[len]就好了。 阅读全文
posted @ 2018-08-22 11:39 Xu-daxia 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 题意 求最小循环节出现次数。 题解 循环节可以用KMP求。 有一个结论是如果(len%(len-nxt[len])==0)那么最小循环节长度为len-nxt[len] 那么最小的循环节出现次数就是len/(len-nxt[len]) 那我们怎么证明呢 (黑色的方框代表nxt数组最长相等的前缀和后缀的 阅读全文
posted @ 2018-08-22 09:35 Xu-daxia 阅读(147) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 17 下一页