ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

题解-ARC103F

2022-06-05 19:00:23  阅读:124  来源: 互联网

标签:题解 然后 合法 父亲 siz 我们 节点 ARC103F


看到是ARCF和AT的评分差点被劝退,但是仔细想了想发现不是很难。

首先考虑 \(D\) 最大的那个一定是叶节点,这个可以用反证法来证明,肯定有一个叶节点比所有非叶节点更优。然后我们考虑取出最大的那个,我们既然已经知道它是叶节点了就可以算出他的父亲的 \(D\),假设它是 \(x\) 号节点,那么 \(D_{fa_x}=D_{x}-n+2\)。如果存在那么它的父亲就找到了。

然后我们又发现它不可能有兄弟,否则他就不是最大的了(这题的 \(D\) 互不相同所以不会出现两个性质完全一样的节点)。所以我们考虑直接在树上把他和它的父亲合并。然后循环做上面的步骤直到只剩下一个节点。

我们可以把刚刚 \(D\) 的计算方式扩展一下,对于一个节点的子树大小是 \(siz_x\),那么它的父亲的 \(D\) 即为 \(D_{x}-n+2\times siz_x\)。这样我们就能构造出一种方案。

然后交上去发现只错了三个点,所以应该是很接近正解的算法。然后我又交了个直接输出 \(-1\),然后发现那三个点都过了。于是猜想构造出来的解也不一定合法,再判一遍就好了。容易证明答案是惟一的,所以按上述构造方法构造出来的解如果不合法那么就没有合法解。

标签:题解,然后,合法,父亲,siz,我们,节点,ARC103F
来源: https://www.cnblogs.com/zcr-blog/p/16344631.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有