摘要: 二分一下答案,假设是x。 我们把大于x的看成1,小于x的看成-1,等于x的看成0 那某个区间的和如果是正的,就说明这个区间中位数大于x;如果是0,就等于x;如果是负的,就小于x; 这样的话,做一个前缀和,然后维护一下满足长度>=len的最小值,然后减一减,看看是不是>=0就可以了。 (我自己写的话我 阅读全文
posted @ 2018-09-10 22:17 Ressed 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 首先二分一个答案x,然后我们把>=x的数看成1,<x的数看成0,那如果最后剩下1,这个答案就是合法的。 那我们就来算让某一位得1至少需要填几个1(设这个值是f[i]) i=1..n时,显然,如果i已经固定,f[i]=0或inf(取决于原来是1还是0);如果i还没有固定,那f[i]=1 然后每次就可以 阅读全文
posted @ 2018-09-10 22:12 Ressed 阅读(682) 评论(6) 推荐(6) 编辑