随笔分类 - 题目来源-正睿体系
摘要:对 S 的长度为 x 的后缀,发现 x - h(x) 有两个很好的性质。(1) 单调不降。(2) 值域在 [-|T|, |T|] 这个很小的范围内。于是考虑对这个分段函数进行 DP。将函数的值域作为 DP 状态,位置 x 作为 DP 值。转移和朴素 DP 一样,分三种情况。DP 边界需要注意,细节挺妙。
阅读全文
摘要:把覆盖,转化成插入,由此可以得到一个O(n^2)的DP。观察DP转移,发现答案是一堆短多项式的乘积。一般做法是分治FFT,不过本题里可以用倍增+二项式定理去掉一个log。
阅读全文
摘要:正睿2019CSP赛前冲刺,大部分是戴大爷的题,质量很高,能学到一些有用的套路
阅读全文
摘要:把一个排列看成若干个环(i连向p[i])。每次操作,相当于拆掉一个环,或者合并两个环。把所有环,分成同色环和非同色环两类。非同色环,总能用环长-1次操作消掉。同色环可以和别的环合并,变成非同色环。这个过程需要贪心:每次合并两个出现次数最多的颜色的同色环。
阅读全文
摘要:考虑使用一个O(2^m*m)的状压DP解决这个问题。发现需要预处理出每个装修队集合,能装修的边集的并的大小。边集并,容斥一下,转化为求边集交。而边集交,只和点集交的大小有关。于是又转化为求点集交。考虑每个点的贡献,做高维后缀和即可。
阅读全文
摘要:提交答案题。造计算机!慢慢磨,慢慢想,考验优化和卡常的技巧,也可以帮助深刻理解位运算
阅读全文
摘要:每次把两个相邻、相等的字符删掉,判断一个串是否合法,就是看能不能删光。分治。只考虑要交换的两位置一个在[l,mid],一个在[mid+1,r]的情况。如果交换后合法,那么左、右两边分别操作后剩下的串应该是对称的。可以用哈希值来判断。枚举要交换的两个字符分别是什么。通过扫描+用栈维护,就可以求出左、右两边每个位置,在被修改后的哈希值。
阅读全文
该文被密码保护。
该文被密码保护。
该文被密码保护。
摘要:集合内两两距离小于等于x,等价于集合里深度最大的点,到所有其他点距离均小于等于x。把所有点按深度排序。依次枚举一个点作为深度最大的点,然后将它标记。我们每次要求所有已标记的点中到当前点距离小于等于x的点的数量。可以用点分树+树状数组统计。统计出这个后,做一遍FFT求出答案
阅读全文
摘要:选入了一些比较简单的题。太偏的和太难的,就不放进来啦~
阅读全文
该文被密码保护。