【梦境审查】前后缀的使用

news/2025/11/26 14:51:43/文章来源:https://www.cnblogs.com/cqz111/p/19272156

PixPin_2025-11-26_11-27-28

如题可以知道,我们会随机更改某一个节点的值,同时我们需要计算在该路径全程的能量最低点(谷底);我们又发现,该节点的值的改变,只会影响该节点往后的谷底(谷底需要减去b[i]),前驱节点的谷底不受影响,因此我们引入“前后缀”来解决该问题。
我们增加一个节点n+1来替代环路;
我们设置:

  • prefix[i]为节点[0,i+1]之间的谷底,而subfix[i]为[i+1,n+1]之间的谷底;
  • 同时为了计算前后缀,我们使用acc[i]来记录到达第i+1个节点的时候的总能量开销;\(acc[0]=a[0]\);\(acc[n]=\sum_{i=0}^{n}a[i]+\sum_{i=1}^{n}b[i]\)
  • prefix[i] = max(prefix[i-1],acc[i]);subfix[i]=max(subfix[i+1],acc[i]);
  • 因此最终的结果为如果第i个节点出事,w[i]=max(prefix(i-1),subfix(i)+b[i]);\(i\in[1,n]\)
    根据这个写出代码;
#include<iostream>
#include<cmath>
#include<vector>
using namespace std;int main(){int n;vector<int> a;//0-nvector<int> b;//0-n,b[i]=0;vector<int> w;//vector<int> cost_earn;cin >> n;for(int i = 0;i<=n;i++){int temp;cin >> temp;a.push_back(temp);}for(int i = 0;i <= n;i++){int temp;if(i == 0){temp=0;}else{cin >> temp;}b.push_back(temp);}vector<int> acc(n+1);vector<int> prefix(1+n);vector<int> subfix(1+n);acc[0] = a[0];prefix[0]=a[0];for(int i = 1;i <= n;i++){acc[i] = acc[i-1] + a[i]-b[i];prefix[i] = max(prefix[i-1],acc[i]);}subfix[n] = acc[n];for(int i = n-1;i > 0;i--){subfix[i] = max(subfix[i+1],acc[i]);}for(int i = 1;i <=n;i++){w.push_back(max(prefix[i-1],subfix[i]+b[i]));}for(auto iter = w.begin();iter != w.end();iter++){cout << *iter << " ";}cout<<endl;
}

暴力解法:
二分查找,从0找到\(\sum_{i=0}^{n}a[i]\);

