wa一片,最后一个T,终于心碎了。。。

为什么没人告诉我要开longlong

为什么所有人都说没有负数

 1 #include<cstdio>
 2 #include<algorithm>
 3 #define mid ((l+r)>>1)
 4 using namespace std;
 5 long long cas,a,b,c,k,l,r,n,m,sz;
 6 int root[200005];
 7 int ls[10000005],rs[10000005],sum[10000005],lazy[10000005];
 8 void pushdown(int k,int l,int r)
 9 {
10     if(!lazy[k]||l==r)return;
11     if(!ls[k])ls[k]=++sz;
12     if(!rs[k])rs[k]=++sz;
13     lazy[ls[k]]+=lazy[k];lazy[rs[k]]+=lazy[k];
14     sum[ls[k]]+=(mid-l+1)*lazy[k];
15     sum[rs[k]]+=(r-mid)*lazy[k];
16     lazy[k]=0;
17 }
18 void add(int k,int l,int r,int a,int b)
19 {
20     if(l==a&&r==b)
21     {
22         sum[k]+=r-l+1;
23         lazy[k]++;
24         return;
25     }
26     pushdown(k,l,r);
27     if(a<=mid)ls[k]=ls[k]?ls[k]:++sz,add(ls[k],l,mid,a,min(b,mid));
28     if(b>mid)rs[k]=rs[k]?rs[k]:++sz,add(rs[k],mid+1,r,max(mid+1,a),b);
29     sum[k]=sum[ls[k]]+sum[rs[k]];
30 }
31 long long que(int k,int l,int r,int a,int b)
32 {
33     if(!k)return 0;
34     if(l==a&&r==b)return sum[k];
35     pushdown(k,l,r);
36     if(b<=mid)return que(ls[k],l,mid,a,b);
37     else if(a>mid)return que(rs[k],mid+1,r,a,b);
38     else return que(ls[k],l,mid,a,mid)+que(rs[k],mid+1,r,mid+1,b);
39 }
40 int solve()
41 {
42     int l=1,r=2*n,k=1;
43     while(l!=r)
44     {
45         long long t=que(root[k<<1|1],1,n,a,b);
46         if(c<=t)l=mid+1,k=k<<1|1;
47         else r=mid,k=k<<1,c-=t;
48     }
49     return l;
50 }
51 int main()
52 {
53     for(scanf("%d%d",&n,&m);m;m--)
54     {
55         scanf("%d%d%d%d",&cas,&a,&b,&c);
56         if(cas==1)
57             for(k=1,l=1,r=2*n,c+=n;l!=r;root[k]=root[k]?root[k]:++sz,add(root[k],1,n,a,b))
58                 if(c<=mid)r=mid,k=k<<1;
59                 else l=mid+1,k=k<<1|1;
60         else printf("%d\n",solve()-n);
61     }
62     return 0;
63 }

这次代码还是比较优美的

转载于:https://www.cnblogs.com/wanglichao/p/5879580.html

bzoj3110树套树相关推荐

  1. Uva 3767 Dynamic len(set(a[L:R])) 树套树

    Dynamic len(set(a[L:R])) Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 https://uva.onlinejudge.org/in ...

  2. BZOJ 3262 cdq分治 OR 树套树

    注意判断 三个条件都一样的-- (CDQ分治 其实并不是很难理解 只是想不到--) CDQ分治: //By SiriusRen #include <cstdio> #include < ...

  3. 【Luogu】P3380树套树模板(线段树套Splay)

    题目链接 幸甚至哉,歌以咏志. 拿下了曾经是那么遥不可及的线段树,学会了曾经高不可攀的平衡树,弄懂了装B的时候才挂在嘴边的树套树. 每道模板都是链上的一颗珠子.把它们挨个串起来,就成为我成长的历程. ...

  4. #4604. The kth maximum number(整体二分 + 树套树)

    #4604. The kth maximum number 给定一个大小不超过5×1055 \times 10 ^ 55×105的矩形区域,有一些点有点权. 每次询问给定x1,y1,x2,y2,kx_ ...

  5. [树套树] 网络管理

    A:[CTSC2008]网络管理 此题本来是平衡树板块的,但俺写的是树套树,平衡树会多个log 题目 查询第kkk大,天然主席树可以维护 就不用了平衡树二分,多个logloglog了 将树上(u,v) ...

  6. jzoj5699-[GDOI2018day1]涛涛接苹果【树套树】

    正题 题目链接:https://gmoj.net/senior/#main/show/5699 题目大意 一棵树,每个节点有权值,每天所有权值会往它的父节点滑一位,然后有操作会在某一天的某个节点加权值 ...

  7. P2617-Dynamic Rankings【树套树】

    正题 题目链接:https://www.luogu.com.cn/problem/P2617 题目大意 给出一个序列,要求支持 区间查询第kkk大 单点修改 解题思路 区间查询第kkk大需要使用主席树 ...

  8. P3332-[ZJOI2013]K大数查询【树套树】

    正题 题目链接:https://www.luogu.com.cn/problem/P3332 题目大意 开始nnn个可以重复的集合,要求支持操作 1lrc:1\ l\ r\ c:1 l r c:将cc ...

  9. [luogu3380][bzoj3196]【模板】二逼平衡树【树套树】

    题目地址 [洛谷传送门] 题目大意 区间查询k的排名,查找k排名的数,单点修改,区间前驱,区间后继. 感想 真的第一次写树套树,整个人都不对了.重构代码2次,发现样例都过不了,splay直接爆炸,可能 ...

  10. BZOJ3489 A simple rmq problem 【可持久化树套树】*

    BZOJ3489 A simple rmq problem Description 因为是OJ上的题,就简单点好了.给出一个长度为n的序列,给出M个询问:在[l,r]之间找到一个在这个区间里只出现过一 ...

最新文章

  1. java内存模型-JMM
  2. 远程办公项目团队如何进行团队协作?
  3. mysql设计数据集市_数据集市设计
  4. windos 为什么会突然服务停止了_Windows服务异常自动关闭
  5. 小米10解锁bl跳过168_2021年小米红米手机官方解锁BL详细教程+跳过168小时方法合集...
  6. 测试记录流水s1 0080481T02
  7. Grunt学习笔记002---Gruntfile.js详解
  8. YOLO系列详解:YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5
  9. HTML+CSS学习笔记
  10. Python 字符串
  11. python-opencv的一些基础操作
  12. 七年之痒,从小米6看小米公司的善与罪
  13. 799 - 背包问题VIII - LintCode
  14. Nape 碰撞检测事件 笔记
  15. SEO优化|如何让网站关键词排名快速提高
  16. 用python发邮件便利之处_第18课 python 发送邮件
  17. Linux搭建Ngrok服务器详细过程
  18. 以下c语言程序片段用于估测cpu的cache参数,阿里巴巴笔试题
  19. AD设计PCB从入门到精通(学习思路总结)
  20. 可爱鱼os go语言环境 搭建+ goland安装激活

热门文章

  1. Codevs 1043 方格取数
  2. How to Leak a Context: Handlers Inner Classes
  3. cocos2d-x 3.X (二)创建动起来的精灵
  4. 12-31--MAGENTO---强大的配置功能挖掘!!
  5. 数据结构之内部排序算法总结笔记
  6. select2搜索动态加载
  7. jenkins搭建_如何搭建移动端自动化测试平台?没错,就用Jenkins!
  8. 如何逃过taint droid的跟踪
  9. Spark源码分析之SchedulerBackend分析
  10. (74)FPGA模块调用(VHDL调用VHDL)