摘要: 比换教室不知道低到哪里去了。 就二分一下第一个不满足的人,然后维护一个差分数组,diff[s[i]]+=d[i],diff[t[i]+1]-=d[i],然后把diff加起来,判断一下是否rest<现在的即可。 时间复杂度nlogn,就水过了。。。 #include <iostream> #inclu 阅读全文
posted @ 2018-09-18 17:30 SWHsz 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 大意:求一个序列有几个子序列的和小于给定值,里面的数有正有负,序列长度≤200000。 列个式子,其实求的是sum[r]-sum[l-1]<T sum[r]-T<sum[l-1] 所以我们可以枚举r,然后用树状数组找小于sum[r]-T的数的个数。记得要在树状数组里先加一个0,表示L取1,即从头开始 阅读全文
posted @ 2018-09-18 16:20 SWHsz 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 题面:Please contact with lydsy2012@163.com! 给定一个长度为n的数列a1,a2,⋯,an,每次可以选择一个区间[l,r]使这个区间内的数都加1或者都减1。 请问至少需要多少次操作才能使数列中的所有数都一样,并求出在保证最少次数的前提下,最终得到的数列有多少种。 阅读全文
posted @ 2018-09-18 15:14 SWHsz 阅读(181) 评论(0) 推荐(0) 编辑