WHU网络赛store 线段树+二分

双闭环PWM整流器VOC控制 +SVPWM调制仿真(Simulink仿真实现) 内容概要:本文围绕城市空中交通环境下多无人机协同路径规划问题展开深入研究,重点探讨了在包含建筑物、禁飞区、动态威胁等复杂约束条件下,如何利用仿生优化算法(如布谷鲶鱼优化算法CCO、灰雁优化算法GGO、田忌赛马优化算法THRO)实现安全、高效的多无人机路径规划。文章提出了一种分层规划策略,融合全局路径规划与局部动态避障机制,构建了综合考虑路径长度、威胁暴露度、高度变化及地形碰撞风险的多目标优化模型。通过Matlab仿真平台对多种算法进行对比实验,系统评估了各算法在路径安全性、收敛速度、优化性能和鲁棒性方面的表现,并深入分析了现有方法的局限性,对未来研究方向如动态环境适应、通信受限下的分布式协同等进行了展望。; 适合人群:具备一定编程基础,熟悉Matlab/Simulink仿真环境,从事无人机系统设计、智能交通、自动化控制、路径规划算法研究等相关领域的科研人员及高校研究生。; 使用场景及目标:①应用于城市空中交通系统中多无人机的协同任务执行与动态避障;②为复杂威胁环境下多智能体系统的路径规划提供先进算法支持与仿真验证框架;③辅助研究人员深入理解并复现仿生优化算法在高维、多约束路径规划问题中的具体实现与性能差异。; 阅读建议:此资源以Matlab代码实现为核心,紧密结合理论建模与仿真实验,建议读者在学习过程中重点关注算法的设计原理、参数调优策略及仿真结果的可视化分析,结合文中提供的实验数据进行横向对比,以深刻把握不同仿生算法的搜索机制、适用场景及其在实际工程应用中的潜力与挑战。 立即下载

题意

一共有n件商品,编号为1~n,有两种操作。

  1. M X Y:在第X天会卖出编号为Y的商品。
  2. D X Y:询问[1,X]中卖出的商品编号>=Y中编号最小的一个是哪个,没有的话输出-1。

对于每个询问D,输出相应的答案。
数据范围1<=n<=2e5,1 <=x<=1e9。

题解

对商品建立一颗线段树,线段树的结点维护的是当前区间里最找卖出的时间。
对于一个查询,我们可以二分答案,即二分编号最小的物品,令l=Y, r = n,然后二分答案,对于每个二分的mid,如果[l,mid]的中有符合<=X的(在编号l,mid]之间的物品里有小等于第X天卖出的物品),那么r = mid-1,否则l=mid+1。
时间复杂度为:O(nlognlogn),2e5*14*14 ≈ 4e7

代码

#include <bits/stdc++.h>

#define lson rt<<1, l, mid
#define rson rt<<1|1, mid+1, r

using namespace std;

const int N = 200000 + 5;
const int INF = 0x7fffffff;

int n, q;
int val[N<<2];
void pushup(int rt) {
	val[rt] = min(val[rt<<1], val[rt<<1|1]);
}
void update(int rt, int l, int r, int p, int v) {
	if (l == r) {
		val[rt] = v;
		return;
	}
	int mid = (l + r) >> 1;
	if (p <= mid) update(lson, p, v);
	if (p >  mid) update(rson, p, v);
	pushup(rt);
}
int query(int rt, int l, int r, int ql, int qr) {
	if (ql <= l && r <= qr) {
		return val[rt];
	}
	int mid = (l + r) >> 1;
	int ret = INF;
	if (ql <= mid) ret = min(ret, query(lson, ql, qr));
	if (qr >  mid) ret = min(ret, query(rson, ql, qr));
	return ret;
}
int find(int l, int r, int lim) {
	int ans = -1;
	
	while (l <= r) {
		// cout << l << " " << r << endl;
		int mid = (l + r) >> 1;
		if (query(1, 1, n, l, mid) <= lim) {
			r = mid - 1;
			ans = mid;
		} else l = mid + 1;
	}
	return ans;
}

