欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
S42603.26-3 选取秘藏
26-3 选取秘藏
选取秘藏
光砖铺完了,但Zero的迷宫里有秘藏——需要选取。
"秘藏?"CC问。
"对。"你说,"个房间,每个房间有秘藏。从某个房间出发,走步,每步可以去相邻房间。求经过的秘藏之和的最大值。"
"相邻?"
"对。"你说,"房间之间有通道。"
"步?"
"对。"你说,"走步,可以重复经过房间。"
"咋算?"
"倍增DP。"你说,"预处理走步的最大值,然后拆为二进制,组合起来。"
"倍增?"
"对。"你说,"先算走1步、2步、4步、8步……的最大值,然后用这些拼出走步。"
"第47步。"你说,"——5个倍增段组合。"
"组合?"
"对。"你说,"走32步后的最大值,再走8步……一步步拼。"
"秘藏会重复拿?"
"看规则。"你说,"如果重复经过算重复拿,要处理环;如果只能拿一次,是路径覆盖。"
"像寻宝?"
"对。"你说,"像寻宝——走迷宫,捡宝贝。"
"走哪条路?"
"算。"你说,"DP算出每步走哪最优。"
"能算出来?"
"能。"你说,"倍增让大也能算。"
CC看着迷宫——像一个盒子,像一张网,像某种需要探索的空间。
"探索?"她问。
"对。"你说,"每一步都是选择——左还是右,前还是后。"
"选错?"
"可能错过秘藏。"你说,"但DP帮我们选最优的。"
"最优?"
"对。"你说,"不是唯一,但是最好。"
Echo把迷宫路径投射出来——弯弯曲曲,但每一段都是亮的。
"以前我迷路。"她说,"现在……有地图了。"
"因为你在画。"你说。
"对。"她说,"因为我在画。
题目描述
个节点的图,每个节点有权值。从节点1出发,走步,每步去相邻节点。求经过节点权值之和的最大值。
输入格式
第一行。接下来个整数权值。接下来条边。
输出格式
最大权值和。
输入样例
1 0
输出样例
0
提示
- 倍增DP:表示走步到的最大值。
- 转移:。
- 时间复杂度。
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |