Codeforces 12D Ball 树形阵列模拟3排序元素

Codeforces 12D Ball 树形阵列模拟3排序元素

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

主题链接:点击打开链接

#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.net/117583.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • stringbuffer判断是否为空

    stringbuffer判断是否为空

    2021年7月16日
    108
  • navicat生成激活码错误-激活码分享

    (navicat生成激活码错误)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlS3…

    2022年3月26日
    68
  • idea设置快捷键为eclipse_idea设置上一步下一步快捷键

    idea设置快捷键为eclipse_idea设置上一步下一步快捷键一、点击file中的setting(也可以使用快捷键:ctrl+alt+s)settings界面如下:选择keymap选项卡二、设置快捷键1.选择一整套已有快捷键在右侧的keymap下拉框中选择合适自己的快捷键,如eclipse等2.单独设置某个快捷键可以在搜索框中通过名称搜索快捷键内容如添加:还可以通过已有快捷键进行搜索…

    2022年9月20日
    3
  • SPPnet详解

    SPPnet详解RCNN系列:RCNN,SPPNet,FastRCNN,FasterRCNN,R-FCN。作者是何凯明SPPNet出现的原因之前的网络,比如LeNet,AlexNet,ZF,VGG等,它们的输入都是固定大小的,为什么要固定大小呐?原因就在最后连接的全连接层上。全连接层的输入一定是固定大小的。这一点很容易理解,因为全连接层网络就是传统的神经网络,传统的神经网络的输入层必定是固定大小的。而卷积神经网络的conv层的输入并不需要固定大小,那么conv层不用固定大小,FC层的输入又要固定大小,那么在这两

    2022年6月8日
    46
  • 人工智能的发展,需要遵守的四个AI伦理原则

    人工智能的发展,需要遵守的四个AI伦理原则

    2021年6月21日
    88
  • numpy float转int_python字符串转float类型

    numpy float转int_python字符串转float类型查看数据类型print(image.dtype)unit8转换成float32先将图片转化为float32类型,再除以255,得到0-1之间的数importnumpyasnpimage=image.astype(np.float32)/255float32转换成uint8每个数乘以255,再转化为uint8importnumpyasnpimage=(image*255).astype(np.uint8)…

    2025年12月12日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号