Codeforces Round #381 (Div. 2) E. Alyona and towers 差分+ 线段树并

AltiumDesigner.zip 立即下载
题意

对于一系列塔高ai, 求满足
al<al+1<al+2<⋯<ak>ak+1>ak+2>⋯>ar.的最长区间[l,r]。

塔高ai会根据m次操作变化,对每次变化给出此刻的解。

参考http://blog.youkuaiyun.com/dormousenone/article/details/53363374

分析

针对区间修改及维护的问题,很容易想到线段树。

可以想到al<al+1<al+2<⋯<ak>ak+1>ak+2>⋯>ar,令为为sub[i]=a[i]−a[i−1](sub[i]>0为+;sub[i]<0为−) 。

此时问题即可转换为求满足++⋯++−−−⋯−−序列的sub的最长区间。

而区间更新即可转换为对sub[l−1]+d,sub[r]−d的单点更新。

所以这个很像是组队赛的地方的东西就是差分数组?。。

#include<bits/stdc++.h>
using namespace std;
const int maxn = 3e5+10;
long long sub[maxn],a[maxn];
struct Node{
    int left,right,lmx,rmx,mx;
}seg[maxn<<2];
void upmx(int l,int r,int p){
    int mid = (l+r)>>1;
    seg[p].mx = max(seg[p*2].mx,seg[p*2+1].mx);
    seg[p].lmx = seg[p*2].lmx;
    seg[p].rmx = seg[p*2+1].rmx;
    if((sub[mid] > 0 && sub[mid+1] != 0) || (sub[mid] < 0 && sub[mid+1] < 0)){
        seg[p].mx = max(seg[p].mx,seg[p*2].rmx + seg[p*2+1].lmx);
        if(mid-l+1 == seg[p*2].lmx) seg[p].lmx = seg[p*2].lmx + seg[p*2+1].lmx;
        if(r-mid == seg[p*2+1].rmx) seg[p].rmx = seg[p*2+1].rmx + seg[p*2].rmx;
    }
}
void build(int l,int r,int p){
    seg[p].left = l,    seg[p].right = r;
    if(l == r){
        if(sub[l])  seg[p].lmx = 1, seg[p].rmx = 1, seg[p].mx = 1;
        return;
    }
    int mid = (l+r)>>1;
    build(l,mid,p*2);
    build(mid+1,r,p*2+1);
    upmx(l,r,p);
}
void update(int l,int r,int idx,int p){
    if(l == r && l == idx){
        if(sub[l])    seg[p].lmx = 1, seg[p].rmx = 1, seg[p].mx = 1;
        else    seg[p].lmx = 0, seg[p].rmx = 0, seg[p].mx = 0;
        return;
    }
    int mid = (l+r)>>1;
    if(l <= idx && idx <= mid)  update(l,mid,idx,p*2);
    else    update(mid+1,r,idx,p*2+1);
    upmx(l,r,p);
}
int main(){
    int n,m;
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
        scanf("%I64d",&a[i]);
    for(int i=1;i<n;i++)
        sub[i] = a[i+1] - a[i];
    if(n!=1)    build(1,n-1,1);
    scanf("%d",&m);
    for(int i=0,l,r,d;i<m;i++) {
        scanf("%d %d %d",&l,&r,&d);
        if(n==1)    {   printf("1\n");  continue;   };
        if(l!=1)    sub[l-1] += d,    update(1,n-1,l-1,1);
        if(r!=n)    sub[r] -= d,  update(1,n-1,r,1);
        printf("%d\n",seg[1].mx+1);
    }
}
YOLO26算法日历数字识别+训练好的模型+102张数据集+pyqt可视化界面.zip 附训练好的 YOLO 权重与 PyQt 可视化检测界面,页面底部含可视化效果预览,毕设/课设开箱即用。 【数据集概况】 · 检测类别(中文):[数字(number)] 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 97 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.9156** mAP50-95 | 0.7374 Precision | 0.8626 Recall | 0.8381 train/box_loss | 0.8790 train/cls_loss | 0.7499 val/box_loss | 0.7874 val/cls_loss | 0.6025 【训练过程分析】 训练开始后,我注意到前几轮的 loss 下降特别快,这让我有点兴奋,但随着训练的深入,loss 的降幅变得不那么明显了。在训练的第 30 轮左右,val_loss 开始趋于平稳,这让我稍微放心了一些,但同时也感觉压力倍增,因为一旦训练过早平稳,就容易陷入过拟合的泥沼。经过 97 轮的磨炼,最终 mAP50 达到了 0.9156,这让我松了一口气。不过,mAP50-95 仅有 0.7374,和 mAP50 之间有明显的差距,说明模型在低置信度的检测上还需要优化。从 loss 曲线来看,训练过程总体上比较平稳,没有明显的过拟合迹象,但也让人觉得有些枯燥。我心想,要是能早点找到一个陡峭上升的训练曲线该有多好,这样至少能让人心态更积极一些。 随着训练进行到后半段,模型开始逐渐收敛,但这个过程并不是一帆风顺的。在训... 使用场景:毕业设计、课程设计、深度学习入门、工业场景落地验证。 立即下载

