【整体二分】AcWing268
传送门
其实整体二分就是在二分答案的同时把询问也二分了。排除询问不可能的值域。
树状数组可以区间更新单点查询,不要傻傻地去写区间更新区间查询的树桩上数组。。。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 3e5 + 233;
int o[maxn], b[maxn], lb[maxn], rb[maxn];
vector<int> pos[maxn];
ll p[maxn];
int ans[maxn];
int n, m, k;
struct rec{
int l, r; ll v;
}a[maxn];
ll c[2][maxn];
void add(int t, int x, ll v)
{
for(; x <= m; x += x & -x) c[t][x] += v;
}
ll ask(int t, int x)
{
ll res = 0;
for(; x; x -= x &
… Read the rest