E. Hammer to Fall
题目连接
本题主要在意的是转移锤子落下的城市的人到其他城市的成本,由此,只需要求出所有锤子落下的城市转移到其他安全城市的最小成本,再乘上该城市的人数即可,完成求解。
如果从锤子头遍历到锤子尾,前者可能会干预后者产生影响,由此采用倒序dp。
如果全部遍历的话,时间复杂度O(q*m)最坏 差不多10^10, 预计20秒左右,显然时间不达标,好点
为了节省时间,和提高效率,采用了根号分治和时间分块的理念来进行处理。
对于度大于( blog = sqrt(m) )的节点,,只看它前blog最小成本的转移。
每当转移了blog次后,更新维护的dp数组,保证信息是最新的。
每到blog天,就使用nth_element O(n)进行更新,时间复杂度为 q*m/blog ;
总体时间复杂度 : q ∗ b l o g + q ∗ m b l o g 总体时间复杂度: q*blog+\frac{q*m}{blog} 总体时间复杂度:q∗blog+

最低0.47元/天 解锁文章
1584

被折叠的 条评论
为什么被折叠?



