这道题不禁让我想起了 【2016-大连赛区网络赛-J】线段树,dfs(Weak Pair,hdu 5877)
那道题是一边dfs,一边计算,一边维护线段树。
这道题是一边循环,一边计算,一边维护树状数组。
题目要求只要裁判在中间就好了,我理解成升序。。。WA
很多时候如果找不到错误数据,就要好好想想是不是有些地方想当然,然后理解错了。
看代码理解比较好。
代码
#include<bits/stdc++.h>
#define f(i) for(ll i=1;i<=n;i++)
#define s(a) scanf("%lld",&a)
#define ss(a) for(ll i=1;i<=n;i++) scanf("%lld",a+i)
#define maxn 20010
using namespace std;
typedef long long ll;
ll n;
ll a[maxn],b[maxn];
ll l[maxn],r[maxn];
ll low_bit(ll x)
{
return x&-x;
}
void add(ll* t,ll p,ll v)
{
while(p<=n)
{
t[p]+&#