ST表+堆——BZOJ2006/Luogu2048 [NOI2010]超级钢琴
题面:BZOJ2006 Luogu2048
权当ST表练手第一题
题面大意是求出前K大连续字段和(长度在l到r之间)的和
首先想到贪心的想法,我们要找到以i为开头的长度在l到r之间的最大连续字段和,然后丢到堆里面,每次都取最大的就是答案了
但是可能以i为开头的对答案有贡献的方案有很多种,所以我们还要进一步做,考虑把这段区间分开
我们首先记下原序列最大时结尾的下标,然后分开的时候直接下标左边
原创
2017-06-12 09:54:40 ·
448 阅读 ·
0 评论