差分,相当好写啊。(一个for循环的事
假如有一段区间要修改,你没有必要一个个用for去修改个值,用一个数组在该位置修改权值,到结束时再修改回来。
裸二分,加个差分就A了
#include<cstdio>
#include<cstdlib>
#include<cstring>
const int MAXN = 1000011;
struct wyh{
int l,r,v;
}a[MAXN];
int n,m;
int w[MAXN];
int d[MAXN];
int gi(){
int w=0; char c=getchar(); bool q=0;
while((c<'0' || c>'9') && c!='-') c=getchar(); if(c=='-') q=1,c=getchar();
while (c>='0' && c<='9') w=w*10