int main() {
	freopen("sample.in", "r", stdin);
	freopen("sample.out", "w", stdout);
	
	scanf("%d%d", &n, &q);
	char op[3];
	int x, y;
	memset(val, 0x7f, sizeof val);
	for (int i = 1; i <= q; ++i) {
		scanf("%s%d%d", op, &x, &y);
		if (op[0] == 'M') update(1, 1, n, y, x);
		if (op[0] == 'D') {
			printf("%d\n", find(y, n, x));
		}
	}
	return 0;
}

仿真+课设Multisim直流可调稳压电源(0-15V)仿真设计基于LM317+LM337【仿真+课程报告】 内容概要:本文详细介绍了一种基于LM317(正压调节)和LM337(负压调节)芯片的Multisim直流可调稳压电源仿真设计方案,输出电压范围为0-15V,具备完整的电路仿真模型与课程设计报告。设计涵盖线性稳压电源的核心原理,包括电压调节机制、元件参数配置、双极性电源构建及仿真测试流程,突出理论与实践结合。文档还附带丰富的扩展资源,如三相PWM整流器、函数信号发生器等仿真项目,并提供百度网盘链接用于获取全套资料,适用于电子类课程设计与自主学习。整体内容系统性强,注重仿真操作指导与工程实践能力培养。; 适合人群:电子信息工程、自动化、电气工程及其相关专业的本科生、专科生,以及正在进行模拟电子技术课程设计或毕业设计的学生。; 使用场景及目标:①深入理解线性稳压电源的工作原理与设计方法;②掌握Multisim软件在电路仿真中的实际应用;③完成基于LM317/LM337的可调稳压电源课程设计任务;④提升模拟电路系统的设计、仿真与分析综合能力; 阅读建议:建议结合Multisim软件同步实践,按照文档电路图逐步搭建仿真模型,重点关注电压调节电路的实现细节与参数设置,并参考所提供的其他仿真资源拓展知识广度,强化工程思维训练。 立即下载

相关推荐

阻尼器磁流变阻尼器MR Damper非线性(阻尼、滞回)特性研究(Matlab代码实现)

内容概要:本文围绕磁流变阻尼器(MR Damper)的非线性特性开展深入研究,重点剖析其在动态载荷作用下的阻尼力响应与滞回行为所表现出的强非线性特征,并基于Matlab平台进行系统建模与数值仿真。通过建立能够准确描述MR阻尼器非线性力学行为的数学模型,模拟其在不同激励条件、电流强度和运动频率下的动态响应过程,进而对系统的非线性特性进行定性与定量分析。研究涵盖了模型构建、参数设定、仿真执行与结果可视化等全过程,突出了Matlab在处理复杂非线性系统仿真中的强大功能与工程实用性,为智能材料器件在振动控制领域的应用提供了坚实的理论支撑与技术路径。; 适合人群:具备一定控制理论、机械动力学或智能材料基础知识,熟悉Matlab编程环境的研究生、科研人员及从事振动控制、结构工程等相关领域的工程技术人员。; 使用场景及目标:①用于智能材料与结构领域的科研与教学,帮助深入理解磁流变阻尼器的工作机理与非线性动力学特性;②为车辆半主动悬架系统、建筑结构抗震减震、桥梁风振抑制等实际工程中的振动控制系统设计、仿真验证与参数优化提供技术支持;③作为非线性系统建模、动力学仿真与Matlab编程实践的经典案例,有效提升使用者的系统分析能力和工程软件应用水平。; 阅读建议:建议读者结合文中提供的Matlab代码进行动手实践,通过调整模型参数(如电流、激励幅值与频率)观察系统响应的变化规律,深入探究非线性特性的形成原因与影响因素,并可尝试将该建模方法迁移至其他智能阻尼器件(如压电、电流变阻尼器)的研究中,以拓展应用视野。

hdu5023 ( 广州网络赛 ) 线段树

广州网络赛 线段树

zxf654073270的专栏 530

