BZOJ 3110 线段树套线段树
思路: 
外围一个权值线段树 
里面是个区间线段树 
搞一个标记永久化
//By SiriusRen
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
#define N 100050
#define int long long
int n,m,op,xx,yy,zz,cnt,root[N*16],lson[N*160],rson[N*160];
int tree[N*160],lazy[N*160];
void insert(int l,int r,int &rt){
    if(!rt)rt=++cnt;
    if(l>=xx&&r<=yy){tree[rt]+=r-l+1,lazy[rt]++;return;}
    int mid=(l+r)>>1;
    if(mid<xx)insert(mid+1,r,rson[rt]);
    else if(mid>=yy)insert(l,mid,lson[rt]);
    else insert(l,mid,lson[rt]),insert(mid+1,r,rson[rt]);
    tree[rt]+=(min(yy,r)-max(xx,l)+1);
}
void Insert(int l,int r,int pos){
    insert(1,n,root[pos]);
    if(l==r)return;
    int mid=(l+r)>>1,Lson=pos<<1,Rson=pos<<1|1;
    if(mid<zz)Insert(mid+1,r,Rson);
    else Insert(l,mid,Lson);
}
int query(int l,int r,int rt){
    if(!rt)return 0;
    if(l>=xx&&r<=yy)return tree[rt];
    int mid=(l+r)>>1,ret=0;
    if(mid>=xx)ret+=query(l,mid,lson[rt]);
    if(mid<yy)ret+=query(mid+1,r,rson[rt]);
    return ret+lazy[rt]*(min(yy,r)-max(xx,l)+1);
}
int Query(int l,int r,int pos){
    if(l==r){return l-50001;}
    int mid=(l+r)>>1,Lson=pos<<1,Rson=pos<<1|1;
    int res=query(1,n,root[Rson]);
    if(res>=zz)return Query(mid+1,r,Rson);
    else{zz-=res;return Query(l,mid,Lson);}
}
signed main(){
    scanf("%lld%lld",&n,&m);
    for(int i=1;i<=m;i++){
        scanf("%lld%lld%lld%lld",&op,&xx,&yy,&zz);
        if(op==1)zz+=50001,Insert(1,N,1);
        else printf("%lld\n",Query(1,N,1));
    }
}BZOJ 3110 线段树套线段树的更多相关文章
- [BZOJ 3110] [luogu 3332] [ZJOI 2013]k大数查询(权值线段树套线段树)
		[BZOJ 3110] [luogu 3332] [ZJOI 2013]k大数查询(权值线段树套线段树) 题面 原题面有点歧义,不过从样例可以看出来真正的意思 有n个位置,每个位置可以看做一个集合. ... 
- bzoj 3110 [Zjoi2013]K大数查询——线段树套线段树(标记永久化)
		题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3110 第一道线段树套线段树! 第一道标记永久化! 为什么为什么写了两个半小时啊…… 本想线段 ... 
- [BZOJ 1901] Dynamic Rankings 【树状数组套线段树 || 线段树套线段树】
		题目链接:BZOJ - 1901 题目分析 树状数组套线段树或线段树套线段树都可以解决这道题. 第一层是区间,第二层是权值. 空间复杂度和时间复杂度均为 O(n log^2 n). 线段树比树状数组麻 ... 
