奇怪的报数问题(线段树,类似于划分树)

IEC 61851-24:2023 电动汽车导电充电系统 - 第24部分:直流电动汽车供电设备与电动汽车之间的数字通信,用于控制直流充电 - 完整英文电子版(110页) IEC 61851-24:2023 与 IEC 61851-23 共同适用于直流电动车供电设备与电动道路车辆(EV)之间的数字通信,用于控制导电直流电力传输,额定电源电压最高可达1000伏交流电或最高1500伏直流电,额定输出电压最高可达1500伏直流电。 立即下载

在这里插入图片描述

题解

有点类似于划分树的过程,线段树维护的是区间[l,r]中的总人数,这里倒过来做,从最后一个开始确定,如果当前人数u <= sum[lson],那就去左儿子的区间里找,否则u-sum[lson]到右儿子的区间里找,最后找到叶子结点就是答案。同时把这个叶子结点权值减1。

代码

#include <bits/stdc++.h>
using namespace std;
#define FOR0(a,b) for(int i = a; i < b; ++i)
#define FORE(a,b) for(int i = a; i <= b; ++i)
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
typedef long long ll;
typedef pair<int,int> pii;

const int maxn = 5e5+5;

int sum[maxn<<2];

void pushup(int rt) {
	sum[rt] = sum[rt<<1]+sum[rt<<1|1];
}
void build(int l,int r,int rt) {
	if(l == r) {
		sum[rt] = 1;
		return;
	}
	int mid = (l+r)>>1;
	build(lson);
	build(rson);
	pushup(rt);
}

void update(int o, int l, int r,int rt) {
	if(l == r) {
		sum[rt]--;
		return;
	}
	int mid = (l+r)>>1;
	if(mid >= o) update(o, lson);
	else update(o, rson);
	pushup(rt);
}
void query(int& ans, int o, int l, int r, int rt) {
	if(l == r) {
		ans = r;
		return;
	}
	int mid = (l+r)>>1;
	if(sum[rt<<1] >= o) query(ans, o, lson);
	else query(ans,o-sum[rt<<1], rson);
}
inline int read()
{
    int k=0;
    char f=1;
    char c=getchar();
    for(;!isdigit(c);c=getchar() )
        if(c=='-')
            f=-1;
    for(;isdigit(c);c=getchar() )
        k=k*10+c-'0';
    return k*f;
}
inline void write(int x)
{
     if(x<0) putchar('-'),x=-x;
     if(x>9) write(x/10);
     putchar(x%10+'0');
}
int a[maxn],ans[maxn];
int main() {
	int n;
	scanf("%d", &n);
	build(1,n,1);
	a[0] = 0;
	for(int i = 1; i < n; ++i)
		a[i] = read();
	for(int i = n-1; i >= 0; --i) {
		a[i]++;
		int v = 1;
		query(v,a[i],1,n,1);
		ans[i] = v;
		update(v,1,n,1);
	}
	for(int i = 0; i < n; ++i,puts("")) write(ans[i]);
	return 0;
}
Linux下的段错误(Segmentation fault)产生的原因及调试方法(经典) 立即下载

相关推荐

北京大学数字普惠金融指数2011年-2023年(PKU-DFIIC)

该数据集可能涵盖以下几个方面:一是金融服务的可达性,涉及金融服务在不同人群和不同地区的普及程度,尤其是对中小企业、农村地区和低收入群体的覆盖;二是数字金融服务的使用情况,包括电子支付、网络贷款、互联网保险、数字资产管理等,反映人们在日常生活中对数字金融服务的依赖与使用;三是普惠金融的普及程度,可能包含金融服务覆盖的人群比例、地理范围以及服务种类和使用频率;四是创新技术的应用情况,涵盖大数据、区块链、云计算、人工智能等新技术在金融服务中的应用程度及其影响;五是监管环境与政策导向,反映国家和地方政策对数字普惠金融发展的支持与监管;六是金融服务的满意度与问题,收集用户对数字金融服务的满意度评价以及服务过程中遇到的问题和挑战。 该数据集对研究机构、政策制定者和金融科技公司均具有重要价值。研究机构可借助这些数据了解数字普惠金融的发展趋势和模式,识别影响普惠金融发展的关键因素;政策制定者可依据数据内容制定针对性政策,推动金融服务均衡发展;金融科技公司则可通过分析数据优化产品设计,满足不同用户群体的需求。 此外,感兴趣的读者可通过文中提供的链接查阅详细介绍和样例数据,进一步了解数据集的构成与应用方式。该链接指向一篇博客文章,文章详细介绍了数据集的结构和内容,并可能提供样例数据供参考,帮助读者更好地理解和使用这些数据。数据集标签为“数据集”,说明它是一个经过整理和加工的原始数据集合,便于学者和研究人员在不涉及原始数据收集过程的情况下直接使用这些数据开展研究和分析,有助于缩短研究时间、提升研究效率并促进知识共享。

