NOIP 第十一次

A

直接造就完了……实在不行看看样例

B

最大值最小,先二分答案 $k$。

问题变为每条边 $(u_i,v_i,w_i)$ 只能在 $\left\lfloor\dfrac k{w_i}\right\rfloor$ 时刻之前走,问有没有 $1\to n$ 的路径,直接 BFS 即可。

C

sto APJ orz

先选上最大生成树的所有非树边,然后选上每个偶数度数点到其最大生成树上父亲的边,

此时 $n$ 为偶数则度数全是奇数(直接做完了),$n$ 为奇数则剩一个点度数为偶数。

下面只考虑 $n$ 为奇数。

把“然后”一步连上的这些树边断开,按出现顺序依次贪心地决定每条树边选不选。

定义原图中度数为偶数的点为黑点,建一张新图,新图中 $(u,v)$ 存在当且仅当原图中 $(u,v)$ 没被选,初始新图就是最大生成树。

有牛子结论:

  • 贪心到第 $i$ 条树边时,若新图中仅有一个连通块有奇数个黑点,则 $i$ 及之前的贪心方案是合法的。

牛子证明:

  • 把同一连通块内的黑点两两配对,flip 每对黑点间路径上的边的选择情况,这样一定可以构造出剩一个点度数为偶数的方案,
    而这种方案仅在当前贪心方案的基础上多选了一些边,而 $[1,i]$ 的字典序已是极大的,所以多选的边只可能在 $i$ 后,
    也就是说,以当前贪心方案为前缀,仅改变之后的边的选择方案,可以构造出一组合法方案。

于是按出现顺序,用上面的结论,依次考虑每条边是否能选(在新图中断掉)。

断边不太好维护,所以可以用可撤销并查集反向加边,然后依次撤销即可。

D

先咕。

posted @ 2023-11-05 20:59  5k_sync_closer  阅读(1)  评论(0编辑  收藏  举报  来源