题解:CF1776M Parmigiana With Seafood

致谢
本文主要思路参考了这篇题解,并补充了最优结构中必含 \(n\) 的证明,在此表示感谢。

人生首黑!写篇题解祭一下。
超绝无敌螺旋升天找规律博弈题

显然答案具有单调性,考虑二分答案 \(mid\),对于 \(\ge mid\) 的点我们把它染成白色,\(\lt mid\) 的点我们把它染成黑色。

于是问题变成能不能保证先手可以取到一个白点。

考虑先后手的获胜条件是什么。

如果 \(n \equiv 0 \pmod 2\),那么先手必胜,因为一直取点后一定会留下一个白色节点,答案即为 \(n\)

接下来考虑 \(n \equiv 1 \pmod 2\) 的情况。先手操作时只要出现白色叶子节点就直接胜利,所以后手必须严防死守,不能让任何一个白点变成叶子。

考虑由一些白点构成的虚树。如果虚树里某个叶子是白的,我们就随便加一条以它为端点的边,这样一旦拆掉虚树上任意一个点,就会有一个白点变成叶子,先手就能赢。进一步,如果这个虚树的大小 \(sz_{tr}\) 为偶数,那么后手操作之后,先手必定能选到一个白色叶子,直接获胜。所以先手能不能赢,就看存不存在这样的虚树。

充分动用人类智慧,我们发现只有下面两种情况会搞出这种虚树:

  • 存在两个点 \((u,v)\),它们之间的距离是奇数(即 \(dis(u,v) \bmod2 = 1\))。此时答案就是 \(\min(u,v)\)
  • 存在三个点 \((u,v,w)\),它们的中心是 \(x\),并且 \(u,v,w\)\(x\) 的距离都是偶数。此时答案就是 \(\min(u,v,w)\)

所有情况就这么两种,然后我们惊奇地发现根本不用二分答案,直接判断上面两种情况就能得到最优答案。

再充分动用人类智慧就又会发现这两种情况里 \((u,v)\)\((u,v,w)\) 中必有一个为 \(n\),否则可以证明一定不是最优(证明见下文)。于是以 \(n\) 为根跑一遍 dfs 就行了,复杂度 \(O(n)\)

证明:
证明写的很烂请见谅
考虑反证法。
假设存在不含 \(n\) 的距离为奇数的点对 \((x,y)\)\(\min(x,y)\) 更大。则 \((n,x),(n,y)\) 距离均为偶(否则含 \(n\) 的更优),但 \(dis(x,y)\) 为奇,与奇偶性矛盾。
假设存在不含 \(n\) 的三点组 \((x,y,z)\) 到某中心 \(c\) 距离均为偶且 \(\min(x,y,z)\) 更大。则所有两两点对距离均为偶(否则含 \(n\) 的奇数点对出现)。若 \(dis(n,c)\) 为偶,则 \(n\)\(x,y,z\) 均为偶,\((n,x,y)\) 即为含 \(n\) 的三点组;若为奇,则 \(n\) 到各点均为奇,\((n,x)\) 为奇数点对。均矛盾。
故最优结构必含 \(n\),得证。

posted @ 2026-08-09 11:47  DWBbobo  阅读(1)  评论(1)    收藏  举报