B. Code For 1 一个类似于线段树的东西

http://codeforces.com/contest/768/problem/B 我的做法是,观察到,只有是x % 2的情况下,才有可能出现0 其他的,都是1来的,所以开始的ans应该是R - L + 1 那么现在就是要看那些是x % 2的,然后放在的位置是属于【L, R】的,有多少个0,减去就行。 一开始,总长度是可以算出来的,然后就能算出一开始的n % 2的位置是那个,就是mid...

weixin_30521161的博客 136

DataGear是一款开源免费的数据可视化分析平台,自由制作任何数据看板,支持接入SQL、CSV、Excel、HTTP接口、JSON等多种数据源

DataGear是一款开源免费的数据可视化分析平台,自由制作任何数据看板,支持接入SQL、CSV、Excel、HTTP接口、JSON等多种数据源。系统主要功能包括:数据源管理、SQL工作台、数据导入/导出、项目管理、数据集管理、图表管理、看板管理、用户管理、角色管理、数据源驱动管理、图表插件管理等。

【线段树】区间gcd

题意 初始有n个数。 有两个操作 L R x 查询[L,R]的gcd是不是x,在查询过程中可以任意篡改一个数(不是真正的修改) pos x 将pos位置的值修改为x 题解 因为每次可以修改一个数,所以就不能只维护每个区间的gcd,还应该维护该区间不是x倍数的数的个数,如果 >= 2就失败。 这里有个优化就是对于 gcd == x的区别就没必要再查询下去了,因为不存在不是x倍数的区间。 代...

Link_Ray的博客 1146

【带状电容器计算用于电容式触摸传感器应用】半数值模型的电容式触摸传感器集成于金属基材涂层中研究(Matlab代码实现)

内容概要:本文针对电容式触摸传感器在金属基材上应用时易受干扰的问题,提出一种基于半数值模型的仿真分析方法,用于精确计算带状电容器在金属背景下的电容变化。研究通过构建合理的物理模型,结合电磁场理论与数值计算技术,在Matlab平台上实现代码仿真,有效克服金属环境对传感器性能的负面影响,提升其在复杂材料表面工作的稳定性和灵敏度,具有良好的工程应用前景。该方法不仅适用于基础研究,也可为实际产品中抗干扰触摸传感器的设计提供理论依据和技术支撑。; 适合人群:具备电磁场与微波技术基础知识及Matlab编程能力,从事传感器设计、人机交互设备开发、嵌入式系统研发等相关领域的高校研究生、科研人员和工程技术人员。; 使用场景及目标:①开展电容式触摸传感器在金属基材上的集成与优化设计;②掌握半数值建模与仿真方法在电磁传感系统中的应用;③为工业环境下高抗扰触摸器件的研发提供仿真验证手段与设计指导。; 阅读建议:此资源强调物理建模与数值仿真的紧密结合,建议读者结合电磁学原理深入理解边界条件设置、介质分布建模与电场求解过程,并动手运行Matlab代码,调试参数以观察电容响应特性,从而全面提升对传感器工作机制与仿真分析能力的掌握。

【顶级EI复现】基于KKT条件与分段解析优化的双有源桥DC-DC变换器软开关协同最小应力闭环控制方法(Simulink仿真实现)