Jenkins+docker 微服务实现自动化部署安装和部署过程

本文详细介绍了如何使用Docker部署Jenkins自动化服务器。主要内容包括:1)拉取Jenkins官方或BlueOcean镜像;2)创建容器并配置端口映射、数据卷挂载;3)设置防火墙规则;4)配置清华大学镜像加速;5)安装必要插件;6)SSH密钥配置;7)构建触发器设置;8)编写自动化构建脚本。通过Docker部署Jenkins可以简化安装流程,确保环境一致性,并利用容器特性实现快速启动和管理。文章提供了完整的配置步骤和注意事项,帮助用户快速搭建CI/CD环境。

qq_33665793的博客 1687

2021中国大学生程序设计竞赛(CCPC)- 网络选拔赛 GCD on Sequence(线段树)

#include<bits/stdc++.h> using namespace std; using ll=long long; const int N=100010; vector<int> vec[N]; int n,a[N],p[N]; ll ans[N]; struct node { int l,r; ll v; int mx,tag; }tree[N<<2]; void pushup(int u) { tree[u].v=tre

Fighting_Peter的博客 598

从零构建:openEuler WSL下的ARM交叉编译工具链自动化部署方案

本文详细介绍了在openEuler WSL环境下使用Ansible自动化部署ARM交叉编译工具链的方案。通过编写Ansible角色和Playbook,实现从基础环境配置到工具链安装、环境变量设置的一键部署,大幅提升嵌入式开发效率。方案支持多种ARM架构,并扩展了QEMU仿真、VS Code远程开发等实用功能,是嵌入式开发者的高效解决方案。

h3i4j的博客 382

OCV/AOCV/SOCV的介绍和应用

library中的cell delay是在某个固定的PVT(operating condition)下仿真得出的。,cell的delay并不是一个固定值,而是一个随机值,遵循高斯分布或门特卡洛分布,在STA中用OCV来模拟这一『特征』。OCV全称on chip variation,用于描述不同管子间由于工艺偏差、电压降、温度变化引起的delay变化。,也用于描述工艺偏差引起的net厚度宽度的变化从而导致net的电容电阻变化。优点:设置起来比较简单粗暴,对于不那么先进的工艺可行!的影响,更贴合实际。

m0_61003348的博客 8979

2018 icpc南京网络赛G(线段树)

思路:因为只有1e5的数据。我们可以模拟一下所有情况全算出来,把答案存下来即可。但会一遍一遍的遍历超时,我们可以优化遍历的方式,因为只有1e5的房间,我们每次找的房间都是小于当前新灯泡数且最前面的房间。这个查找用一颗线段树既可以解决。 我们每次找到一个满足的房间就让当前灯泡是减去这个房间的灯泡数,然后让当前房间的灯泡数设成无穷大,更新一下线段树即可。 #include &lt;iostrea...

阿狸的博客 581

全球半导体设备氧化钇熔射服务行业规模预测:预计未来六年CAGR为7.8%

本文将对“半导体设备氧化钇熔射服务”行业进行深度分析,探讨市场趋势的演变、核心竞争者的战略布局、供应链结构的内外特点、研发创新的最新进展、法规政策环境的适应性调整以及投资机会与风险评估。这一稳健的增长趋势表明半导体设备氧化钇熔射服务在电子行业中的重要性逐渐增强。由于全球对于高效、高精度和可靠的电子解决方案的需求增加,对能够提供这些功能的半导体设备氧化钇熔射服务的需求日益增长。由于半导体设备氧化钇熔射服务主要为就地服务型,其“配送”主要依赖于专业团队和技术设备的及时调配,强调服务的时效性和高质量。

CC1239777的博客 570

【COCI 2017-2018 #5】Karte

传送门 先看看代码。 #include<cstdio> #include<iostream> #include<algorithm> using namespace std; int n, k, a[500002], cnt; int main() { scanf("%d %d", &n, &k); for(int i = 1; i <...

Oxide‘s Blog 327