相关推荐

风储VSG-基于虚拟同步发电机的风储并网系统Simulink仿真

内容概要:本文介绍了“Plecs全桥LLC谐振变换器仿真模型”这一技术资源,聚焦于隔离型全桥LLC谐振变换器的建模、仿真与参数设计,涵盖其在电力电子系统中的关键应用,如软启动、闭环控制、变频控制及效率优化等。该模型支持对LLC变换器在不同工作模式下的动态响应与性能表现进行深入研究,适用于探究谐振拓扑结构、磁性元件设计、谐振参数匹配以及先进控制策略的科研与工程实践。同时,文档配套提供了仿真模型、设计报告与计算书等完整资料,强化了其实用性与教学价值。; 适合人群:具备电力电子、自动化或电气工程等相关专业背景,从事电力电子变换器研发、系统仿真与控制算法设计的科研人员、工程师及研究生。; 使用场景及目标:①用于全桥LLC谐振变换器的建模、仿真与动态性能分析;②支持对软启动过程、闭环稳压控制、变频调谐及效率优化等核心技术的研究与教学;③为电力电子电源系统的工程设计、参数优化与控制策略验证提供高精度仿真平台。; 阅读建议:建议结合Plecs或Simulink等仿真工具进行动手实践,重点理解电路拓扑构建、谐振参数计算、控制器设计与系统稳定性分析,并配合文档中的设计报告与计算书,系统掌握从理论到仿真的完整流程。

Codeforces Round #381 Div.2

A:Alyona and copybooks 题目大意:已经给了你n本书,你可以选择花a元买一本书,花b元买两本书(严格两本),花c元买三本书(严格三本),让你花最少的钱买x本书使得n+x为4的倍数。 思路:枚举一下买一本书,两本书,三本书的次数,然后统计答案即可。 #include<cmath> #include<cstdio> #include&...

V469584691的博客 295

国央企创新负责人如何通过平台实现科技创新资源的系统集成与高效配置?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

Alyona and towers CodeForces - 739C (线段树)

大意: 给定序列, 要求实现区间加, 询问整个序列最长的先增后减的区间. 线段树维护左右两端递增,递减,先增后减的长度即可, 要注意严格递增, 合并时要注意相等的情况, 要注意相加会爆int. #include <iostream> #include <random> #include <algorithm> #include...

weixin_30609331的博客 180

独立储能的现货电能量与调频辅助服务市场出清协调机制(Matlab代码实现)

内容概要:本文介绍了“Plecs全桥LLC谐振变换器仿真模型”这一技术资源,聚焦于全桥LLC谐振变换器在电力电子系统中的建模与仿真研究。该资源提供了基于Plecs平台的高精度仿真模型,完整呈现了变换器的主电路拓扑、谐振参数设计、软开关实现机制及变频控制策略,能够有效支持对系统效率、动态响应与稳态性能的深入分析。模型充分体现了LLC谐振变换器在实现零电压开关(ZVS)、降低开关损耗和提升能量转换效率方面的优势,适用于新能源发电、储能系统及高效率电源设计等应用场景。; 适合人群:具备电力电子、自动控制及电路理论基础知识,从事电力电子变换器设计、新能源系统开发或相关领域研究的研究生、高校教师及工程技术人员。; 使用场景及目标:①用于全桥LLC谐振变换器的工作原理教学与参数设计实践;②支撑软开关特性、变频控制策略、效率优化等关键技术的仿真验证与性能评估;③作为科研项目、课程设计或毕业设计中电力电子系统仿真的核心参考模型,促进理论与工程实践的结合。; 阅读建议:建议使用者在掌握LLC谐振变换器基本工作原理的基础上,结合相关电力电子教材与Plecs软件操作指南,通过调整谐振元件参数、负载条件及控制策略进行多工况仿真,深入理解其工作机理与优化方法,并结合实验数据对比验证仿真结果的准确性。

LLC谐振变换器开环+闭环软启动仿真设计(Simulink仿真实现)

