[AHOI2014/JSOI2014] 骑士游戏
观察性质:
- 对于一类怪兽,要么全部使用普通攻击,要么全部使用魔法攻击。
- 若对怪兽 \(i\) 满足 \(s_i > k_i\),则必使用魔法攻击。
- 若按照怪兽的生成关系连有向边建图,则一个环内 \(k\) 值最小的怪兽必使用魔法攻击。
注意到,如果我们已经确定了完全消灭一只怪兽即其后代所需体力值,则我们可以更新能够生成这只怪兽的怪兽的普通攻击。即消除这只怪兽的影响。
这样,不难设计这样一个算法:每次找到可以确定消灭其所需体力值的怪兽,更新剩下的怪兽的普通攻击,最终消灭所有怪兽的体力值都被确定。
时间复杂度 \(O(n \log n + \sum R)\)。瓶颈在于排序。
标签:怪兽,JSOI2014,AHOI2014,魔法,体力值,骑士,普通攻击 From: https://www.cnblogs.com/DCH233/p/17547590.html