内容概要:本文提出了一种基于KKT条件与分段解析优化的双有源桥DC-DC变换器软开关协同最小应力闭环控制方法,旨在实现高效、高可靠性的电力转换。该方法通过建立精确的电路数学模型,结合KKT最优性条件进行分段解析优化,有效协调零电压/零电流软开关实现条件与功率器件电压电流应力之间的矛盾,在确保宽范围软开关的前提下显著降低器件的电气应力,从而提升系统效率与寿命。文中详细阐述了控制策略的理论推导过程,并在Simulink平台上构建了完整的闭环仿真模型,验证了该方法在动态响应速度、转换效率优化及器件应力抑制等方面的优异性能,是对高水平EI期刊研究成果的高质量复现; 适合人群:电力电子、电气工程及其自动化等相关专业的研究生、科研人员,以及从事DC-DC变换器控制算法开发的工程师;适用于具备扎实电路拓扑分析能力与现代控制理论基础的专业技术人员; 使用场景及目标:①深入理解双有源桥(DAB)变换器的工作机理与关键控制挑战;②掌握将非线性优化问题转化为KKT条件求解的方法及其在电力电子系统中的实际应用;③学习如何通过分段解析策略实现多目标(软开关与低应力)协同优化控制;④复现并拓展EI级论文中的先进控制算法,支撑科研创新与工程实践; 阅读建议:建议读者结合提供的Simulink仿真模型,逐步跟进理论推导与控制逻辑实现过程,重点关注KKT条件的引入方式、边界约束处理及闭环控制器设计细节,同时可尝试将该优化思想迁移至其他隔离型DC-DC变换器拓扑中进行对比验证,以深化对先进优化控制策略的理解与应用能力。

【2018 ccpc-final Gym 102055】B.Balance of the Force(枚举最大值)

https://codeforces.com/gym/102055/problem/B 题意 宇宙中有两个阵营,分别为光明和黑暗,现在有n个骑士,每个骑士都能选择加入黑暗或者光明的阵营,加入后的能力值分别为D和L,已知有m对骑士不愿意在同一个阵营,请问如何分配,能使得能力最高的骑士和能力最低的骑士之间的能力差值最小? 题解 此题关键点便是枚举最大值,找到最大的最小值,更新答案。 首先对骑士进行二分...

Link_Ray的博客 1069

无刷直流电机(BLDCM)转速电流双闭环控制、三相桥式星型全控电机研究(Simulink仿真实现)

内容概要:本文围绕无刷直流电机(BLDCM)的转速电流双闭环控制系统展开深入研究,重点基于Matlab/Simulink平台构建三相桥式星型全控电路的高精度仿真模型,实现对电机运行状态的精确控制。研究系统性地对比了传统PID控制与模糊PID控制策略在动态响应速度、抗干扰能力、稳态精度及鲁棒性等方面的性能差异,深入剖析电流环与转速环的协同作用机制。同时,文章进一步引入无位置传感器控制技术与滑模观测器(SMO),有效解决了机械传感器带来的成本与可靠性问题,提升了系统的集成度与工程实用性。所提供的多个仿真模型(含模糊神经网络PID等高级控制策略)为控制算法的验证与优化提供了可复现的技术路径,仿真结果可为电机驱动系统的工业设计与科研创新提供坚实的理论依据和技术支撑。; 适合人群:自动化、电气工程、电力电子与电机控制等相关专业的本科生、研究生,以及从事电机驱动系统研发、新能源汽车、工业自动化等领域工作的工程师和技术人员。; 使用场景及目标:①掌握无刷直流电机双闭环控制系统的建模、仿真与调试全流程;②深入理解并实践传统PID与模糊PID控制器的设计原理与参数整定方法;③探究无位置传感器控制与滑模观测器等先进估测技术的实现机理;④为毕业设计、科研课题、课程项目或工业级电机控制器开发提供可直接借鉴的仿真基础与解决方案。; 阅读建议:建议读者结合Matlab/Simulink环境进行动手实践,按照文档指引逐步搭建模型,重点观察不同控制策略下的系统响应曲线,深入分析控制参数变化对性能的影响,并鼓励在此基础上拓展研究如负载突变、参数摄动等复杂工况下的控制策略优化。

WHU网络赛store 线段树+二分

题意 一共有n件商品,编号为1~n,有两种操作。 M X Y:在第X天会卖出编号为Y的商品。 D X Y:询问[1,X]中卖出的商品编号>=Y中编号最小的一个是哪个,没有的话输出-1。 对于每个询问D,输出相应的答案。 数据范围1<=n<=2e5,1 <=x<=1e9。 题解 对商品建立一颗线段树,线段树的结点维护的是当前区间里最找卖出的时间。 对于一个查询,我们...

Link_Ray的博客 945

【顶级EI复现】新扩展移相角下的双有源桥DC-DC 变换器优化控制策略(Simulink仿真实现)