内容概要:本文围绕LLC谐振变换器的开环与闭环软启动过程展开系统性仿真研究,重点基于Simulink平台构建隔离型全桥LLC谐振变换器的完整仿真模型,涵盖其工作原理分析、关键参数设计、变频与移相混合控制策略实现、软启动过程建模及动态响应优化。内容深入探讨了开环启动中存在的冲击电流问题,对比闭环控制在抑制浪涌、提升系统稳定性与效率方面的优势,并通过仿真验证软启动过程中电压、电流的平滑过渡特性,帮助读者掌握高频高效DC-DC变换器的设计要点与仿真调试方法。; 适合人群:具备电力电子技术、自动控制理论及电路分析基础,从事开关电源、新能源变换系统、电力传动等领域研究的研究生、工程师及科研人员;熟悉Simulink仿真环境者更佳。; 使用场景及目标:①掌握LLC谐振变换器主电路建模与谐振参数设计方法;②理解开环与闭环控制对软启动性能的影响机制;③实现软启动过程中冲击电流的有效抑制与系统平稳启动的仿真验证;④为高效率电源系统的工程化设计与优化提供可靠的仿真依据和技术支撑。; 阅读建议:建议结合文中提供的仿真模型、参数计算书及参考文献进行同步实践,亲手搭建Simulink模型,逐步调整控制参数并观察动态响应,深入理解LLC谐振变换器在不同工况下的运行特性与控制逻辑,切实提升理论分析与工程仿真相结合的能力。

Codeforces Round #381 (Div. 2) E. Alyona and towers

Codeforces Round #381 (Div. 2) E. Alyona and towersDescriptionAlyona has built n towers by putting small cubes some on the top of others. Each cube has size 1 × 1 × 1. A tower is a non-zero amount of c

DorMOUSENone的博客 585

test111233333333333333

test111233333333333333

【CodeForces】- 739C Alyona and towers

Alyona has built n towers by putting small cubes some on the top of others. Each cube has size 1 × 1 × 1. A tower is a non-zero amount of cubes standing on the top of each other. The towers are next to

Pure_W的博客 737

Windows7 64位系统PL2303驱动无法安装问题解决

问题描述:电脑安装的是Win7 64位的旗舰版,USB to RS232这种线很简单,对于笔记本如果要用串口,就不能少了它了。USB to RS232转换芯片种类繁多,常见的有ch340,0108,PL2303,FT232等,这里面FT232的应该价格是相对比较贵的,因为FTDI的芯片本身比较贵。由于买了一根PL2303芯片的USB to RS232转换线,于是插上后发现驱动无法安装,又是在设备管

suxiang198的博客 5809

在AutoDL的A100云服务器上,用Docker搞定Sapien+RobotWin环境(附完整conda list)

本文详细介绍了在AutoDL的A100云服务器上使用Docker构建Sapien+RobotWin环境的完整指南。通过配置Vulkan渲染管线、精确复现Conda环境以及解决常见问题,帮助研究人员高效搭建稳定的机器人仿真开发环境,特别适合需要高性能GPU加速的复杂仿真任务。

weixin_30689307的博客 432

[CF739C]Alyona and towers

Alyona and towers 题解 很冗杂的一道题。 思路其实是很容易想到的,毕竟就是一道线段树板子题。 我们可以通过线段树来维护每一个区间的符合要求的最长子串长度,最长向左端点递增子串长度,递减子串长度,先递增再递减子串长度,以及向右端点的以上三个操作的长度。 每次操作在线段树上修改一个区间,每次合并区间时更新出当前区间的值。 但我们发现如果还要区间相加带懒标记的话就太麻烦了,于是我们考虑差分,这样判断递增与递减时就只需要判断一个点的正负性了,而且每次修改时只用修改左右端点两个点,方便了许多。 但总

StaroForgin的博客 307

SPECweb2009调优指南

 SPECweb2009 是衡量 Web 服务器性能和能效的标准化基准,可以对 Web 服务器的并发数进行性能测试,评测 Web 服务器能够支持的最大同时连接数的客户端/服务器(每秒能够响应的最大请求数)。为充分利用服务器性能,提升SPECweb2009测试结果,可通过增大系统进程数、优化服务器软件参数、绑核以及优化参数等。

developersupport的博客 2607

17.CF739C Alyona and towers 区间合并线段树

给定序列,要求支持区间加,以及查询最长先增后减子区间(单峰序列)长度 非常典型的区间合并线段树,记录左右起LIS,LCS,单峰

HeartFireY的博客 384

