线段树-区间更新-HDU 1689
#include <iostream> #include <cstdio> #include <string> #include <cstring> #include <fstream> #include <algorithm> #include <cmath> #include <queue> #include <stack> #include <vector> #include <map> #include <set> #include <iomanip> using namespace std; #define maxn 200005 #define MOD 1000000007 #define mem(a , b) memset(a , b , sizeof(a)) #define LL long long #define ULL unsigned long long const long long INF=0x3fffffff; int n,m; LL add[maxn<<2]; LL sum[maxn<<2]; void pushUp(int root) { sum[root]=sum[root<<1]+sum[root<<1|1]; } void pushDown(int root,int m) { if(add[root]>0) { add[root<<1]=add