- dfs序+主席树   或者   树链剖分+主席树(没写)   或者  线段树套线段树   或者  线段树套splay   或者  线段树套树状数组   bzoj 4448
		4448: [Scoi2015]情报传递 Time Limit: 20 Sec Memory Limit: 256 MBSubmit: 588 Solved: 308[Submit][Status ... 
- bzoj 3196 Tyvj 1730 二逼平衡树(线段树套名次树)
		3196: Tyvj 1730 二逼平衡树 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1807 Solved: 772[Submit][Stat ... 
- ZJOI 2017 树状数组(线段树套线段树)
		题意 http://uoj.ac/problem/291 思路 不难发现,九条カレン醬所写的树状数组,在查询区间 \([1,r]\) 的时候,其实在查询后缀 \([r,n]\) :在查询 \([l,r ... 
- BZOJ4317Atm的树&BZOJ2051A Problem For Fun&BZOJ2117[2010国家集训队]Crash的旅游计划——二分答案+动态点分治(点分树套线段树/点分树+vector)
		题目描述 Atm有一段时间在虐qtree的题目,于是,他满脑子都是tree,tree,tree…… 于是,一天晚上他梦到自己被关在了一个有根树中,每条路径都有边权,一个神秘的声音告诉他,每个点到其他的 ... 
- hdu-4819-线段树套线段树
		http://acm.hdu.edu.cn/showproblem.php?pid=4819 给出一个N*N的矩阵,每次询问一个m*m的子矩阵里的floor((maxv+minv)/2)并把中间的元素 ... 
- 【vijos】1750 建房子(线段树套线段树+前缀和)
		https://vijos.org/p/1750 是不是我想复杂了.... 自己yy了个二维线段树,然后愉快的敲打. 但是wa了两法.......sad 原因是在处理第二维的更新出现了个小问题,sad ... 
- [TJOI2017][bzoj4889] 不勤劳的图书管理员 [线段树套线段树]
		题面 传送门 思路 考虑两本书的位置交换对答案的贡献: (为了方便描述,用"左边那本"和"右边那本"称呼两本我们要交换的书,"中间那本"是我 ... 
随机推荐
- Spring+mybatis+struts框架整合的配置具体解释
			学了非常久的spring+mybatis+struts.一直都是单个的用他们,或者是两两组合用过,今天总算整合到一起了,配置起来有点麻烦.可是配置完一次之后.就轻松多了,那么框架整合配置具体解释例如以 ... 
- server.htaccess 具体解释以及 .htaccess 參数说明
			.htaccess文件(或者"分布式配置文件")提供了针对文件夹改变配置的方法. 即.在一个特定的文档文件夹中放置一个包括一个或多个指令的文件, 以作用于此文件夹及其所有子文件夹. ... 
- ida动态调试so,在init_array和JNI_ONLOAD处下断点
			本文涉及到的apk.请在github下载https://github.com/jltxgcy/AliCrack/AliCrackme_2.apk. 0x00 怎样在JNI_ONLOAD下断点.參考安卓 ... 
- apiCloud实现加载更多效果,基本完美~
			apiCloud实现加载更多效果 1.接口支持,加入参数page. $page = $this->_request('page','trim','1'); $pagesize = 10; // ... 
- zzulioj--1600--直线与圆(简单数学几何)
			 1600: 直线与圆 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 360 Solved: 73 SubmitStatusWeb Board ... 
- TYVJ1415 差分约束
			思路: i–>i+1连一条边权为0的边 i–>i-1连一条边权为-1的边 start-1 ->end 连一条边权为w的边 求0->n的最长路即可 //By SiriusRen ... 
- 内存文件系统:tachyon(现在叫Alluxio)
			此文于2015 年 8 月 10 日发布 Tachyon 是什么 Tachyon 是 AMPLab 开发的一款内存分布式文件系统.它介于计算层和存储层之间,可以简单的理解为存储层在内存内的一个 Cac ... 
- 005.JMS可靠性机制
			1. 消息接收确认 JMS消息只有在被确认之后,才认为已经被成功地消费了.消息的成功消费通常包含三个阶段: 客户接收消息 客户处理消息 消息被确认 在事务性会话中,当一个事务被提交的时候,确认自动发生 ... 
- H5中嵌入flash
			<object height="900px" width="100%" classid="clsid:D27CDB6E-AE6D-11cf-96 ... 
- 优动漫PAINT简简单单绘画绣球花
			本文分享使用优动漫PAINT简简单单绘画绣球花教程: 相关资讯还可以关注http://www.dongmansoft.com 最后告诉你绣球花的花语,还是很和谐美好的呢! 绣球花没有茉莉花的芳香四溢, ... 
