K-th Number(poj 2104)
题意:静态第K大
#include<cstdio>
#include<iostream>
#include<cstring>
#define N 200010
#define inf 1000000000
using namespace std;
int n,m,num,tmp[N],ans[N],sum[N];
struct node{
int x,y,k,s,tp,cur;
};node a[N],q1[N],q2[N];
void modify(int x,int v){
while(x<=n){
sum[x]+=v;
x+=x&(-x);
}
}
int query(int x){
int tot=;
while(x){
tot+=sum[x];
x-=x&(-x);
}
return tot;
}
void solve(int head,int tail,int l,int r){
if(head>tail)return;
if(l==r){
for(int i=head;i<=tail;i++)
if(a[i].tp==)ans[a[i].s]=l;
return;
}
int mid=l+r>>;
for(int i=head;i<=tail;i++){
if(a[i].tp==&&a[i].y<=mid) modify(a[i].x,);
if(a[i].tp==) tmp[i]=query(a[i].y)-query(a[i].x-);
}
for(int i=head;i<=tail;i++)
if(a[i].tp==&&a[i].y<=mid) modify(a[i].x,-);
int l1=,l2=;
for(int i=head;i<=tail;i++){
if(a[i].tp==){
if(a[i].cur+tmp[i]>=a[i].k) q1[++l1]=a[i];
else a[i].cur+=tmp[i],q2[++l2]=a[i];
}
else {
if(a[i].y<=mid) q1[++l1]=a[i];
else q2[++l2]=a[i];
}
}
for(int i=;i<=l1;i++)a[head+i-]=q1[i];
for(int i=;i<=l2;i++)a[head+l1+i-]=q2[i];
solve(head,head+l1-,l,mid);
solve(head+l1,tail,mid+,r);
}
void work(){
for(int i=;i<=n;i++){
int x;scanf("%d",&x);
a[++num].x=i;a[num].y=x;a[num].s=;a[num].tp=;
}
for(int i=;i<=m;i++){
int x,y,k;scanf("%d%d%d",&x,&y,&k);
a[++num].x=x;a[num].y=y;a[num].k=k;a[num].s=i;a[num].tp=;
}
solve(,num,-inf,inf);
for(int i=;i<=m;i++)
printf("%d\n",ans[i]);
}
int main(){
while(scanf("%d%d",&n,&m)!=EOF){
memset(tmp,,sizeof(tmp));
memset(sum,,sizeof(sum));
memset(ans,,sizeof(ans));
memset(a,,sizeof(a));
num=;
work();
}
return ;
}
K-th Number(poj 2104)的更多相关文章
- 1019 General Palindromic Number (20 分)
1019 General Palindromic Number (20 分) A number that will be the same when it is written forwards or ...
- hihoCoder 1432 : JiLi Number(吉利数)
hihoCoder #1432 : JiLi Number(吉利数) 时间限制:1000ms 单点时限:1000ms 内存限制:256MB Description - 题目描述 Driver Ji l ...
- 分类算法——k最近邻算法(Python实现)(文末附工程源代码)
kNN算法原理 k最近邻(k-Nearest Neighbor)算法是比较简单的机器学习算法.它采用测量不同特征值之间的距离方法进行分类,思想很简单:如果一个样本在特征空间中的k个最近邻(最相似)的样 ...
- 【BZOJ3110】K大数查询(整体二分)
[BZOJ3110]K大数查询(整体二分) 题面 BZOJ 题解 看了很久整体二分 一直不知道哪里写错了 ... 又把树状数组当成线段树区间加法来用了.. 整体二分还是要想清楚在干什么: 我们考虑第\ ...
- 【BZOJ3436】小K的农场(差分约束)
[BZOJ3436]小K的农场(差分约束) 题面 由于BZOJ巨慢无比,使用洛谷美滋滋 题解 傻逼差分约束题, 您要是不知道什么是差分约束 您就可以按下\(Ctrl+W\)了 #include< ...
- 1117 Eddington Number (25 分)
1117 Eddington Number (25 分) British astronomer Eddington liked to ride a bike. It is said that in o ...
- 1038 Recover the Smallest Number (30 分)
1038 Recover the Smallest Number (30 分) Given a collection of number segments, you are supposed to r ...
- [PAT] 1144 The Missing Number(20 分)
1144 The Missing Number(20 分) Given N integers, you are supposed to find the smallest positive integ ...
- 数据类型总结——Number(数值类型)
相关文章 简书原文:https://www.jianshu.com/p/9fb573ef10da 数据类型总结——概述:https://www.cnblogs.com/shcrk/p/9266015. ...
随机推荐
- 51nod 1174 区间中最大的数(送盾题)
基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 给出一个有N个数的序列,编号0 - N - 1.进行Q次查询,查询编号i至j的所有数中,最大的数是多少. ...
- [习题]输入自己的生日(年/月/日)#2 -- 日历(Calendar)控件的时光跳跃,一次跳回五年、十年前?--TodaysDate属性、VisibleDate属性
原文出處 http://www.dotblogs.com.tw/mis2000lab/archive/2013/06/10/calendar_visibledate_birthday_dropdow ...
- PCL点云处理可视化——法向显示错误“no override found for vtk actor”解决方法
转:https://blog.csdn.net/bflong/article/details/79137692 参照:https://blog.csdn.net/imsaws/article/deta ...
- iOS 随机数(Fixed)
ios 有如下三种随机数方法: 1. srand((unsigned)time(0)); //不加这句每次产生的随机数不变 int i = rand() % 5; 2. ...
- 开源项目: circular-progress-button
带进度条显示的按钮, 其效果如下所示: 其由三部分动画组成: 初始状态->圆环状态->完成状态. 0. 实现从初始到圆环的简单实现: 继承自button 类, 设置其背景 public c ...
- CAD交互绘制云线批注(网页版)
js中实现代码说明: 动态拖放时的绘制事件: function DoDynWorldDrawFun(dX,dY,pWorldDraw,pData) { //自定义实体的GUID标识符 var sGui ...
- C04 模块化开发
目录 模块化开发概述 函数概述 如何使用函数 字符串处理函数 模块化开发特点 模块化开发概述 概述 C语言是面向过程的语言,意味着编写C语言程序的时候,我们要像计算机一样思考如何设计程序. 模块化开发 ...
- Java创建图片文件缩略图
public static void uploadImg(InputStream file, String filePath, String fileName, int widthdist, int ...
- iOS 高效 Mac 配置
https://testerhome.com/topics/3045 https://support.apple.com/zh-cn/HT201236
- (39)zabbix snmp自定义OID nginx监控实例
为什么要自定义OID? 前面的文章已经讲过zabbix如何使用snmp监控服务器,但是他有一个很明显的局限性:只能监控定义好的OID项目 假如我们想知道nginx进程是否在运行?在没有zabbix a ...