摘要: 题目链接:https://www.luogu.org/problem/show?pid=1848 题目要求书必须按顺序放,其实就是要求是连续的一段。于是就有DP方程$$f[i]=min\{f[j]+max\{h_k\}\}$$其中的k以及j的关系应该满足$$\sum_{k=j+1}^iw_k<=L$ 阅读全文
posted @ 2017-09-07 21:08 halfrot 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1025 题目中的排数就是多少次回到原来的序列。很显然对于题目所描述的任意一种对应法则,其中一定有一个或者多个循环节。 设有$m$个循环节,每个循环节的大小为$A_i$,则回到最开始的序列需要置 阅读全文
posted @ 2017-09-06 21:43 halfrot 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1024 直接xjb搜索。 阅读全文
posted @ 2017-09-06 21:13 halfrot 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2002 建图,每次往后面跳就往目标位置连边,将跳出界的点设为同一个点。对于修改操作发现可以用LCT维护图的连通性,然后用size域维护跳的点的次数就行了。 阅读全文
posted @ 2017-09-05 21:46 halfrot 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1085 大的思路是迭代加深搜索,我们加一个明显的剪枝,当棋盘中位置不对的骑士的数目加上已经走的步数大于了限制的深度,就直接结束,然后……xjb搜就行了。 阅读全文
posted @ 2017-09-05 20:56 halfrot 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1004 首先贴几个群论相关定义和引理。 群:G是一个集合,*是定义在这个集合上的一个运算。 如果满足以下性质,那么(G, *)是一个群。 1)封闭性,对于任意 a, b 属于 G, a * b 阅读全文
posted @ 2017-09-05 20:03 halfrot 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1046 我们先求出对于每一个数字作为开头的LCS的长度f[i],最长的f[i]为mxlen。 对于每一个询问,我们选取答案,从第1个开始选。假设当前已经选到了第x个答案,我们只需要一直往后面找 阅读全文
posted @ 2017-09-04 21:31 halfrot 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1016 做这道题之前需要知道一些结论,同一个图的最小生成树中相同权值的边的个数是不会变的,如果有一种方案中权值为666的边有233条,那么另一种方案一定也是这样,并且它们在图中对连通性的影响也 阅读全文
posted @ 2017-09-04 20:35 halfrot 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1031 求字符串排名的问题,直接上后缀数组。 由于这个字符串是环形的,我们把它倍增一下就好了。然后发现其实就是求sa数组裸题,后缀长度大于等于len的后缀就可以对应原来的一种字符串,直接输出就 阅读全文
posted @ 2017-09-04 19:56 halfrot 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 现在来看倍增算法是非常好理解的。 直接放一篇blog写的挺好的:http://www.cnblogs.com/zinthos/p/3899725.html 虽然理论复杂度是$O(nlogn)$,但其中各种细节优化确实十分有必要的。 给自己放一个倍增的模板,有空填DC3的坑 阅读全文
posted @ 2017-09-04 18:35 halfrot 阅读(122) 评论(0) 推荐(0) 编辑