ACM_数据结构
文章平均质量分 78
xcszbdnl
这个作者很懒,什么都没留下…
展开
-
LA5902
好吧,用树状数组来做这个实在是太聪明了。好美妙的想法。 相当于统计区间和,假设有20W个书阁,如果第i个书阁有书的话就a[i] = 1,否则的话a[i] = 0; 首先想到的是按顺序放书,第一个书阁放第一部电影,第二个书阁放第二个电影,依次类推,那么统计第i个书阁前面的电影书只要统计从最前面到当前位置1的个数即可。 每看一部电影相当于把在首个书阁之前添加一个书阁。可以先把所以的电影都放在后1原创 2013-08-06 23:23:21 · 705 阅读 · 0 评论 -
hdu3415
求最大的连续不超过k的子序列的和。 用单调队列维护。 先求出s[1..i]的和,将前k个添加到n的结尾就相当于有循环和了。 那么对于某个sj,他的最大的序列和为s[j] - s[i],其中 j - k - 1 那么用单调队列去维护i,可以在O(1)的时间去求出s[i]。 今后有任何优化问题需要减去前面最小或者加上最大和的都可以使用单调队列去维护。 AC代码: #include原创 2013-11-05 11:22:31 · 1089 阅读 · 0 评论 -
hdu4973
线段树,每个点记录该点出现的次数,对于l,r的更新, 找到l所对应的shu原创 2014-08-21 21:25:04 · 574 阅读 · 0 评论 -
ural 1772
有n个跑道,一开始在s跑道,有k个障碍物,问切换最少的跑道数。原创 2014-08-11 16:11:26 · 611 阅读 · 0 评论