您当前的位置: 首页 > 

HeartFireY

暂无认证

  • 2浏览

    0关注

    334博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

珂朵莉树板子

HeartFireY 发布时间:2022-02-15 20:46:16 ,浏览量:2

珂朵莉是世界上最幸福的女孩!!!

在这里插入图片描述

JUST存个板子,方便以后用

记得处理好set::iterator == set::begin()/end()的情况!

namespace ct{
    struct node{
        int l, r;
        mutable int val;
        node (int lpos): l(lpos) {}
        node (int lpos, int rpos, int vall): l(lpos), r(rpos), val(vall) {}
        bool operator l, r = it -> r, val = it -> val;
        s.erase(it);
        if(l = pos) return s.insert(node(pos, r, val)).first;
        return s.end();
    }

    //^ChthollyTree-PartValueAssign
    void assign(int l, int r, int val){
        sit itr = split(r + 1), itl = split(l);
        s.erase(itl, itr);
        s.insert(node(l, r, val));
    }

    //^ChthollyTree-PartValueAddition
    void add(int l, int r, int val){
        sit itr = split(r + 1), itl = split(l);
        while(itl != itr) itl -> val += val, itl++;
    }

    //^ChthollyTree-Get_K-th_Value
    int kth(int l, int r, int k){
        sit itr = split(r + 1), itl = split(l);
        vector v;
        v.clear();
        for(sit it = itl; it != itr; it++) v.emplace_back(make_pair(it -> val, it -> r - it -> l + 1));
        sort(v.begin(), v.end());
        for(int i = 0; i             
关注
打赏
1662600635
查看更多评论
0.0361s