摘要:
思路:二分答案,然后模拟消灭石头的过程;如果单纯的暴力模拟的话,肯定会T的;所以要用到一定的技巧来维护;在网上看到大神们用O(n)的复杂度来优化,真心orz;原理是这样的:用一个变量sum_2存前面所有的对当前石头造成影响的冲击波的损失的能量和;所以对于当前的石头所需要的新的冲击波的数量为:(当前石头的能量值-前面有影响的冲击波数*能量x+sum_2)/能量x+1;然后就是维护sum_2了!维护sum_2要利用这个公式:(x+1)^2=x^2+2*x+1; 1 #include 2 #define maxn 50005 3 #define ll long long 4 using namesp 阅读全文