上一页 1 ··· 6 7 8 9 10 11 12 下一页
摘要: 懒得自己写了,转载一篇:本家 0. 问题定义 最长回文子串问题:给定一个字符串,求它的最长回文子串长度。 如果一个字符串正着读和反着读是一样的,那它就是回文串。下面是一些回文串的实例: 1. Brute-force 解法 对于最长回文子串问题,最简单粗暴的办法是:找到字符串的所有子串,遍历每一个子串 阅读全文
posted @ 2018-01-16 20:42 泪寒之雪 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 我们可以把S与T每隔一位插入,构成一个新串A 首先,我们发现题目告诉我们旋转非交,那么事情就很好办了。 T中的字母有两种状态,一种是未翻转,一种是翻转,不翻转的S与T在这一位上一模一样,我们不去管它。 至于翻转的,就是一个回文串。 那么我们PAM(回文自动机)跑起来,成功滑稽。不会PAM的同学点这里 阅读全文
posted @ 2018-01-16 19:38 泪寒之雪 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 一道数论题。这很像BZOJ的一道题,好像是P^P^P^P......(无穷多个P)mod M的值。 我们知道当模数P是质数的时候,我们有 X^i=X^(i % p-1) (mod p) 我们不妨对其扩展,得到 X^i=X^(i% φ(p)+ φ(p))(mod p)(i>φ(p)) 我们又可证φ(φ 阅读全文
posted @ 2018-01-16 19:28 泪寒之雪 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 我们发现N很小,那么我们可以爆搜每个人取或不取,最后统计答案。 阅读全文
posted @ 2018-01-16 19:15 泪寒之雪 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 题目大意:老师要排座位,要求每个人的四周的邻居不是原来的,求方案 题目链接 SOL :min(n,m)<4 就暴搜,否则就构造。 阅读全文
posted @ 2018-01-16 19:13 泪寒之雪 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 一道英语阅读理解,满满的都是套路,欺负我英文不好(自己去翻译吧,我就不写中文了) 原题链接 我们模拟一遍就好了,如果"!"把句子中没出现的字母排除,"."就排除句子里出现的。 注意答案是从已知那个字母开始统计的。 #include<bits/stdc++.h> using namespace std 阅读全文
posted @ 2018-01-16 19:10 泪寒之雪 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 定义: 在mod P 域中,若 (a^i)!=(a^j) (0<=i,j<φ(p)) 则称其a为P的原根。 说人话就是: 如果g是P的原根,那么g的(1…P-1)次幂mod P的结果一定互不相同。 这个很重要,说明 a 是 一个群的生成元 那么我们如何求原根呢? 我们求原根,往往只要找一个就行了,那 阅读全文
posted @ 2018-01-15 21:10 泪寒之雪 阅读(517) 评论(0) 推荐(0) 编辑
摘要: A: 我们发现2^n增长很快,n>30时便没有贡献了。 B 我们dfs一边就好了。 C : 我们采取贪心的策略,我们先用A[i]去更新其后面的数据: 举个例子 a[1]=10 ,a[2]=100,那么我们发现a[2]永远比a[1] 劣,那么我们用a[1]的两倍更新a[2]. 我们再从高位向下做,我们 阅读全文
posted @ 2018-01-15 20:22 泪寒之雪 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给你一个子串,其在2^k方的十进制表示中出现过(后100位),让我们求k(k<10^50) 原题链接 SOL : 设a长度为n。 可以尝试构造一个数b,使得a⋅10^m+b成为其后缀。 令 x= a⋅10^m+b,则x=2^k(mod 10^(n+m)) 我们发现 2^(n+m)|x,且 阅读全文
posted @ 2018-01-15 20:06 泪寒之雪 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 原题这里 这题要用到树链剖分 不会树剖的同学点这里 把边权变为其dep比较深的那个点的点权,然后树剖(注意LCA的权值是不能算进去的。) //第一次树剖套线段树,以前都是套树状数组的。 阅读全文
posted @ 2018-01-15 13:36 泪寒之雪 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 点分治用来统计树上路径。 点分治的核心是分治。 我们选一个点,统计过该点的路径。然后分治每一颗子树。 我们如果选择重心的话,可以证明,最多递归logn次。 因为选择重心,我们每一次递归的子树节点数都要小于原树的一半,所以log级别。 那么我们如果统计过一点的时间是T(x),则总时间为O(logn*T 阅读全文
posted @ 2018-01-13 11:13 泪寒之雪 阅读(291) 评论(2) 推荐(0) 编辑
摘要: 题目点这里 我们发现这道题可以用后缀自动机做(不会的点这里) 我们发现后缀自动机每条路径代表一条子串,那么我们就DP: 写法一 我们可以把DP方程化简一下,得到写法二 阅读全文
posted @ 2018-01-12 21:17 泪寒之雪 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 后缀自动机(不会点这里) 加入节点的时候记录一下这个点是不是代表后缀。建完以后重建一下后缀树在上面dfs就可以了= =(注意重建的时候是字典序排序,不是拓扑序 由于空间的关系,用map 阅读全文
posted @ 2018-01-12 17:39 泪寒之雪 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 后缀自动机,是一种线性的字符串处理工具: 引用一下陈立杰的PPT 有限状态自动机的功能是识别字符串,令一个自动机A,若它能识别字符串S,就记为A(S)=True,否则A(S)=False。 自动机由五个部分组成,alpha:字符集,state:状态集合,init:初始状态,end:结束状态集合,tr 阅读全文
posted @ 2018-01-12 15:45 泪寒之雪 阅读(2589) 评论(1) 推荐(0) 编辑
摘要: SOL:以第一个串为模板建立后缀自动机,把后面几个串在SAM上跑一下。求max即可。 不会后缀自动机的同学点这里 阅读全文
posted @ 2018-01-12 14:07 泪寒之雪 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 我们知道有可持久化线段树,那么我们自然也想到平衡树是否也能可持久化,答案是肯定的。 现在我们给出一种数据结构:Treap。 不会的点这里 我们现在发现,旋转是一种很难持久化的操作,那么我们就要尽量避免旋转操作,我们引入以下2个操作: 1.spilt 对于一个Treap,我们需要把它按照第K位拆分,那 阅读全文
posted @ 2018-01-11 15:57 泪寒之雪 阅读(1221) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 多组数据,给你一张真值表,求字典序最小的表达式。(真值表只有3个变量x,y,z) 我们发现答案不会很长,而且我们只有 256 种不同的输入,那么我们就可以打表。 我们怎么打表呢?我们发现答案不会很长,那么我们搜索表达式至len为20位,再加上最优性剪枝。跑个3min就出来了。 (看起来有 阅读全文
posted @ 2018-01-11 13:44 泪寒之雪 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 给你X门学科,每一门学科有两个参数,ti和·ai,我们想通过一门学科只有满足以下2个条件: 1.其尝试考试的simga ti <=T; 2.其尝试考试的次数<=ai 求最多通过的学科数,并输出方案。 SOL: 我们发现如果我们有考试却没有通过,我们还不如不考。 我们又发现其满足二分性质。 阅读全文
posted @ 2018-01-10 21:16 泪寒之雪 阅读(287) 评论(0) 推荐(0) 编辑
摘要: SOL 奇奇怪怪的题目,我们发现我们的值对答案的贡献,发现其的大于281的质因数对答案无贡献,那么我们可以用一个60大小的数组来表示一个数。一个区间的答案就是其积的欧拉函数值,那么我们用树状数组维护。(常数有点大) 阅读全文
posted @ 2018-01-10 19:59 泪寒之雪 阅读(222) 评论(0) 推荐(0) 编辑
摘要: SOL: 这是最难的一道题。我一脸蒙蔽。 首先我们发现正面做这道题很难。那么我们求答案的补集。 我们把图缩点后,若其为点数大于1的DAG,那么我们就认为其不合法。 利用容斥原理,DAG图的特征是有至少一个入度为0的点并且这个图不止一个点(这里及以下所说的点都是指求强连通后的 点),就根据这个进行容斥 阅读全文
posted @ 2018-01-10 19:55 泪寒之雪 阅读(232) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 下一页