[AHOI2014/JSOI2014] 骑士游戏

发布时间 2023-07-12 15:25:33作者: DCH233

[AHOI2014/JSOI2014] 骑士游戏

观察性质:

  1. 对于一类怪兽,要么全部使用普通攻击,要么全部使用魔法攻击。
  2. 若对怪兽 \(i\) 满足 \(s_i > k_i\),则必使用魔法攻击。
  3. 若按照怪兽的生成关系连有向边建图,则一个环内 \(k\) 值最小的怪兽必使用魔法攻击。

注意到,如果我们已经确定了完全消灭一只怪兽即其后代所需体力值,则我们可以更新能够生成这只怪兽的怪兽的普通攻击。即消除这只怪兽的影响。

这样,不难设计这样一个算法:每次找到可以确定消灭其所需体力值的怪兽,更新剩下的怪兽的普通攻击,最终消灭所有怪兽的体力值都被确定。

时间复杂度 \(O(n \log n + \sum R)\)。瓶颈在于排序。