https://www.luogu.com.cn/training/2894#problems
CF76A - Gift
https://www.luogu.com.cn/problem/CF76A
发现要求 \(\max(g_i)\) 以及 \(\max(s_i)\),先确定一维:按照 \(g_i\) 自小向大排序。然后我们从 \(1\sim m\),依次试图插入生成树中。也就是,维护一个数组 \(now\) 代表生成树的边,这是按 \(s_i\) 排序的。插入一条边时,先看看 \(now\) 中边是否可以生成树,如果能救更新答案,并删除不在生成树的边。你发现这是 \(O(mn\log n)\) 的(建立生成树 \(n\log n\))。
CF575B - Bribes
https://www.luogu.com.cn/problem/CF575B
事实上路径只有一条,所以不存在“最小”的花费,唯一花费,类比 松鼠的新家。于是记录每条边从上往下、从下往上分别经过了多少次,用树上差分维护。
CF1238F The Maximum Subtree
https://www.luogu.com.cn/problem/CF1238F
仔细思考,发现是毛毛虫。