08 2017 档案

摘要:题目链接:http://www.spoj.com/problems/NSUBSTR/ 这道题在clj的ppt里面有讲到。 对于每一个状态s,可以只考虑它表示的串里的的最长串,这样它的出现次数就是$|right(s)|$。最后用每一个f[len]去更新f[len-1]的答案就好了。 我们来看一看这样做 阅读全文
posted @ 2017-08-30 12:04 halfrot 阅读(153) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1026 数位DP,一切都是套路。 首先预处理,然后把最高位区间算满的先加上,然后把不足最高位的加上,然后再来按每一位计算。 数位DP的题都是这样做的。 阅读全文
posted @ 2017-08-29 20:42 halfrot 阅读(196) 评论(0) 推荐(0)
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1008 正着直接算有点难,我们考虑反着来,用全集减补集。 总的方案数为$m^n$。第一个人有$m$种可能,第二个人有$m-1$种可能,第三个人有$m-1$种可能……发现补集就是$m*(m-1)^{n-1 阅读全文
posted @ 2017-08-29 19:36 halfrot 阅读(180) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1012 没什么好说的……线段树维护区间就行了。第一次居然写错了,真丢人。 阅读全文
posted @ 2017-08-29 19:17 halfrot 阅读(139) 评论(0) 推荐(0)
摘要:题目链接:http://www.spoj.com/problems/LCS2/ 其实两个串的LCS会了,多个串的LCS也就差不多了。 我们先用一个串建立后缀自动机,然后其它的串在上面跑。跑的时候算出每一个位置能往左扩展的最大长度也就是LCS。 于是对于每一个状态维护mx数组,表示当前串与SAM在此状 阅读全文
posted @ 2017-08-29 15:50 halfrot 阅读(691) 评论(0) 推荐(1)
摘要:题目链接:http://www.spoj.com/problems/LCS/ 题意如题目,求两个串的最大公共子串LCS。 首先对其中一个字符串A建立SAM,然后用另一个字符串B在上面跑。 用一个变量Lcs来记录当前答案,如果能转移到下一个状态则Lcs++。 若不能转移说明需要重新选择状态,则不断地跳 阅读全文
posted @ 2017-08-28 21:08 halfrot 阅读(644) 评论(0) 推荐(1)
摘要:题目链接:http://poj.org/problem?id=1509 题目意思就是求循环字符串的最小表示。 我们用字符串S+S建立SAM,然后从root开始走n步,每次尽量选最小的。 由于 SAM 可以接受 SS 所有的子串,而字典序最小的字符串也必定是 SS 的子串,因此按照上面的规则移动就可以 阅读全文
posted @ 2017-08-28 19:34 halfrot 阅读(296) 评论(0) 推荐(0)
摘要:高能预警!!!这只是一篇蒟蒻的学习笔记!!! 陈立杰的ppt:https://wenku.baidu.com/view/90f22eec551810a6f4248606.html 更多:http://blog.csdn.net/wmdcstdio/article/details/44780707 h 阅读全文
posted @ 2017-08-28 16:00 halfrot 阅读(171) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4709 我好弱啊QAQ,网上dalao们的题解根本看不懂啊,折腾了几个小时,有一点明白了。 首先要把朴素dp方程退出来。 ①题目中说每次从序列的左右选一端取,但是如果你真的照着题目说的这样做我 阅读全文
posted @ 2017-08-27 16:59 halfrot 阅读(1679) 评论(0) 推荐(1)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1014 先考虑如果没有修改操作和插入操作,是一个静态的字符串,我们可以怎样快速求得题目中的LCQ。 两个字符串判等很容易想到hash。于是我们二分答案并二分判断,就可以在$log_n$时间内得 阅读全文
posted @ 2017-08-27 13:25 halfrot 阅读(166) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3156 裸的斜率优化,记一下以后复习用吧。 要直接dp很明显应该要倒着dp,很不爽,先把它倒过来。 令$sum[j]=\sum_{i=1}^ji$,于是我们首先推出这样一个方程$$f[i]=m 阅读全文
posted @ 2017-08-27 12:52 halfrot 阅读(259) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4815 题目中所给条件中的$(a,a+b)$和$(a,b)$的关系很瞩目。 然后大家都知道$(a,b)=(a,a-b)=(a,a+b)$,于是观察(猜)一下这个表格与gcd的关系。 可以发现每 阅读全文
posted @ 2017-08-22 21:36 halfrot 阅读(208) 评论(0) 推荐(0)
摘要:首先看一个简单的东西。 若$gcd(i,n)=1$,则有$gcd(n-i,n)=1$ 于是在小于$n$且与$n$互质的数中,$i$与$n-i$总是成对存在,且相加等于$n$。 考虑$i=n-i$的特殊情况,此时$n=2*i$,由$gcd(i,n)=1$,得$n=2$。此时手动计算$ans=1$。 因 阅读全文
posted @ 2017-08-22 19:12 halfrot 阅读(1703) 评论(0) 推荐(1)