P1359 租用游艇
记录82#includebits/stdc.h using namespace std; int a[210][210], dp[210]; int main(){ int n; cinn; for(int i1;in;i){//i为第几段路j为第几个站点 for(int ji1;jn;j) cin a[i][j]; }//dp[1]是0因为目的地1为出发点不花钱 for(int i2;in;i) dp[i]1e610; for(int i1;in;i){ for(int ji1; jn;j) dp[j]min(dp[j],dp[i]a[i][j]);//dp[j]是到j位置最少钱 }//dp[i]是到i最少钱,a[i][j]是在i路段选择到j的钱,i是选择的第几路段,j是其中选择的目的地 coutdp[n]; return 0; }题目传送门https://www.luogu.com.cn/problem/P1359突破口长江游艇俱乐部在长江上设置了 n 个游艇出租站 1,2,…,n。游客可在这些游艇出租站租用游艇并在下游的任何一个游艇出租站归还游艇。游艇出租站 i 到游艇出租站 j 之间的租金为 ri,j​1≤ij≤n。试设计一个算法计算出从游艇出租站 1 到游艇出租站 n 所需的最少租金。思路 题目简述有n个游艇站1, 2, ..., n从上游到下游可以从任意站i直接租船到下游任意站ji j费用为r[i][j]目标从站 1 到站 n花费最少租金 注意可以中途换船比如 1→3→5总费用 r[1][3] r[3][5]这本质上是一个有向无环图DAG上的最短路径问题可用动态规划高效解决。✅ 动态规划设计状态定义dp[i]表示从站点 1 到站点 i 所需的最少租金初始状态dp[1] 0起点不花钱状态转移要到达站点j可以从任意上游站点ii j直接租船过来所以dp[j]min⁡1≤ij(dp[i]r[i][j])答案dp[n]代码分析✅ 代码逐行解释#includebits/stdc.h using namespace std; int a[210][210], dp[210];a[i][j]存储从站i直接到站j的租金i jdp[i]从站 1 到站i的最小租金数组大小 210因n ≤ 200留余量int main(){ int n; cin n;读入站点数n 读入租金矩阵上三角for(int i 1; i n; i){ for(int j i 1; j n; j) cin a[i][j]; }输入是半矩阵只给i j的值例如n3第1行a[1][2],a[1][3]第2行a[2][3]正好对应样例输入3 5 15 → a[1][2]5, a[1][3]15 7 → a[2][3]7 初始化 DP 数组for(int i 2; i n; i) dp[i] 1e6 10;dp[1]默认为 0全局变量初始化为 0其他dp[i]设为一个足够大的数表示“暂时不可达”题目提示任何值 ≤ 1e6所以1e610是安全的上界 动态规划递推for(int i 1; i n; i){ for(int j i 1; j n; j) dp[j] min(dp[j], dp[i] a[i][j]); }外层i枚举当前出发站点内层j枚举从 i 能直达的所有下游站点更新如果通过i中转到j更便宜就更新dp[j]✅ 这正是状态转移方程的实现dp[j] min(当前dp[j], 从1到i的最小费用 i→j的直租费用) 输出答案cout dp[n]; return 0; }输出从站 1 到站 n 的最小租金 样例验证n3输入3 5 15 7即a[1][2] 5,a[1][3] 15a[2][3] 7初始化dp[1] 0dp[2] dp[3] 1000010执行循环i1:j2:dp[2] min(1000010, 05) 5j3:dp[3] min(1000010, 015) 15i2:j3:dp[3] min(15, dp[2]a[2][3]) min(15, 57) 12最终dp[3] 12✅最优路径1 → 2 → 3费用 5 7 12比直接 1→315更优✅ 总结要点说明模型DAG 最短路 / 区间 DP 变种状态dp[i] 1 到 i 的最小租金转移枚举所有可能的上一站i更新dp[j]复杂度O(n²)满足 n≤200关键技巧利用“只能往下游走”的性质按站点顺序递推此代码简洁、高效、正确解决此类“分段决策最优化”问题的标准 DP 模板

相关新闻

【高清视频】Quarch公司新推出的PCIe 6.0 EDSFF SSD桌面测试盒演示

【高清视频】Quarch公司新推出的PCIe 6.0 EDSFF SSD桌面测试盒演示

随着今年国内不少SSD controller和SSD盘的厂家开始研发、测试PCIe 6.0 产品,目前Quarch也推出了其PCIe 6.0速率的针对EDSFF (E3, E1)的一体化集成的可以同时测试热插拔/故障注入,电压拉偏,功耗测量/sideband监测工具 - PCIe 6.0 EDSFF桌面磁盘…

2026/5/17 11:54:29 阅读更多 →
PCB腐蚀分级修复技术—从轻度到重度的实操解决方案

