题面里的保证数据无交是不是假的???
  • 板块P5350 序列
  • 楼主Tsawke
  • 当前回复18
  • 已保存回复18
  • 发布时间2022/11/18 21:08
  • 上次更新2023/10/27 02:29:06
查看原帖
题面里的保证数据无交是不是假的???
362938
Tsawke楼主2022/11/18 21:08

起因是前者能过,后者注释掉的会WA,想了很久死活想不出来为什么,然后发现题面写的数据区间无交,但是所有询问里都存在 r1l2r_1 \ge l_2,确定不是数据有问题吗。。

void Copy(int l1, int r1, int l2, int r2){
        if(r1 >= l2)printf("*\n"), exit(0);
        auto itR = Split(r1 + 1), itL = Split(l1);
        basic_string < Node > tmp;
        for(auto it = itL; it != itR; ++it)tmp += Node{it->l + (l2 - l1), it->r + (l2 - l1), it->val};
        itR = Split(r2 + 1), itL = Split(l2);
        tr.erase(itL, itR);
        for(auto nod : tmp)Insert(nod);
        //////////////////////
        // auto itR = Split(r2 + 1), itL = Split(l2);
        // tr.erase(itL, itR);
        // itR = Split(r1 + 1), itL = Split(l1);
        // basic_string < Node > tmp;
        // for(auto it = itL; it != itR; ++it)tmp += Node{it->l + (l2 - l1), it->r + (l2 - l1), it->val};
        // for(auto nod : tmp)Insert(nod);
        ///////////////////////
    }
2022/11/18 21:08
加载中...