事实证明线段树是可以过的。
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
using namespace std;
const int maxn = 1e5+10;
long long grid[maxn<<2];
long long cov[maxn<<2];
long long newleaf[maxn];
int n, m;
void pushdown(int l, int r, int rt)
{
if(cov[rt])
{
int m = (l + r) >> 1;
cov[rt<<1] += cov[rt];
cov[rt<<1|1] += cov[rt];
grid[rt<<1] += (m - l + 1) * c......
阅读全文