rt,写了一个线段树优化 DP,是这样的。
从 111 到 nnn 枚举每只怪物。在枚举到第 iii 只怪物时,fjf_jfj 表示在 k=jk = jk=j 时,前 i−1i - 1i−1 只怪物中会选择战斗的数量。gig_igi 表示要与第 iii 只怪战斗,最小的 kkk 是多少。
转移有两个部分。
gig_igi 通过二分 fff 得到,但需要证明 ⌊fjj⌋\lfloor \frac{f_j}{j} \rfloor⌊jfj⌋ 单调不增。
得到 gig_igi 后,fgif_{g_i}fgi 到 fnf_nfn 全部增加 111,但也需要证明同样的结论。
稍微感觉了一下,结论应该是对的,但求证明。