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

为什么没人告诉我要开longlong

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

 #include<cstdio>
#include<algorithm>
#define mid ((l+r)>>1)
using namespace std;
long long cas,a,b,c,k,l,r,n,m,sz;
int root[];
int ls[],rs[],sum[],lazy[];
void pushdown(int k,int l,int r)
{
if(!lazy[k]||l==r)return;
if(!ls[k])ls[k]=++sz;
if(!rs[k])rs[k]=++sz;
lazy[ls[k]]+=lazy[k];lazy[rs[k]]+=lazy[k];
sum[ls[k]]+=(mid-l+)*lazy[k];
sum[rs[k]]+=(r-mid)*lazy[k];
lazy[k]=;
}
void add(int k,int l,int r,int a,int b)
{
if(l==a&&r==b)
{
sum[k]+=r-l+;
lazy[k]++;
return;
}
pushdown(k,l,r);
if(a<=mid)ls[k]=ls[k]?ls[k]:++sz,add(ls[k],l,mid,a,min(b,mid));
if(b>mid)rs[k]=rs[k]?rs[k]:++sz,add(rs[k],mid+,r,max(mid+,a),b);
sum[k]=sum[ls[k]]+sum[rs[k]];
}
long long que(int k,int l,int r,int a,int b)
{
if(!k)return ;
if(l==a&&r==b)return sum[k];
pushdown(k,l,r);
if(b<=mid)return que(ls[k],l,mid,a,b);
else if(a>mid)return que(rs[k],mid+,r,a,b);
else return que(ls[k],l,mid,a,mid)+que(rs[k],mid+,r,mid+,b);
}
int solve()
{
int l=,r=*n,k=;
while(l!=r)
{
long long t=que(root[k<<|],,n,a,b);
if(c<=t)l=mid+,k=k<<|;
else r=mid,k=k<<,c-=t;
}
return l;
}
int main()
{
for(scanf("%d%d",&n,&m);m;m--)
{
scanf("%d%d%d%d",&cas,&a,&b,&c);
if(cas==)
for(k=,l=,r=*n,c+=n;l!=r;root[k]=root[k]?root[k]:++sz,add(root[k],,n,a,b))
if(c<=mid)r=mid,k=k<<;
else l=mid+,k=k<<|;
else printf("%d\n",solve()-n);
}
return ;
}

这次代码还是比较优美的

bzoj3110树套树的更多相关文章

  1. BZOJ3110 [Zjoi2013]K大数查询 树套树 线段树 整体二分 树状数组

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ3110 题意概括 有N个位置,M个操作.操作有两种,每次操作如果是1 a b c的形式表示在第a个位 ...

  2. bzoj3110: [Zjoi2013]K大数查询 【cdq分治&树套树】

    模板题,折腾了许久. cqd分治整体二分,感觉像是把询问分到答案上. #include <bits/stdc++.h> #define rep(i, a, b) for (int i = ...

  3. [BZOJ3110] [Zjoi2013] K大数查询 (树套树)

    Description 有N个位置,M个操作.操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位置加入一个数c如果是2 a b c形式,表示询问从第a个位置到第b个位置 ...

  4. BZOJ3110 K大数查询 【线段树 + 整体二分 或 树套树(非正解)】

    Description 有N个位置,M个操作.操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位置加入一个数c 如果是2 a b c形式,表示询问从第a个位置到第b个位 ...

  5. BZOJ 3110: [Zjoi2013]K大数查询 [树套树]

    3110: [Zjoi2013]K大数查询 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 6050  Solved: 2007[Submit][Sta ...

  6. BZOJ4170 极光(CDQ分治 或 树套树)

    传送门 BZOJ上的题目没有题面-- [样例输入] 3 5 2 4 3 Query 2 2 Modify 1 3 Query 2 2 Modify 1 2 Query 1 1 [样例输出] 2 3 3 ...

  7. bzoj3262: 陌上花开(树套树)

    #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #i ...

  8. bzoj3295: [Cqoi2011]动态逆序对(树套树)

    #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #i ...

  9. BZOJ 3110 k大数查询 & 树套树

    题意: 有n个位置,每个位置可以看做一个集合,现在要求你实现一个数据结构支持以下功能: 1:在a-b的集合中插入一个数 2:询问a-b集合中所有元素的第k大. SOL: 调得火大! 李建说数据结构题能 ...

  10. BZOJ 3110 树套树 && 永久化标记

    感觉树套树是个非常高深的数据结构.从来没写过 #include <iostream> #include <cstdio> #include <algorithm> ...

随机推荐

  1. Typescript基础类型

    1.布尔值__boolean 2.数字__number----除了支持十进制和十六进制字面量,Typescript还支持ECMAScript 2015中引入的二进制和八进制字面量. 3.字符串__st ...

  2. Redis启动多端口、运行多实例

    默认Redis程序安装在/usr/local/redis目录下: 配置文件:/usr/local/redis/redis.conf,该配置文件中配置的端口为默认端口:6379: Redis的启动命令路 ...

  3. fiddler ios 手机抓包

    前言: 环境 :手机ios ip5s .fiddler .360wifi 保证手机和电脑是局域网(同一网络) 1:下载安装fiddler 准备环境 2:配置 fiddler 对应把图勾选上 弹出框 点 ...

  4. silverlight 流程设计器,流程引擎

    (图一流程设计器包含元素) (图一流程设计器实现功能) (流程引擎工作原理) (流程数据库设计) (流程数据库设计) (流程数据库设计) (工作流程设计器实现效果图) (代码结构图) 无法上传附件,需 ...

  5. Flex中的initialize,creationComplete和applicationComp

    转自:http://blog.csdn.net/sjz168/article/details/7244374 1.Application标签中有三个事件initialize,creationCompl ...

  6. 我的基于asp.net mvc5 +mysql+dapper+easyui 的Web开发框架(1)数据库访问(0)

    一.数据库访问 概述 1. 数据库使用mysql,orm采用dapper框架.dapper框架应用简单,只是需要自己手写sql语句,但是对于像我这样写了多年sql语句的人来说,这应该不算问题,个人还是 ...

  7. sqlserver 中数据导入到mysql中的方法以及注意事项

    数据导入从sql server 到mysql (将数据以文本格式从sqlserver中导出,注意编码格式,再将文本文件导入mysql中): 1.若从slqserver中导出的表中不包含中文采用: bc ...

  8. 解决poshytip 表单高度大于屏幕高端 显示问题

    Poshy Tip是一款非常友好的信息提示工具,它基于jQuery,当鼠标滑向链接时,会出现一个信息提示条.信息的内容直接可以在HTML里设定也可以是从服务端调用的数据,该插件还提供了很多属性和方法. ...

  9. .Net中Remoting通信机制

    Remoting通信机制 Remoting介绍 主要元素 通道类型 激活方式 对象定义 Remoting介绍 什么是Remoting,简而言之,我们可以将其看作是一种分布式处理方式. 从微软的产品角度 ...

  10. Launching web on MyEclipse Tomcat 问题

    错误提示: Launching web on MyEclipse Tomcat has encountered a problemAn internal error occurred during: ...