当前位置:网站首页>Codeforces 12D Ball 树形阵列模拟3排序元素
Codeforces 12D Ball 树形阵列模拟3排序元素
2022-07-05 21:41:00 【全栈程序员站长】
大家好,又见面了,我是全栈君
主题链接:点击打开链接
#include<stdio.h>
#include<iostream>
#include<string.h>
#include<set>
#include<vector>
#include<map>
#include<math.h>
#include<queue>
#include<string>
#include<stdlib.h>
#include<algorithm>
using namespace std;
#define N 500005
#define ll int
ll n;
ll c[N], maxn;
inline ll lowbit(ll x){return x&(-x);}
void change(ll pos, ll val){
while(pos)c[pos]=max(c[pos],val), pos-=lowbit(pos);
}
ll maxx(ll pos){
ll ans = -1;
while(pos<=maxn)ans = max(ans,c[pos]),pos+=lowbit(pos);
return ans;
}
struct node{
ll b[3],num;
}w[N];
bool cmp0(node x, node y){return x.b[0]<y.b[0];}
bool cmp1(node x, node y){return x.b[1]>y.b[1];}
int main(){
ll i,j;
while(cin>>n) {
for(i=0;i<n;i++)scanf("%d",&w[i].b[0]);
for(i=0;i<n;i++)scanf("%d",&w[i].b[1]);
for(i=0;i<n;i++)scanf("%d",&w[i].b[2]);
sort(w, w+n, cmp0);
ll rank = 1;
w[0].num = 1;
for(i=1;i<n;i++) {
if(w[i].b[0]==w[i-1].b[0])w[i].num = rank;
else w[i].num = ++rank;
}
sort(w,w+n,cmp1);
for(i=1;i<=rank;i++)c[i]=-1;
maxn = rank;
i = 0;
ll ans = 0;
while(i<n) {
for(j = i; j < n && w[i].b[1] == w[j].b[1]; j++)
if(maxx(w[j].num+1)>w[j].b[2])
ans++;
for(j = i; j < n && w[i].b[1] == w[j].b[1]; j++)
change(w[j].num, w[j].b[2]);
i = j;
}
cout<<ans<<endl;
}
return 0;
}
版权声明:本文博客原创文章,博客,未经同意,不得转载。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/117583.html原文链接:https://javaforall.cn
边栏推荐
- Parker驱动器维修COMPAX控制器维修CPX0200H
- Golang(1)|从环境准备到快速上手
- Four components of logger
- Zhang Lijun: la pénétration de l’incertitude dépend de quatre « invariants»
- EasyExcel的读写操作
- Emotional analysis of wechat chat records on Valentine's day based on Text Mining
- The primary key is set after the table is created, but auto increment is not set
- 2.2.5 basic sentences of R language drawing
- Feng Tang's "spring breeze is not as good as you" digital collection, logged into xirang on July 8!
- Kingbasees v8r3 cluster maintenance case -- online addition of standby database management node
猜你喜欢
Cold violence -- another perspective of objective function setting
JMeter installation under win7
MySQL deep paging optimization with tens of millions of data, and online failure is rejected!
張麗俊:穿透不確定性要靠四個“不變”
DBeaver同时执行多条insert into报错处理
What should I do to prepare for the interview algorithm position during school recruitment?
Chapter 05_ Storage engine
怎么利用Tensorflow2进行猫狗分类识别
Huawei game multimedia service calls the method of shielding the voice of the specified player, and the error code 3010 is returned
"Grain mall" -- Summary and induction
随机推荐
KingbaseES V8R3集群维护案例之---在线添加备库管理节点
Implementing Lmax disruptor queue from scratch (IV) principle analysis of multithreaded producer multiproducersequencer
Kingbasees v8r3 cluster maintenance case -- online addition of standby database management node
第05章_存储引擎
Simple interest mode - evil Chinese style
postgres 建立连接并删除记录
Environment configuration problem record
有些事情让感情无处安放
Dictionary tree simple introductory question (actually blue question?)
matlab绘制hsv色轮图
Huawei game multimedia service calls the method of shielding the voice of the specified player, and the error code 3010 is returned
基于 Ingress Controller 在集群外访问 Zadig 自测环境(最佳实践)
Teach yourself to train pytorch model to Caffe (2)
校招期间 准备面试算法岗位 该怎么做?
Sitge joined the opengauss open source community to jointly promote the ecological development of the database industry
Sorting out the problems encountered in MySQL built by pycharm connecting virtual machines
Two ways to realize video recording based on avfoundation
QML reported an error expected token ";", expected a qualified name ID
Longest swing sequence [greedy practice]
Recursive query of multi-level menu data