PCB腐蚀分级修复技术—从轻度到重度的实操解决方案

尽管做好了全方位预防,但部分PCB仍会因环境恶劣、使用超期、意外泄漏等问题发生腐蚀。PCB腐蚀修复的核心是“分级处理、精准操作、杜绝二次损伤”,根据腐蚀程度分为轻度、中度、重度三个等级,不同等级采用对应的修复工艺,既能节省…

2026/5/17 12:57:31 阅读更多 →
当网络运维遇上全流量回溯:一次关于「看得见」的实践

当网络运维遇上全流量回溯:一次关于「看得见」的实践

目录 一、持续采集:让数据「一直在」 二、免费版能覆盖哪些场景? 三、从「看得见」到「看得懂」:智能分析的价值 四、灵活部署与易用性 五、一点思考 AnaTraf网络流量分析免费版 做网络运维的人,大概都经历过这样的时刻&…

2026/7/4 5:06:05 阅读更多 →

最新新闻

AI技术决策指南:从信息过载到可执行落地

AI技术决策指南:从信息过载到可执行落地

1. 项目概述:一份AI领域 Newsletter 的真实价值拆解“This AI newsletter is all you need #60”——看到这个标题,你第一反应可能是:又一份泛泛而谈的AI资讯合集?点开就看三行摘要、五个链接、一个ChatGPT新插件预告,…

2026/7/4 22:46:48 阅读更多 →
TC78H660FTG与PIC18F86J10的直流电机驱动优化方案

TC78H660FTG与PIC18F86J10的直流电机驱动优化方案

1. 项目背景与核心器件选型在工业自动化和消费电子领域,直流电机驱动系统的效率优化一直是工程师面临的关键挑战。TC78H660FTG作为东芝新一代H桥驱动器,与Microchip的PIC18F86J10微控制器组合,为解决这一问题提供了高性价比方案。TC78H660FTG…

2026/7/4 22:46:48 阅读更多 →
AntiDupl终极指南:三步快速清理重复照片,释放磁盘空间

AntiDupl终极指南:三步快速清理重复照片,释放磁盘空间

AntiDupl终极指南:三步快速清理重复照片,释放磁盘空间 【免费下载链接】AntiDupl A program to search similar and defect pictures on the disk 项目地址: https://gitcode.com/gh_mirrors/an/AntiDupl AntiDupl是一款专业的开源图片去重工具&a…

2026/7/4 22:42:44 阅读更多 →
基于STM32和MAX9744的高效D类音频放大器设计

基于STM32和MAX9744的高效D类音频放大器设计

1. 项目背景与核心器件选型在音频系统设计中,功率放大环节直接决定了最终的声音表现。传统AB类放大器虽然音质优秀,但效率普遍低于50%,导致发热严重、能耗高。而D类放大器采用PWM调制技术,理论效率可达90%以上,特别适合…

2026/7/4 22:40:42 阅读更多 →
Java毕设选题推荐:景观设计作品展示与项目管理系统的设计与实现 基于 SpringBoot 的园林素材资源管理系统【附源码、mysql、文档、调试+代码讲解+全bao等】

Java毕设选题推荐:景观设计作品展示与项目管理系统的设计与实现 基于 SpringBoot 的园林素材资源管理系统【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/4 22:38:41 阅读更多 →
Halcon图像滤波实战:均值、中值与高斯滤波的噪声抑制与边缘保护权衡

Halcon图像滤波实战:均值、中值与高斯滤波的噪声抑制与边缘保护权衡

1. 工业视觉中的图像噪声挑战在工业视觉检测项目中,图像噪声就像不请自来的"第三者",总是干扰着我们对产品缺陷的准确判断。我处理过一个典型的案例:某汽车零部件生产线需要检测金属表面的微小划痕,但采集到的图像总是布…

2026/7/4 22:36:38 阅读更多 →

日新闻

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 正式发布,这是一个关键的安全修复版本,修复了多个方面的问题,还对部分功能进行了优化。 安全修复亮点 此次发布在安全修复上表现突出。binprot 避免了项目引用计数溢出,mcmc 因安全问题提升了上游版本号&#xf…

2026/7/4 0:04:29 阅读更多 →
终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL HMCL(Hello Minecraft! Lau…

2026/7/4 0:06:29 阅读更多 →
KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

1. KMX63与PIC18F66K40的硬件协同架构解析KMX63作为一款三轴加速度计和磁力计组合传感器,与PIC18F66K40微控制器的搭配堪称嵌入式HMI开发的黄金组合。这套硬件组合的核心优势在于KMX63提供的高精度运动感知能力与PIC18F66K40强大的信号处理能力形成了完美互补。KMX6…

2026/7/4 0:06:29 阅读更多 →

周新闻

月新闻