摘要:
"LOJ" 这个题目挺有意思的,参考了一下题解写的。 设$fir[i]$表示颜色$i$第一次出现的位置,$ed[i]$表示颜色$i$最后一次出现的位置。 首先肯定可以转化为求区间$[l,r]$使得$fir[i]\geq l, ed[i]\leq r,i\in [l,r]$的个数 然后可以考虑枚举其中 阅读全文
摘要:
"LOJ" 显然可以想到二分答案。现在考虑如何$check$ 容易发现,假设考虑完前$i 1$个位置,对于位置$i$,我们肯定需要选择经过它的右端点尽量大的区间。 这就可以用一个堆来维护一下。 然后我们还需要知道每个位置被覆盖了多少次。这就再写颗线段树就行了。 代码: 阅读全文
摘要:
题意简述:给你一颗$n$个点的树,问你至少需要加几条边,可以使得这棵树删去任意一条边后依然联通。并给出一种方案。 很显然可以转化为对于树的任意一颗子树,都需要连一条边到其他子树,显然连叶子节点是最优的。 考虑这样一种连边方案:设一共$k$个叶子节点,按$dfs$序排序,第$i$个叶子节点连向第$i+ 阅读全文