[AHOI2014/JSOI2014] 骑士游戏

[AHOI2014/JSOI2014] 骑士游戏

观察性质:

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

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

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

时间复杂度 O(nlogn+R)。瓶颈在于排序。

posted @   DCH233  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示