T1 卡牌
赛时打了一个 \(\Omicron(nm)\) 的暴力,拿到30分。
我们发现第 \(i\) 张牌对BOSS造成的伤害为 $att_i * \lceil \frac{hp_i}{Att} \rceil $,那么考虑以卡牌血量值域为下标开一个桶,储存相同血量的卡牌的 \(\sum att\)。
对于每一级BOSS的攻击力,我们都可以在桶上根据 \(\lceil \frac{hp_i}{Att}\rceil\) 进行数论分块,将血量区间为 \(1\sim Att\),\(Att+1 \sim 2Att......\) 的卡牌各分为一块。双指针扫描时,使用树状数组维护卡牌血量为某个区间时的攻击力之和。
时间复杂度为 \(\Omicron(Vlog^2V)\)
标签:总结,Omicron,2023.10,卡牌,血量,Att,13NOIPSIM3,sim From: https://www.cnblogs.com/TimeIsFlying/p/17772270.html