用Isaac Sim复现经典案例:手把手教你写Python脚本控制机械臂抓取(附避障算法调试心得)

本文详细介绍了如何使用NVIDIA Isaac Sim仿真系统复现机械臂抓取经典案例,包括Python脚本编写、避障算法调试等关键步骤。通过URDF模型导入、关节控制逻辑实现和RMPFlow避障配置等实战演示,帮助开发者快速掌握机器人仿真技术,特别分享了官方文档未提及的实用调试技巧和性能优化策略。

weixin_30632089的博客 406

告别手动改图!用Python+PyWin32驱动SolidWorks,实现参数自动化修改(保姆级避坑指南)

本文详细介绍了如何利用Python和PyWin32驱动SolidWorks实现参数自动化修改,提供从环境配置到API连接的工业级解决方案。通过实战案例和避坑指南,帮助工程师高效搭建自动化脚本工作流,显著提升设计效率。

weixin_30614109的博客 741

WHU校赛2019 网络预选赛 C. Store(线段树 + 二分)

【题解】 题意:商品编号从1-n,总共q次操作。 两种操作,M X Y 表示编号为Y的商品在第X天卖出去,D X Y 表示查询编号>=Y且在<=X天内卖出去的编号最小的商品的编号。 思路:用线段树保存区间最小值,然后二分即可。记得判断不存在的情况,输出-1,否则会超时。 【代码】 #include <cstdio> #include <cstring&g...

菜鸡成长史 324

Smart PLC高速脉冲输入计米轮模块(编码器测速/计米详细讲解)

线缆行业单绞机PLC控制算法详细解读可以参看下面的文章链接:线缆行业单绞机控制算法(详细图解+代码)_RXXW_Dor的博客-优快云博客在了解单绞机之前需要大家对收放卷以及排线控制有一定的了解,不清楚的可以参看下面几篇博客,这里不再赘述,受水平和能力所限,文中难免出现错误和不足之处,诚恳的欢迎大家批评和指正。PLC张力控制(开环闭环算法分析)_RXXW_Dor的博客-优快云博客_plc闭环控制实例。SMART PLC时间间隔定时器应用(高速脉冲测频/测速)_RXXW_Dor的博客-优快云博客。

RXXW_Dor的博客 2819

【Codeforces】WHU校赛2019 Store(线段树+二分)

题目链接 C. Store time limit per test 1.0 s memory limit per test 256 MB input standard input output standard output Ichuan is a store owner and his store has n products, numbered from11tonn....

よろしくお願いします 220

【软件系统架构】系列四:嵌入式技术

嵌入式系统是以应用为中心、以计算机技术为基础,并将可配置与可裁剪的软硬件集成于一体的专用计算机系统。它需要满足功能、可靠性、成本、体积、功耗等方面的严格要求。 嵌入式系统一般由以下组成部分构成:

moton2017的博客 999

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

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

WHU校赛2019(网络赛) 解题报告(CCNU_你们好强啊我们都是面包手) Apare_xzc

WHU校赛2019 解题报告 CCNU_你们好强啊我们都是面包手(xzc zx lj) 战况: 比赛时3题,排名57,现在5题了 题目链接 <-戳这里 以下题目按难度顺序递增叙述 B.DrunkHamster 求两点之间距离的平方,签到题 /* Apr/07/2019 13:49UTC+8 CCNU_你们好强啊我们都是面包手 B - DrunkHamster GNU C++17 ...

Apare_xzc的博客 462

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

【线段树】区间gcd

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

Link_Ray的博客 1146

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

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

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

Link_Ray的博客 1069

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

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

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

Link_Ray的博客 386

P2161 会场预约(区间染色)

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

Link_Ray的博客 359

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

矩形面积交 #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

POJ3468A Simple Problem with Integers(线段树)

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

Link_Ray的博客 274

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

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

Link_Ray的博客 235

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
上一篇: 上下界网络流 (更新中)
下一篇: 【codeforces gym101853E】Maximum Sum 状态dp经典问题
Link_Ray
博客等级 码龄9年 44粉丝 156原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值