2020.12.13刷题总结 | 市赛场外围观

比较有意思的题:
无。

偶然拿到了小学组的T5;
有一个龙和(n)个勇士,龙有战斗力(A)和血量(B),勇士也有战斗力(a_i)和血量(b_i),同时第(i)个出场战斗的勇士的战斗值会乘上(i),同时这个勇士必须血量被杀完了才能下来,求至少要几个勇士才能把龙整死,如果不行输出( ext{fail})

瞄了一眼,感觉不会/jk

然后群里给了几个( ext{solution})

  • 在场选手:直接给(a_i)排序然后从大到小打。
    显然是假的,不说了。
  • 某个神仙:直接按照(a_i imes b_i)排序然后从大到小打。
    反例:
    首先整一个引理:

所有勇士的攻击总和的打法一定是按照(a_i imes b_i)排序后,然后按从小到大打。
这个证明很easy,就不证了。
如果这个值正好等于(B),那么如果按照上面从大到小打显然值就不会到(B),输出fail,就假了。

  • 我的做法:二分个数,然后(mathcal{O}(n))check。

对于( ext{check})函数:
按照上面最大和的打法判断是否(ge B),没了。

我估计还有更优的solution,麻烦在下方评论/se

原文地址:https://www.cnblogs.com/luyiming123blog/p/14130974.html