如果你 RE#3 而且在数组开到巨大以后都没有用 请检查你的如下代码:
void change(int x,int k)//也就是你更新最大值的代码 { while(x<=MAXN)//如果你这里写了n,恭喜你中计了,n的范围可是1e9,你离散化之后只有1e6啊 { tree[x]=tree[x]<k?k:tree[x]; x+=lowbit(x); } }
不要把数组开一个1e8什么的啊,编译过不去的