Nested Segments CodeForces - 652D 树状数组

SI案例分享--PCB通孔互连新技术的应用(VeCS) 本文介绍了VeCS的物理结构和制造过程,并通过全波仿真模拟和测量,分析了VeCS的电性能,并与传统的测量方法进行了比较。结果表明,由于有一个连续的参考平面,VeCS的TDR阻抗可以很容易地控制到目标阻抗,同时可以大大减轻信道上的串扰,的确是一种性能不错的PCB互连创新设计方案。 阅读详情

D. Nested Segments
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

You are given n segments on a line. There are no ends of some segments that coincide. For each segment find the number of segments it contains.

Input

The first line contains a single integer n (1 ≤ n ≤ 2·105) — the number of segments on a line.

Each of the next n lines contains two integers li and ri ( - 109 ≤ li < ri ≤ 109) — the coordinates of the left and the right ends of the i-th segment. It is guaranteed that there are no ends of some segments that coincide.

Output

Print n lines. The j-th of them should contain the only integer aj — the number of segments contained in the j-th segment.

Examples
input
4
1 8
2 3
4 7
5 6
output
3
0
1
0
input
3
3 4
1 5
2 6
output
0
1
1

给定n条线段,问每条线段包含了几条线段,先根据左端点值从大到小排序,相等按照右端点值从小到大,这样排序后前面的区间相对与后面的区间左端点可以满足条件,只需求前面的线段里有几个右端点也满足的即可,这一步可以用树状数组维护,不过这个题的右端点值范围较大,所以要先将右端点值离散化处理,在用树状数组维护

#include<bits/stdc++.h>
using namespace std;
struct node
{
	int l,r;
	int index;
}num[200005];
int f[200005],ans[200005],n;
int sum(int x)
{
	int sum=0;
	while(x>0)
	{	
		sum+=f[x];
		x-=x&-x;
	}
	return sum;
}
int add(int t,int x)
{
	while(t<=n)
	{
		f[t]+=x;
		t+=t&-t;
	}
}
int cmp1(node u,node v)
{
	if(u.l==v.l)
	{
		return u.r<v.r;
	}
	return u.l>v.l;
}
int cmp(node u,node v)
{
	return u.r<v.r;
}
map<int,int>p;
int main()
{
	int i;
	cin>>n;
	for(i=0;i<n;i++)
	{
		scanf("%d %d",&num[i].l,&num[i].r);
		num[i].index=i;
	}
	int cnt=1;
	sort(num,num+n,cmp);
	for(i=0;i<n;i++)
	{
		if(!p.count(num[i].r))
		{
			p[num[i].r]=cnt++;
		}
	}
	sort(num,num+n,cmp1);
	for(i=0;i<n;i++)
	{
		ans[num[i].index]=sum(p[num[i].r]);
		add(p[num[i].r],1);
	}
	for(i=0;i<n;i++)
	{
		printf("%d\n",ans[i]);
	}
	return 0;
}




STM32(HAL库)驱动OLED 通过STM32F103C8T6单片机采用HAL库方式对0.96寸OLED(IIC通讯)屏幕进行驱动。 阅读详情

相关推荐

Nuvoton OpenTitan开源安全芯片技术解析与应用

硬件安全模块(HSM)作为可信计算基的核心组件,其设计透明度和可验证性正成为行业焦点。RISC-V架构凭借开源特性,为构建可审计的安全芯片提供了新范式。OpenTitan项目通过开放Verilog源码和形式化证明,实现了从物理不可克隆函数(PUF)到分层安全启动的全栈透明。该方案在lowRISC Voyager开发板上实测显示,安全启动时间小于200ms,性能损耗仅7%,显著优于传统黑盒方案。目前该技术已应用于Chromebook和数据中心,其40nm工艺版本更将功耗降至5μA待机水平,为物联网和边缘计算提

weixin_36303807的博客 400

Nested Segments(离散+树状数组)

