全部评论 12

  • 知周所众,我们杀鸡焉用牛刀而该用核弹......

    2024-05-02 来自 江苏

    1
  • .........

    ...

    .
    .
    ..
    .
    .
    ........
    .
    ......
    .
    .....

    2024-01-06 来自 广东

    1
  • look at this

    #include <iostream>
    #define ll long long
    #define N 100000
    using namespace std;
    int sz[N], rev[N], tag[N], sum[N], ch[N][2], fa[N], val[N];
    int n, m, rt, x;
    void push_up(int x){
    sz[x] = sz[ch[x][0]] + sz[ch[x][1]] + 1;
    sum[x] = sum[ch[x][1]] + sum[ch[x][0]] + val[x];
    }
    void push_down(int x){
    if(rev[x]){
    swap(ch[x][0], ch[x][1]);
    if(ch[x][1]) rev[ch[x][1]] ^= 1;
    if(ch[x][0]) rev[ch[x][0]] ^= 1;
    rev[x] = 0;
    }
    if(tag[x]){
    if(ch[x][1]) tag[ch[x][1]] += tag[x], sum[ch[x][1]] += tag[x];
    if(ch[x][0]) tag[ch[x][0]] += tag[x], sum[ch[x][0]] += tag[x];
    tag[x] = 0;
    }
    }
    void rotate(int x, int &k){
    int y = fa[x], z = fa[fa[x]];
    int kind = ch[y][1] == x;
    if(y == k) k = x;
    else ch[z][ch[z][1]==y] = x;
    fa[x] = z; fa[y] = x; fa[ch[x][!kind]] = y;
    ch[y][kind] = ch[x][!kind]; ch[x][!kind] = y;
    push_up(y); push_up(x);
    }
    void splay(int x, int &k){
    while(x != k){
    int y = fa[x], z = fa[fa[x]];
    if(y != k) if(ch[y][1] == x ^ ch[z][1] == y) rotate(x, k);
    else rotate(y, k);
    rotate(x, k);
    }
    }
    int kth(int x, int k){ 
    push_down(x);
    int r = sz[ch[x][0]]+1;
    if(k == r) return x;
    if(k < r) return kth(ch[x][0], k);
    else return kth(ch[x][1], k-r);
    }
    void split(int l, int r){
    int x = kth(rt, l), y = kth(rt, r+2);
    splay(x, rt); splay(y, ch[rt][1]);
    }
    void rever(int l, int r){
    split(l, r);
    rev[ch[ch[rt][1]][0]] ^= 1;
    }
    void add(int l, int r, int v){
    split(l, r);
    tag[ch[ch[rt][1]][0]] += v;
    val[ch[ch[rt][1]][0]] += v;
    push_up(ch[ch[rt][1]][0]);
    }
    int build(int l, int r, int f){
    if(l>r) return 0;
    if(l==r){
    fa[l]=f;
    sz[l]=1;
    return l;
    }
    int mid=l+r>>1;
    ch[mid][0] = build(l, mid-1, mid);
    ch[mid][1] = build(mid+1, r, mid);
    fa[mid] = f;
    push_up(mid);
    return mid;
    }
    int asksum(int l, int r){
    split(l, r);
    return sum[ch[ch[rt][1]][0]];
    }
    int main(){
    //总共两个数
    n = 2;
    rt = build(1, n+2, 0);//建树
    for(int i = 1; i <= n; i++){
    scanf("%d", &x);
    add(i, i, x);//区间加
    }
    rever(1, n);//区间翻转
    printf("%d\n", asksum(1, n));//区间求和
    return 0;
    }
    

    6天前 来自 广东

    0
  • 《末影珍珠》,这不是末影之眼吗(doge
    虽然你是故意的,但.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
    还是打个广告,MC玩家才能进,想进先互关 MC乐园

    2025-07-02 来自 香港

    0
  • 神经

    2025-01-15 来自 江苏

    0
  • clever

    2024-04-26 来自 浙江

    0
  • 神经

    2024-03-31 来自 浙江

    0
  • ?????

    2023-12-23 来自 浙江

    0
  • 高精度省内存

    2023-12-07 来自 江苏

    0
  • 6

    2023-10-15 来自 广东

    0
  • 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊???

    2023-07-29 来自 广东

    0
  • ...

    2023-07-26 来自 广东

    0
首页