内容概要:本文聚焦于“新扩展移相角下的双有源桥DC-DC变换器优化控制策略”的高水平EI论文复现与深化研究,系统性地实现了基于扩展移相调制(EPS)的DAB变换器控制方案,重点涵盖软开关技术的实现、器件最小应力优化及双闭环控制系统的设计。通过Simulink平台构建完整的仿真模型,验证了该控制策略在提升能量转换效率、降低功率器件电压电流应力、改善动态响应性能等方面的优越性,体现了先进控制理论与电力电子系统深度融合的技术特征。; 适合人群:电力电子、电气工程及其自动化、新能源系统控制等方向的研究生、科研人员及从事DC-DC变换器研发的工程技术人员,尤其适合具备电路拓扑分析能力与控制系统仿真基础的专业人士。; 使用场景及目标:①深入掌握双有源桥变换器的工作机理及其在电动汽车、微电网、可再生能源并网等场景中的关键技术应用;②理解并实现扩展移相调制(EPS)与软开关、最小应力优化之间的协同控制机制;③学习高水平EI期刊论文的建模规范、算法设计逻辑与仿真验证方法,提升科研实践能力;④为后续开展多模块并联、数字化控制或新型调制策略创新提供技术储备。; 阅读建议:此资源以Simulink仿真实现为核心载体,建议读者结合文档逐步搭建模型,重点关注调制信号生成、闭环控制器参数整定、软开关边界条件分析及系统性能对比,鼓励在复现基础上进行拓展性研究,如引入数字延迟补偿、优化启动策略或多模式切换逻辑,以深化对DAB系统动态特性的理解。

三相PWM整流器双闭环控制仿真模型(Simulink仿真实现)

内容概要:本文详细介绍了基于Simulink仿真实现的三相PWM整流器双闭环控制仿真模型,重点阐述了电流内环与电压外环协同控制的原理与实现方法。通过构建完整的控制系统模型,深入解析PWM整流器的工作机制、动态响应特性及系统稳定性控制策略,帮助读者掌握电力电子系统中典型控制结构的设计思路。文章不仅提供可操作的仿真建模流程,还结合科研实际需求,配套丰富的学习资源链接,涵盖智能优化、机器学习、图像处理、路径规划、通信与信号处理、电力系统管理等多个技术领域的仿真案例,具有较强的实践指导意义。; 适合人群:适用于电气工程、自动化、电力电子及相关专业的本科生、研究生、科研人员,以及具备一定MATLAB/Simulink基础并从事电力电子系统仿真与控制研究的专业技术人员。; 使用场景及目标:①深入理解三相PWM整流器的工作原理及双闭环控制策略的设计与调试;②独立搭建并优化电力电子系统的Simulink仿真模型,服务于课程设计、毕业设计或科研项目;③借助配套资源拓展至多学科交叉领域的仿真研究与算法应用。; 阅读建议:建议按照文档结构结合网盘提供的仿真文件逐步实践,重点关注控制器参数整定、系统动态性能分析与仿真模块搭建,并配合相关理论学习以提升对电力电子系统控制本质的理解。

POJ2104平方分割(线段树)

题目链接: http://poj.org/problem?id=2104 题意: 给出一个区间[l,r]和一个k,要查询 a(l),a(l+1), … a(r)中,按升序排列下第k个数。 例如数列:1 5 2 6 3 7 4 要查询[2, 5]中第 3个数, 即 5 2 6 3 按升序排列 2 3 5 6的第 3个, 即为5。 很朴素的想法就是每次查询的时候都把要查询的区间排个序,然后取出...

Link_Ray的博客 413

ADS1299寄存器配置与应用实战指南

本文提供了ADS1299高精度生物电信号采集芯片的寄存器配置与应用实战指南。详细解析了采样率、增益、转换模式等核心寄存器的设置方法,并分享了数据读取、高级功能配置及常见问题的调试心得,帮助开发者快速掌握ADS1299的配置技巧,实现稳定的ECG/EEG信号采集。

weixin_28278377的博客 194

P2023 维护序列(线段树标记,乘法和加法标记)

https://www.luogu.org/problemnew/show/P2023 题解 乘法的标记和加法的标记相同,主要差别是在标记下传的时候,一定要先对之前的标记进行操作,即把当前的数乘以乘法标记再加上加法标记,这步必须同时进行,因为如果分开的话,若是加上加法标记再做乘法的话答案就会出错。 代码 #include &lt;bits/stdc++.h&gt; using namespace ...

