标签:关系 sof 奇数 microsoft 一个 span mil $0 大小
$3$ 道题是自己 $yy$ 的……不过 $T2$ 可以用原题做法……$T3$ 小撞原题 $bzoj4556$……
这题就是让证明一个结论……
我们要加一些无向边,使构造出来的“近似树”最少需要 $k$ 种不同的数才能给所有点都标上号。
设在加无向边之前,最长有向链的长度是 $len$,则 $k\lt len$ 的时候答案一定是 $no$,因为你把最长链上所有的数标号就至少需要 $len$ 种不同的数了。
然后我们就会发现答案可能跟最长有向链有关。
推一推就会发现,在 $m≠0$ 的情况下,只有用一条无向边连接两条最长有向链的同层节点 或者用奇数条无向边连接两条最长有向链的最底层节点(即出度为 $0$ 的那个点)时,这两条链才至少需要 $len+1$ 种不同的数才能全部标号。
证明:
一条无向边两端的数必定有一个大小关系,所以每条无向边实质上可以贪心地转为一条有向边,贪心的原则是是这棵树需要用到的不同的数最少。
首先,如果用偶数条无向边连接两条最长有向链的节点,任意相邻的两条无向边都可以转为方向相反的有向边,这样不会增长有向链的长度。
如果用奇数条,在不让两条最长有向链变长的情况下,多出来的这条边会与相邻的某一条 变成同向有向边的无向边组成长度为 $2$ 的有向链。但我们现在考虑的是 $m≠0$ 的情况,原图中至少有长度为 $2$ 的有向链,所以不用考虑它会使最长链长度变长
标签:关系 sof 奇数 microsoft 一个 span mil $0 大小
原文地址:https://www.cnblogs.com/scx2015noip-as-php/p/10625402.html