Xilinx-复旦微-FPGA-眼图BlockDesign系统制作-针对PCIE系统

XIlinx-复旦微电子-FPGA-眼图BlockDesign系统制作-针对PCIE系统,手把手教你如何建立眼图测试

weixin_43444334的博客 2597

鸿蒙之HML语法参考

HML(HarmonyOS Markup Language)是一套类HTML的标记语言,通过组件,事件构建出页面的内容。页面具备数据绑定、事件绑定、条件渲染和逻辑控制等高级能力。

2401_82772199的博客 1649

线段树 codeforces Alyona and towers 739C

今天在CF上面看到一个题目,是有关线段树的。好久没有写过线段树,基本都已经忘完。没办法,后来只得看了网上的题解。写下这篇博客,总结一下线段树的操作,便于以后学习,复习。线段树主要树用来维护区间信息,快速的更新与查询的数据结构,在运用过程中,需要根据具体情况,判断出需要维护的信息,达到快速查询,更新的效果。与它的功能对应,线段树的操作主要是更新和查询,当然还有建树(建树类类似于更新)对应的代码中,也

ZT在努力 683

PCL 均匀采样【2026最新版】

根据输入点云数据创建一个微小的三维立方体集合,然后计算每个三维立方体的重心;由于该重心点不一定是原始点云中的点,直接用该点来表示立方体内所有的点会丢失原始点云的细小特征;所以使用k最近邻搜索寻找距离重心点最近的原始点来代替重心点。

点云侠的博客 41万+

CodeForces 739C Alyona and towers

题目大意 给定一个长度为n的序列a和m个操作,每个操作将[L,R]的元素加上d。 每次操作完后询问序列a中最长的连续子序列满足al<al+1<...<ax>...>ar−1>ar的长度是多少。 Data Constraint n,m≤3×10^5

Akakii的博客 1462

【NVIDIA】Jetson Orin Nano系列:烧写Ubuntu22.04

Jeson Orin Nano系列:烧写Ubuntu22.04 电脑主机可以是Ubuntu20.04

郭老二 4895

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

codeforces 739c Alyona and towers

题意给定一个序列,求最长的严格先递增后递减区间长度。有m次区间加修改,每次修改后输出答案。 思路线段树。diff[i] = a[i] - a[i - 1],diff[1] = 0.这样每次的区间加就就变成了单点修改,即l点加k,r+1点减k。需要注意当l为1或者r为n时无需修改。

rua~ 1106

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

[Codeforces div1] Round 739C. Alyona and towers 线段树+差分数组

这题应当有很多做法 拿到题目以后有很多想法,光是不同的线段树就有两三种,而且我觉得分块卡一卡也是能卡过去的。 最后写了最简单的方法,代码比起其它的解法都短很多。 考虑查分后的数组,原问题变可以转化成求最长的一段正数后紧接一段负数的长度。 若用折线将这串数字连接起来,那么每一段“合唱队形”数便可以表示成两个波谷之间的距离。 线段树维护所有的波谷,维护最大的两个波谷之间的距离。 修

HbFS- 651

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

计算机控制技术及应用

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

Codeforces Round #381 (Div. 1) B. Alyona and a tree 二分 + 前缀和

题目链接 一、题意 有一棵树,1为根节点。树的节点i有一个权值a[i],代表节点i的祖先节点x如果到i的路经长度小于等于a[i],则称x控制i。控制关系不传递,即x控制j,j控制i并不一定能得到x控制i。 现在给出树的边、每一个节点的权值,求每一个节点能够控制的节点的数目。 二、思路 思考每一条链。可以发现链底端的节点v可以被链上连续的节点u控制。如果用depth[]数组表示从根节点到每...

xuzonghao的博客 226

解题报告:Codeforces Round #381 (Div. 1)B. Alyona and a tree

B. Alyona and a tree time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Alyona has a tree with n vertices. The

Hee的博客~ 505

Codeforces 739C.Alyona and towers (线段树/非递归线段树)

题目链接:http://codeforces.com/contest/739/problem/C 题意:给定30万个正整数,和30万个操作,每次操作后输出查询结果。 操作:每次把从L到R的数都加上D 查询:最宽的Hill的宽度。定义:先递增后递减的连续n个数称作宽度为n的Hill。

岩之痕 2073
上一篇: [BZOJ4326][NOIP2015]运输计划(二分+dfs序+树上差分)
下一篇: poj 2227 & usaco 2005 月赛 The Wedding Juicer 题解 bfs+优先队列
sega_handsome
博客等级 码龄10年 7粉丝 164原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值