欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1941E.Rudolf and k Bridges
Rudolf and k Bridges
CF1941E · Rudolf and k Bridges
- 难度:1600
- 标签:binary search、data structures、dp、two pointers
- 链接:https://codeforces.com/problemset/problem/1941/E
- 时间限制:2 seconds 内存限制:256 megabytes
- 出现位置:Day25-二分-DP-数据结构综合
中文题意
河流是一个 行 列的网格。第 行第 列交点处的数 表示该格的水深。第一列和最后一列的所有格子都是河岸,深度为 。
Rudolf 可以选择某一行 ,在其上建一座桥。他可以在该行的每个格子安装桥墩,在格子 安装桥墩的花费为 。桥墩的安装需满足以下条件:
- 格子 必须安装桥墩;
- 格子 必须安装桥墩;
- 任意两个相邻桥墩之间的距离不超过 。桥墩 与 之间的距离定义为 。
只建一座桥太无聊了。因此 Rudolf 决定在连续的若干行上建 座桥:即选择某个 (),在第 行上各自独立地建一座桥。请帮 Rudolf 使安装桥墩的总花费最小。
输入格式(中文)
第一行一个整数 (),表示测试数据组数。
每组数据第一行四个整数 、、、(,,),分别表示网格的行数、列数、桥的数量以及相邻桥墩间的最大距离。
接下来 行,第 行 个正整数 (,),为各格的水深。
保证所有测试数据的 之和不超过 。
输出格式(中文)
对每组数据输出一个整数——安装桥墩的最小总花费。
样例
样例 1
输入:
5
3 11 1 4
0 1 2 3 4 5 4 3 2 1 0
0 1 2 3 2 1 2 3 3 2 0
0 1 2 3 5 5 5 5 5 2 0
4 4 2 1
0 3 3 0
0 2 1 0
0 1 2 0
0 3 3 0
4 5 2 5
0 1 1 1 0
0 2 2 2 0
0 2 1 1 0
0 3 2 1 0
1 8 1 1
0 10 4 8 4 4 2 0
4 5 3 2
0 8 4 4 0
0 3 4 8 0
0 8 1 10 0
0 10 1 5 0
输出:
4
8
4
15
14
在线编程 IDE
建议全屏模式获得最佳体验
键盘快捷键
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |
第 1 行,第 1 列
0 字符
-
最近自测结果
暂未运行
最近递交结果
暂无递交记录