有关拓扑序
作者:互联网
written on 2022-06-20
昨天月赛的一道题目,写点感触。
题意:对于一棵给定的有根树,每一个点只有其父亲被选取后它才可以被选取,其 被选取权值 为当前值与其权值的较小值,求最大的总权值。
直观的思路是每选取一个点,就将它的所有儿子的权值塞入堆,这样的时间复杂度为 \(O(n\log n)\)。考虑优化。那么对于一个点 \(i\),其可以贡献的最大权值 \(Q\) 即为 \(\min(Q_i,Q_{fa_i})\)。
引理:对于每一个点 \(i\),其最大贡献值总为 \(Q_i\)。
感性证明:假设当前存在一个大根堆,那么所有的权值,因为已经由其父亲更新过,所以每次只要选取堆顶权值,即可保证选择的最优性。
此类题的要素在于决策的贪心性,发现每一个点的权值只与其祖先结点有关,与其他结点,经按贪心顺序排好后无关。
这题难度显示在黄偏下,但是对于我这种菜鸟还是有一定的思路启发意义的。
update on 2022-7-31
这题确实对贪心的思考有一定的启发意义,但是和拓扑序有什么关系。。
标签:一个点,拓扑,选取,这题,2022,权值,有关,贪心 来源: https://www.cnblogs.com/Freshair-qprt/p/16538246.html