集训的最后一天,感觉整个人的状态都不是很好。hai~~
T1
T2
T3
首先这道题不难看出来,这又是一道需要贪心的题。总体来说不难,好多人暴力得到了40分。现在总结一下感觉自己的暴力着实不太优,最差可以达到(O(n^4)),自然会暴得很彻底。
显然,最终的挖的方案一定可以按照深度从小到大的顺序操作,那么在操作深度(D)时,小于(D)的所有深度相应区间的土地一定都消失了。由于一次操作只可能影响同一个深度的土地,所以我们可以将每一行看成一个独立的问题,最后将答案相加即可。
剩下的问题就是如何处理一行。一个显然的贪心是区间中最靠前的一块土地肯定要被覆盖,最优的方式就是将其作为长度为(K)的区间的第一个。不断的做这样的操作即可得到最少步数。我们预处理出每个位置开始的倍增数组,即可在(logW)的时间内回答询问。
时间复杂度(O(H(W+Q)logW))
T4
首先,这道题需要很长的预处理环节,需要将字符串进行(strlen)后取(min)得到(k),再去比较。这道题暴力也需要一些方法,就是要从后往前搜索