#MXCSPJ0502. MXCSP-J第五套模拟卷T2 狗是啥呀(dog)

MXCSP-J第五套模拟卷T2 狗是啥呀(dog)

T2 狗是啥呀(dog)

对于这个问题而言,假设我们要用最少的次数去击败它,有这样几种情况,讨论由易到难:

  • #一个武器使用一次直接砍掉所有的头,直接输出 11

  • #这种生物永远杀不死,即所有武器能砍掉头的数量都小于等于生长出来的数量,此时,若不能使用一次武器砍掉所有的头,则输出 1-1

  • #考虑完以上两种情况,我们有一个一般性的流程。先使用若干次武器砍头再长头,最后一次砍掉之后直接击败这种生物。有点类似于蜗牛爬葡萄树的过程。从贪心的角度来看,最后一次所选择的武器应该满足 did_i 最大。对于前期砍头再长头的过程,我们则应该选择这样使用一次武器后头减少最多的一种,即 dihid_i - h_i 最大的。最后的答案即为先使用若干次 max(dihi)\max(d_i - h_i) 对应的武器再使用一次 max(di)\max(d_i) 对应的武器所得到的结果。