摘要: 本来想直接上权值线段树维护区间最值,不过可以用双指针法,就使问题变得简洁。Code:#includeusing namespace std;const int maxn = 100000 + 5;int ans[maxn], a[maxn], b[maxn]... 阅读全文
posted @ 2018-10-09 22:18 EM-LGH 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 题意:给定一棵树,每次可以拆掉一个树上度数为偶数的点,拆掉该点后,与该点所连的所有边都会被删掉。问,是否有一种删点顺序可以删掉所有的点。如果有,则输出任意一组解。数据范围:线性做法 O(n)O(n)O(n)不妨从叶子节点开始考虑问题。不难证明,距叶子节点最近... 阅读全文
posted @ 2018-10-09 18:55 EM-LGH 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 不难发现,每次询问结果一定是 (i,n)(i,n)(i,n), 而 iii 出现的次数恰好是 iii 到 i′i'i′ 的距离(i′i'i′ 是第一个不与 iii 相等的数)。我们可以将这颗树构造成一条链,然后就 AC 了。Code:#... 阅读全文
posted @ 2018-10-09 16:25 EM-LGH 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 分治线段树,其实就是将标记永久化,到最后再统一下传所有标记。至于先后顺序,可以给每个节点开一个时间戳。一般地,分治线段树用于离线,只查询一次答案的题目。本题中,标记要被下传 222 次。Code:#include#include#includeusing n... 阅读全文
posted @ 2018-10-09 15:57 EM-LGH 阅读(154) 评论(0) 推荐(0) 编辑