11 2019 档案
摘要:"LOJ" 这个题目挺有意思的,参考了一下题解写的。 设fir[i]表示颜色i第一次出现的位置,ed[i]表示颜色i最后一次出现的位置。 首先肯定可以转化为求区间[l,r]使得fir[i]≥l,ed[i]≤r,i∈[l,r]的个数 然后可以考虑枚举其中
阅读全文
摘要:"LOJ" 显然可以想到二分答案。现在考虑如何check 容易发现,假设考虑完前i1个位置,对于位置i,我们肯定需要选择经过它的右端点尽量大的区间。 这就可以用一个堆来维护一下。 然后我们还需要知道每个位置被覆盖了多少次。这就再写颗线段树就行了。 代码:
阅读全文
摘要:题意简述:给你一颗n个点的树,问你至少需要加几条边,可以使得这棵树删去任意一条边后依然联通。并给出一种方案。 很显然可以转化为对于树的任意一颗子树,都需要连一条边到其他子树,显然连叶子节点是最优的。 考虑这样一种连边方案:设一共k个叶子节点,按dfs序排序,第i个叶子节点连向第$i+
阅读全文
摘要:"LOJ" 我们发现假如第一步选择位置i,那么系统操作者能把Byteasar限制成经过i的长度为⌈n2⌉的任意一个序列。那么系统操作者肯定会选择价值最小的那个。 现在问题就是求出经过每个位置的长度为$\lceil \frac{n}{2
阅读全文
摘要:"LOj" 显然题目可以转化为一个二分图。 先找一下是否存在度数为0的点,存在则无解、 然后把度数为1的点拎出来,这些点的选择是唯一的。 这些可以用拓扑排序处理一下。 接下来就剩下了一堆环。 然后因为不能选择相邻的边,一个环内有两种选法,设为A和B。 考虑先选出和比较小的那个,假设是
阅读全文