似乎有了整体二分后这类问题都可以很快的解决了呢

题目描述

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

输入格式:

第一行N,M接下来M行,每行形如1 a b c或2 a b c

输出格式:

输出每个询问的结果

输入输出样例
输入样例#1:

2 5
1 1 2 1
1 1 2 2
2 1 1 2
2 1 1 1
2 1 2 3

输出样例#1:

1
2
1


这题我原先用我的辣鸡实现的线段树套平衡树完美TLE+MLE..

因为这个是查询第K大,用树状数组还得处理一些奇怪的东西..

考虑建立权值线段树维护权值个数

然后直接套板子就行了…

 



说点什么

avatar
  Subscribe  
提醒