LG 5584 【SWTR-01】Sunny's Crystals

zcmimi at 
查看原题'" class='mdui-btn mdui-btn-raised'>点击加载点击跳转可以想到贪心:如果目前有可以摧毁的目标水晶,那么摧毁最靠后的否则摧毁第一个水晶证明:如果一个水晶目前无法摧毁,它必须等前面若干个水晶被摧毁它才能移动到目标位置所以当目标水晶没有可以摧毁的时候,摧毁序列第一个可以移动最多的目标水晶当有超过一个目标水晶可以摧毁的时候,从后往前摧毁显然是最优的那么要如何实现这个贪心呢?很容易想到数据结构平衡树暴力操作: 数据范围$3\times 10^6$,显然是不行的线段树 目标水晶最多$1.5\times 10^6$,且线段树常数不大,可行实现:线段树维护维护$d_1……