You are given n segments on a line. There are no ends of some segments that coincide. For each segment find the number of segments it contains. Input The first line contains a single integer n (1 ≤ n ...

fang_kuai的博客 532

SAP 超详细解析信用控制

当然,集团内中国区、日本或欧洲区的公司使用了不同本位货币会计核算虽然分开,但对于客户的信用也可以统一管 理的,只要将这些不同本位币的公司代码纳入同一信用控制范围,信用控制范围货币可以考虑使用总部集团的货币,各公司代码的信用发生额自动根据系统设定汇率 转换为统一的信用控制范围货币。此步有一个“覆盖CC范 围”的选项,表示在过账时此步缺省的分配给公司代码的信用控制范围可以在其它信用控制范围使用,有时当一个公司代码的客户需要将信用数据过账到其它信用控 制区域,这个选择就非常有必要。

matinal 當冬夜漸暖 。公众号:matinal 1万+

Nested Segments

Nested Segments 题面 题目描述 给你n个闭区间,让你判断是否有两个区间之间存在包含关系(解释:如果有两个区间A[a,b] B[c,d],当a&amp;lt;=c且b&amp;gt;=d时,我们认定A与B存在包含关系)。如果对题意还是不理解的可以看样例与note。 题目分析 这道题一出来,最朴素的解法就是暴力枚举所有可能的情况 即:for(i=1;i&amp;lt;n;i++){ for(j=i+1;j...

weixin_44412226的博客 703

用5毫欧采样电阻实现高精度电流检测?数字可调电源控制板的硬件设计陷阱

本文深入探讨了在数字可调电源控制板设计中,如何利用5毫欧采样电阻实现高精度电流检测。从微小信号放大电路设计、采样电阻布局与热管理,到电源切换与电池管理电路优化,提供了全面的硬件设计解决方案和实用技巧,帮助工程师规避常见设计陷阱,提升系统性能。

wdx0123456的博客 1030

当勒索软件盯上虚拟化层:从CVE-2025-22225漏洞看ESXi安全加固要点

本文深度剖析了针对VMware ESXi虚拟化层的CVE-2025-22225等漏洞链的攻击原理,揭示了攻击者如何利用VMCI、HGFS组件从虚拟机逃逸至宿主机。文章从实战角度出发,系统性地提出了ESXi安全加固的核心策略,包括禁用非必要服务、强化主机配置、实施网络分段、建立实时监控与自动化补丁管理体系,为企业构建纵深防御体系提供了具体可行的操作指南。

terraform7cloud的博客 857

D. Nested Segments(树状数组,排序)

先对右端点小到大来排序,维护左端点先对右端点小到大来排序,维护左端点先对右端点小到大来排序,维护左端点 由于排序后第iii条线段的右端点小于之后的右端点’ 所以右边的线段不可能对自己有贡献 考虑左边的线段对自己的贡献 由于自己的右端点大于前面的线段,想包含他们,还需要左端点小于他们由于自己的右端点大于前面的线段,想包含他们,还需要左端点小于他们由于自己的右端点大于前面的线段,想包含他们,还需要左端点小于他们 所以树状数组统计前面左端点大于自己左端点的个数即可所以树状数组统计前面左端点大于自己左端点的个数即可

jziwjxjd的博客 620

Vue+OpenLayers:解决中国境内OpenStreetMap地图加载问题

然而,在使用OpenLayers和Vue框架搭建地图应用时,很多中国开发者可能会遇到一个常见问题:OpenStreetMap(OSM)地图无法正常加载。为了解决这个问题,我们可以使用其他方式获取地图数据,比如使用国内的地图服务提供商。通过使用国内地图服务商提供的地图数据,我们可以解决OpenStreetMap地图加载问题。然后,我们创建一个OpenLayers地图对象,并指定地图图层的源为国内地图服务商提供的地图URL。属性,可以将地图的中心点和缩放级别调整到我们需要的位置。

CodeWhizZ的博客 8274

D. Nested Segments(树状数组、离散化)

题目链接 参考博客 题意:   给n个线段,对于每个线段问它覆盖了多少个线段。 思路:   由于线段端点是在2e9范围内,所以要先离散化到2e5内(左右端点都离散化了,而且实际上离散化的范围是4e5),然后对右端点升序排序:   例如 2 3     5 6     4 7     1 8   这样的话,如果对i<j,a[ i...

ampg66396的博客 315

学Simulink——基于风力发电系统的建模与仿真场景:基于自适应控制的风力发电系统输出功率调节

本文详细介绍了使用Simulink搭建风力发电系统自适应控制模型的完整流程。首先阐述了风速波动对电网的影响及自适应控制的优势,然后逐步指导创建Simulink项目、搭建系统结构(包括风速源、风轮机、发电机等模块),重点讲解了模型参考自适应控制器(MRAC)的设计步骤和参数设置方法。通过仿真分析验证了系统在风速变化时仍能保持输出功率稳定,展示了自适应控制的响应速度和鲁棒性。最后提出了引入深度学习预测、多变量控制等优化方向,为新能源领域工程师提供了实用的建模与仿真指导。

amy_mhd的博客 220

37、基于视觉的轻量级面部呼吸和心率测量技术

本文提出了一种基于视觉的轻量级面部呼吸和心率测量技术,通过远程光电容积脉搏波描记法(RPPG)和面部振动信息实现非接触式生理信号采集。创新性地结合框选和特征点选择多个感兴趣区域(ROI),并采用光流跟踪、主成分分析(PCA)和集成经验模态分解(EEMD)等方法优化信号处理流程。实验结果表明,该方法在测量精度和稳定性方面优于传统方法,并可在树莓派4等低功耗平台上实现实时运行,具有广泛的应用前景。

r7s8t的博客 307

Weight of the System of Nested Segments

【代码】Weight of the System of Nested Segments。

m0_73915139的博客 146

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Codeforces 652D Nested Segments 【树状数组 + 离散化】

题目链接:Codeforces 652D Nested Segments D. Nested Segments time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard output You are given n segments on a li

世界很大 1069

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

CodeForces - 652D Nested Segments(树状数组)

题目链接:https://codeforces.com/problemset/problem/652/D 题意:给你n条线段,每条线段的右端点一定不一样,问每一条线段包含几条线段。 思路:首先,我们可以把这n条线段按照左端点从小到大排序,如果左端点相同,就按照右端点从大到小排序。 如果拿第一个样例来举例的话,排序之后应该是这样的 这样,问题就转化成了对每一个直线的右端点,查找这条直线后面有多少个...

qq_43423395的博客 214

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Nested Segments CodeForces 652D 树状数组+离散化

传送门:CodeForces  652D 题意:给出n个区间,问每个区间包含多少区间。 思路:同时维护两个端点不好维护,我们可以按其中一个端点排序然后维护另一个端点,用树状数组维护一下就好了。 代码:#include #define ll long long #define pi acos(-1) #define MAXN 100010 #define inf 0x3f3f3f3f usin

WA是一笔财富 401

CodeForces 652D Nested Segments (树状数组)

题意:给你n个区间,问每个区间包含了多少个区间 思路:先离散化一波,然后就是显然的树状数组瞎搞了...和POJ2458差不多 #include #include #include #include #include #include #include #include #include #include #include #include #include u

围巾的ACM博客 1108

CodeForces 652D Nested Segments 树状数组

题意: 给你n个区间,问第i个区间有多少个子区间? 分析: 跟poj2481那题差不多,把区间看成是一个点,那么一个区间的子区间一定在它的右下方,即x比他的大,y比他的小的点。然后用树状数组搞下就好,因为题目范围是( - 1e9≤ li < ri ≤ 1e9) ,所以要离散化,因为每个区间的右端点都不一样,所以直接对y排序后离散化就可以。 #includ...

196

CodeForces 652D Nested Segments(离散化,树状数组)

题目链接:http://codeforces.com/problemset/problem/652/D D. Nested Segments time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa

Shyazhut 463

Codeforces 652D Nested Segments 树状数组离线处理

You are given n segments on a line. There are no ends of some segments that coincide. For each segment find the number of segments it contains.Input The first line contains a single integer n (1 ≤ n ≤

青铜时代 479

【Codeforces 652 D Nested Segments】+ 树状数组 + 离散化

D. Nested Segments time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard outputYou are given n segments on a line. There are no ends of some seg

楚江枫 596

CodeForces 652D :Nested Segments 思维 + 树状数组

传送门 题意 给你nnn条闭区间的线段,求每条能够包含的线段的数量 分析 考虑固定一维,将线段的左端点从大到小排序,那么被包含的线段一定是访问过的,右端点小于当前访问线段右端点的线段,离散化之后用树状数组维护即可 代码 #pragma GCC optimize(3) #include <bits/stdc++.h> #define debug(x) cout<<#x<<":"<<x<<endl; #define dl(x) printf("%lld

tlyzxc的博客 264

[离散化+树状数组]CodeForces - 652D Nested Segments

Nested Segments time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output You are givennsegments on a line. Th...

dixiangee374493的博客 147

codeforces_652D. Nested Segments(树状数组、二分)

D. Nested Segments time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output You are given n segments on a line. Ther

凳子 538

Nested Segments CodeForces - 652D (树状数组,离散化)

You are given n segments on a line. There are no ends of some segments that coincide. For each segment find the number of segments it contains.Input The first line contains a single integer n (1 ≤ n ≤

Hanylch 370

CodeForces 652D Nested Segments(树状数组 离散化)

题意:给你N条线段,保证线段终点没有重复,求每条线段他包含多少条线段。 思路:将线段按左端点排序,那么问题就变成了求这条线段之后的右端点比当前右端点小的线段有几条。这样就可以拿树状数组来做,先把每条边的右 端点+1,每处理一个边,就把该边的右端点-1,那么树状数组中维护的就是该边之后的。query(r-1)就是查询当前边之后的边中右端点比当前右端点 小的边数量。因为坐标比较大,所以需

CillyB的博客 616

codeforces 652D Nested Segments 离散化+树状数组

题意:给你若干个区间,询问每个区间包含几个其它区间 分析:区间范围比较大,然后离散化,按右端点排序,每次更新树状数组中的区间左端点,查询区间和 注:(都是套路) #include<cstdio> #include<cstring> #include<queue> #include<cstdlib> #include&l...

weixin_30565199的博客 132
上一篇: D - Longest Subsequence CodeForces - 632D
下一篇: Number of Parallelograms CodeForces - 660D 思维
jerans
博客等级 码龄10年 54粉丝 255原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值