摘要: 和这题有点类似。 首先不难发现,如果当前 check 的值不是 $n-1$ 的约数,一定无解。 然后进行一遍 DFS,每次用一个 multiset 保存子树传来的残链长度,然后贪心的配对。 最后如果 multiset 大小为空,给它的父亲返回 $0$。 否则如果大小为 $1$,给它的父亲返回这个值。 阅读全文
posted @ 2022-11-13 17:38 Kobe303 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 感觉和 COCI 2021-2022 #4 的 T4 一模一样。 显然考虑二分,设当前二分出的值是 $lim$。 那么就是称一个点能覆盖另一个点当且仅当它被选中且它与那个点的距离不大于 $lim$,要判断是否能选出不多于 $m$ 个点覆盖到所有的关键节点。 贪心策略依旧一样,如果 $i$ 作为被选择 阅读全文
posted @ 2022-11-13 14:32 Kobe303 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 首先将序列排序后去重。 $a\bmod b$ 可以表示成 $a-kb$ 的形式,其中 $k=\left \lfloor \dfrac{a}{b} \right \rfloor $。 于是发现 $kb\le a\lt (k+1)b$。 那么枚举 $b$,然后枚举 $(k+1)b$,二分出满足条件的最大 阅读全文
posted @ 2022-11-13 12:03 Kobe303 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 先判掉 $S,T$ 中某种字母出现次数不相等就输出 -1。 首先可以明确一个字母至多被操作一次。 考虑需要操作最少的字母等价于最多的字母不动。 发现不动的字母在 $S$ 中形成了子序列,在 $T$ 中形成了子串。 暴力枚举 $T$ 中子串的起始位置,暴力匹配,求最大值即可。 时间复杂度 $\math 阅读全文
posted @ 2022-11-13 09:25 Kobe303 阅读(14) 评论(0) 推荐(0) 编辑