Link_Ray的博客 386

PayPal支付集成完全指南:开源库实践

本文介绍了如何从零开始集成PayPal支付功能。首先概述了PayPal提供的多语言SDK和开源库,包括PHP、Python、Node.js等版本。然后详细说明了准备工作,包括注册开发者账号、获取API凭证和使用沙盒环境测试。文章以Node.js为例,演示了安装SDK、基础配置和实现支付流程的完整代码,包括创建订单和捕获支付两个核心功能。最后提及了订阅支付等高级功能,为开发者提供了完整的支付集成方案。通过清晰的代码示例和步骤说明,帮助开发者快速实现PayPal支付功能集成。

2501_93501927的博客 1257

操作系统原理:【优麒麟】linux内核添加系统调用

在底端添加如下代码。

Joyce_zz的博客 2709

P2161 会场预约(区间染色)

https://www.luogu.org/problemnew/show/P2161 题解 这题可以转换成区间染色的问题,即对一段区间进行染色,问最后纯色的区间一共有多少个(不超过一种颜色的区间)。 对每一段区间维护一个color和tag,color&gt;0代表该区间染了一种颜色,color=-1代表区间杂色,color=0代表区间无色。 tag就是一个懒惰标记。 这里有两个操作: 查询当前...

Link_Ray的博客 359

23、资产分散化与有效前沿:投资组合优化的核心策略

本文深入探讨了现代投资组合理论的核心概念,包括分散投资的重要性、均值-方差优化框架以及有效前沿的构建与应用。通过案例分析和数学模型,阐述了如何通过科学方法降低投资组合风险并实现最优风险收益权衡。文章还介绍了实际应用中的求解方法与决策流程,为投资者提供系统的投资组合优化指导。

cc789的博客 114

线段树矩形面积并,面积交,周长并

矩形面积交 #include &amp;lt;bits/stdc++.h&amp;gt; using namespace std; const int maxn = 2000+10; #define lson l, mid, rt&amp;lt;&amp;lt;1 #define rson mid+1, r, rt&amp;lt;&amp;lt;1|1 struct Rec{ double x1, x2, h; int d;

Link_Ray的博客 298

YOLOv12模型详解及代码复现

YOLOV12算法详解及Python代码复现

hasakie的博客 6487

【GB28181】wvp-GB28181-pro部署安装教程(Ubuntu平台)

初始环境安装。

废人一枚的博客 5079

POJ3468A Simple Problem with Integers(线段树)

最近在学线段树,感觉光做题收获并不是很大,还是要静下来归纳总结写写博客缕清思路。 这是一道线段树区间修改,区间求和的裸题的裸题,参照挑战程序设计书上的方法,维护了一个datb[]数组和一个data[]数据,用来记录整个区间增加的值,从而就没必要把add分配给其孩子结点,节省了一大笔开销。 data 和 datb的主要区别在于修改的区间:[a,b] 是否完全包含当前区间[l,r]。若[l,r]

Link_Ray的博客 274

MATLAB使用贝叶斯网络bnt工具箱:使用手册详解

MATLAB使用贝叶斯bnt网络工具箱:使用手册详解

WW、forever的博客 2675

uva11992 Fast Martix Operations 线段树区间set+区间add

题意 有一个r行c列的全0矩阵,支持以下3种操作,如表所示。 操作 备注 1 x1 y1 x2 y2 v 子矩阵(x1,y1,2,y2)的所有元素增加v(v&gt;0) 2 x1 y1 x2 y2 v 子矩阵(x1,y1,x2,y2)的所有元素设为v(v&gt;0) 3 x1 y1 x2 y2 查询子矩阵(x1,y1,x2,y2)的元素和、最小值和最大值 子矩阵(x1,...

Link_Ray的博客 175

DBeaver配置本地mysql-connector驱动文件

本文摘要:介绍了数据库驱动管理的基本操作步骤:1)新建驱动管理器,填写MySQL驱动名称、类名和类型;2)添加本地MySQL驱动文件;3)创建数据库连接并测试。适用于MySQL5.x和8.x版本,帮助用户快速配置数据库连接。

litlit023的专栏 1679

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

上一篇: P1273 有线电视网 (树上分组背包)
下一篇: CSL的训练计划(拓扑排序)
Link_Ray
博客等级 码龄9年 44粉丝 156原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值