11 2019 档案
摘要:"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+
阅读全文
摘要:"LOJ" 我们发现假如第一步选择位置$i$,那么系统操作者能把$\rm Byteasar$限制成经过$i$的长度为$\lceil \frac{n}{2} \rceil$的任意一个序列。那么系统操作者肯定会选择价值最小的那个。 现在问题就是求出经过每个位置的长度为$\lceil \frac{n}{2
阅读全文
摘要:"LOj" 显然题目可以转化为一个二分图。 先找一下是否存在度数为$0$的点,存在则无解、 然后把度数为$1$的点拎出来,这些点的选择是唯一的。 这些可以用拓扑排序处理一下。 接下来就剩下了一堆环。 然后因为不能选择相邻的边,一个环内有两种选法,设为$A$和$B$。 考虑先选出和比较小的那个,假设是
阅读全文