摘要: 传送门 分析 我们考虑一个点有多少中情况可以被删除 我们发现只有删除它自己和删祖先共$dep_i$中 所以每个点的答案就是$\frac{1}{dep_i}$ 代码 阅读全文
posted @ 2019-03-27 11:23 水题收割者 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 传送门 分析 先进行缩点 之后从终点倒着跑 对于一组边如果有一个点不能到达则这组边直接废掉 最后看只用没废掉的边能不能从起点走到终点 代码 阅读全文
posted @ 2019-03-27 11:18 水题收割者 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 传送门 分析 首先把式子分开 我们知道lcp(i,j) = min(height[i+1],height[i+2],......,height[j]) 于是我们可以对于每个点求出它作为min的区间 于是左端点范围[le-1,i-1],右端点范围[i,ri] 这个题就解决了 代码 阅读全文
posted @ 2019-03-27 11:05 水题收割者 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 传送门 分析 首先我们不难求出一共有多少子串 之后我们只需要减掉重复个数即可 于是我们对于每个后缀减去它跟它前一名的最长公共前缀即可 代码 阅读全文
posted @ 2019-03-27 11:00 水题收割者 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 传送门 分析 将字符串复制一遍然后直接求sa即可 代码 阅读全文
posted @ 2019-03-27 10:47 水题收割者 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 传送门 分析 我们先考虑如果所有数都不相同我们应该怎么办 我们可以直接贪心的在每个点放可行的最大权值 但是题目要求可以有相同的数 我们可以考虑每次让当前节点可发且尽量大的同时给兄弟节点留的数尽量大 我们用线段树维护每个点比它大的点还剩几个 对于每个点要给它的子树预留足够的点即可 代码 阅读全文
posted @ 2019-03-27 10:41 水题收割者 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 传送门 分析 我们先跑一遍最小割 然后我们只留下没满流的边进行tarjan 如果一条边连两点不在一个联通块里则一定在一个方案里 如果起点和s在一个联通块中且终点和t在一个联通块中,那它一定是一个关键边 代码 阅读全文
posted @ 2019-03-27 10:28 水题收割者 阅读(201) 评论(0) 推荐(0) 编辑