摘要: 每个植物向它能保护的植物连边,矩阵中每个点向它右边相邻的点连边。 用拓扑排序去除相互保护的植物所成的环,发现将剩余代表保护的边倒置后,答案即为最大权闭合子图。 代码如下。 阅读全文
posted @ 2019-05-11 10:42 小塘一点空明 阅读(144) 评论(0) 推荐(0) 编辑
摘要: (1)网络流的各种姿势 (2)生成函数/卷积/多项式算法的优化 (3)一些特殊的数据结构 (4)后缀数组/自动机/平衡树 (5)各种dp及优化 (6)边分治等树上操作 阅读全文
posted @ 2019-05-09 13:08 小塘一点空明 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 题意:给出n个闭区间,从每个区间取一个整数,或者取0,要求非零数严格递增,问方案数。 发现N<=500,那么划分出的区间是一个比较小的数。 于是我们离散化区间,题目给出闭区间,转化成一个左闭右开区间。 定义f(i,j)为第i所学校最后参赛,且所选区间在第j个的方案数。 这时候前面的每个学校都分为两种 阅读全文
posted @ 2019-05-09 13:00 小塘一点空明 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 题意:可以进行区间间互相连边与单点连边,求从某起点到所有点的最短距离。 先离线弄出树的形态,并保存可行的区间操作。 然后就是喜闻乐见的树剖+线段树优化了。 然而,毒瘤出题人把树剖卡成了不会tle便会mle。 我会说我考试时被卡成傻逼了么 于是预处理倍增进行连边即可, 然后发现BZOJ4699具有90 阅读全文
posted @ 2019-05-08 12:56 小塘一点空明 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 显然任意一种doge都只会单向行走且最多使用一次。 假设p<=√n,那么总状态不超过n√n; 假设p>√n,因为任意一个doge行走不超过n/p<√n步,总状态不超过m√n。 于是暴力bfs,bitset判重即可。 代码如下 但不知为何此题BZOJ上的数据有毒,明明UOJ上的强化数据都能轻松通过,希 阅读全文
posted @ 2019-05-08 09:49 小塘一点空明 阅读(234) 评论(1) 推荐(0) 编辑
摘要: 两个l,r边界转化成四个前缀和式子相加的总和,莫队维护即可。 阅读全文
posted @ 2019-05-07 21:11 小塘一点空明 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 这题非常显然可以用线段树+拓排水过去,但是稍微看了下第一名的时间,非常显然有更优的建法。 发现轰炸到的区间一定是连续的,于是每个点只要让左右能炸到它的最近的点向它连边就行了,单调栈解决。 然后缩点加拓排。交上去发现还是慢了不少,发现前几都用基数排序优化了下,不过本人比较懒,还是鸽了。 代码如下。 阅读全文
posted @ 2019-05-07 18:44 小塘一点空明 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 线段树优化建边的板子题 注意点到区间的连边和区间到点的连边需要两颗线段树。 点到区间连边时,由点指向区间,区间内部要从当前层向下连边,以保证点能到达区间内的每个点。 区间到点连边时,有区间指向点,区间内部要从当前层向上两边,以保证点能通过覆盖它的区间到达它能到达的点。 代码如下。 阅读全文
posted @ 2019-05-07 16:08 小塘一点空明 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 非常好的二进制dp题 参考了这位大佬的思路:https://www.cnblogs.com/zbtrs/p/8495170.html 阅读全文
posted @ 2019-05-07 15:28 小塘一点空明 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 这是最初的开始,也是最后的开始,愿在接下来的日子里,也能与君共勉。 阅读全文
posted @ 2019-05-07 15:00 小塘一点空明 阅读(115) 评论(1) 推荐(0) 编辑