#include<iostream>
#include<cmath>
#include<vector>
using namespace std;
vector<int> a;//0-n
vector<int> b;//0-n
bool canReach(int energy,int j,int n){for(int i = 0;i <= n;i++){if(i == 0){energy -= a[i];if(energy < 0){return false;}}else if(i == j){energy -= a[i];if(energy < 0){return false;}}else{energy -= a[i];energy += b[i];if(energy < 0){return false;}}}return true;
}int main(){int n;cin >> n;int max_cost = 0;for(int i = 0;i<=n;i++){int temp;cin >> temp;a.push_back(temp);max_cost+=temp;}for(int i = 0;i <= n;i++){int temp;if(i == 0){temp=0;}else{cin >> temp;}b.push_back(temp);}for(int i = 1;i <=n;i++){int L = a[0];int R = max_cost;int mid = (L+R)/2;while(L < R){bool judge = canReach(mid,i,n);if(judge){//mid够了,放大范围R = mid;mid = (L+R)/2;continue;}else if(!judge){//mid不够,需要缩小范围L = mid + 1;mid = (L+R)/2;continue;}}if(canReach(L,i,n)){cout << L <<" ";}else if(canReach(R,i,n)){cout << R<<" ";}}cout<<endl;
}

二分思想:
浮点:

mid = (L+R)*0.5;
if check(mid):
R = mid;
else:
L = mid;

终止:while(abs(R-L)>eps);
可行解:mid
整数:

mid = (L+R)/2;
if check(mid):
R = mid;
else:
L = mid+1;

终止:while(L < R)
可行解:mid

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/977233.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025墨西哥海外仓全方位评测:十大物流企业深度解析

随着跨境电商的蓬勃发展,物流环节尤其是海外仓储服务已成为卖家们关注的核心。一个高效、稳定、可靠的海外仓不仅能大幅提升物流时效,还能降低运营成本、优化终端客户体验,进而显著增强卖家的市场竞争力。在众多提供…

2025年11月最新最全的AI搜索优化公司与GEO优化公司排行榜:7家国内头部Top级GEO服务商深度解析与AIEO推荐指南

在生成式 AI 改写搜索规则的 2025 年,企业在 DeepSeek、豆包等 AI 搜索里“被怎样回答”,已经直接影响到获客与品牌认知。中国信通院最新《生成式引擎优化产业白皮书》指出,GEO(生成式引擎优化)正在从“尝试性预算…

T701795 平衡

二分答案树形动规考虑先二分答案。那么我们只需要判断对于每一个子树内都不存在颜色个数大于二分 \(m\) 的边即可。我们发现不关心具体颜色值,只关心个数。我们设 \(f(u,j)\) 表示对于当前子树 \(u\),其孩子与 \(u\)…

日志重定向:让 qDebug() 实时显示在 Qt 窗口中

效果源码#include "mainwindow.h" // 包含主窗口头文件 #include <QApplication> // 包含 QApplication #include <QTextEdit> // 包含 QTextEdit,用于显示日志 #include <QScrollBar>…

铝单板厂家哪家好?河南霖锋幕墙用品质与实力给出答案

铝单板厂家哪家好?河南霖锋幕墙用品质与实力给出答案在建筑装饰材料领域,铝单板凭借其轻质、耐用、美观且可定制化的优势,成为众多建筑项目的优选。面对市场上琳琅满目的铝单板厂家,“铝单板厂家哪家好?” 成为采…

2025 河南网站建设权威榜单:三大本土服务商

2025 河南网站建设权威榜单:三大本土服务商2025 年河南数字经济规模持续扩容,河南郑州作为中原经济区核心增长极,企业网站建设与短视频运营需求爆发。数据显示,河南 83% 的规上企业亟需专业的网站建设、网页设计及…

2025 河南网站建设公司推荐 3 家口碑好的网站制作公司

2025 河南网站建设公司推荐 3 家口碑好的网站制作公司2025 年数字化营销竞争加剧,选对口碑与实力兼具的网站建设公司,是企业打造线上形象、实现高效获客的关键。河南作为中原互联网核心城市,孕育了多家优质服务商,…

佳能e478扫描

佳能e478扫描手册: E478 : 使用IJ Scan Utility轻松扫描 wifi连接电脑: 1.长按wifi键,直到蓝灯闪烁。 2.点最下面的彩色按钮,网络灯亮起,再按一次,wifi蓝灯闪烁。 3.打开手机wifi,然后连接上cannon的无线网。 4.…

dm定位慢sql

查看ENABLE_MONITOR、MONITOR_SQL_EXEC参数设置 select SF_GET_PARA_VALUE(2,ENABLE_MONITOR); select SF_GET_PARA_VALUE(2,MONITOR_SQL_EXEC); 如果值为0 说明没开启,开启参数如下 CALL SP_SET_PARA_VALUE(1, ENABL…

活动预告|本周六!IvorySQL 邀您相聚第八届中国 PostgreSQL 数据库生态大会

作为中国开源软件联盟 PostgreSQL 分会年度 TOP 会议,本届大会以“开源无界 探索无限可能”为主题,于 2025 年 11 月 29 日在杭州举办。 组委会邀请多位行业权威专家与技术大咖亲临现场,与广大开发者、DBA、企业用户…

后保研可以中途换老师吗?服务过程中的师资调整机制说明

在报名保研辅导服务后,学员有时可能会遇到与辅导老师教学风格不匹配、沟通不畅或专业方向不够契合等情况。此时,“能否中途更换老师”成为一个实际而重要的需求。本文将基于后保研(HBY)公开的服务机制与相关说明,…

深入解析:微电子科学与工程专业毕设选题指南:热门方向推荐 2026届

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

突破成绩限制:后保研如何助力不同排名学生实现院校跃升?

随着研究生推免竞争日益激烈,越来越多的学生开始寻求专业机构的指导来增强自身竞争力。在众多保研辅导机构中,后保研以其独特的无门槛服务模式脱颖而出。本文将深入解析后保研的服务特色,探讨其如何帮助不同成绩排名…

2025年口碑好的四川自助洗车加盟厂家推荐及选择参考

2025 年口碑好的四川自助洗车加盟厂家推荐及选择参考在汽车后市场消费升级与创业热潮叠加的 2025 年,自助洗车凭借 “便捷、高效、低成本” 的核心优势,成为创业加盟的热门赛道。四川作为西南汽车保有量大省,自助洗…

保研规划哪家有保障?这份保研机构挑选指南请收好

随着保研竞争日趋白热化,"选择一家有保障的规划机构"已成为许多学子关心的头等大事。面对市场上令人眼花缭乱的承诺和宣传,如何辨别真伪、找到真正能托付信任的合作伙伴,直接关系到保研的成败与未来。一份…

2025新款卫衣厂家推荐:COVERNAT男女薄厚款,简约复古百搭之选

2025新款卫衣技术革新:COVERNAT如何定义简约复古新风尚 卫衣行业面临的技术挑战与创新突破 随着2025年的临近,卫衣行业正面临着前所未有的技术挑战。根据最新行业数据显示,全球卫衣市场规模预计将达到980亿美元,但…

年会策划公司哪家性价比高?这十大策划公司按需选配不花冤枉钱!

在筹备年会这一企业重要活动时,选择一家性价比高、能够提供模块化方案且按需选配的策划公司至关重要。本文将详细介绍十家年会策划公司,帮助您找到最适合的合作伙伴,确保年会既精彩又经济。 一、深圳市千禧晨文化传…

2025年11月最新成都实木隔断源头厂家排名揭晓

2025年11月最新成都实木隔断源头厂家排名揭晓随着仿古建筑、中式装修需求的激增,成都实木隔断市场迎来爆发期。源头厂家的选择直接决定产品品质与工程效果,本文结合推荐指数、口碑评分、客户推荐及资质实力,揭晓当前…

2025 年 11 月棒球帽品牌实力推荐榜:涵盖薄款/厚款/男款/女款/可水洗/复古款/潮流款/运动款,精选百搭设计与舒适面料之选

2025 年 11 月棒球帽品牌实力推荐榜:涵盖薄款/厚款/男款/女款/可水洗/复古款/潮流款/运动款,精选百搭设计与舒适面料之选 棒球帽作为兼具实用性与时尚性的配饰,近年来在全球服饰市场中占据重要地位。随着消费者对个…

分布式架构原理与实现---第二篇

(一)分布式调用 服务和应用的调用基于场景的不同会分为几种情况: 1 系统外的客户端调用系统内的服务时需要通过反向代理和负载均衡的方式; 2 系统架构内部服务之间的调用需要通过 API 网关; 3 服务之间的互相感知…