A2778 | 路线设计
来源USACO / 2013
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
河左岸有n个点,右岸有m个点,各有权值。有R条跨河的桥,求一条不交叉的路径使得点权和最大。
(a <-> b) 与 (x <-> y) 交叉指(a < b and y < x) or (b < a and x < y) or (a = b and x = y)。
(a <-> b) 与 (x <-> y) 交叉指(a < b and y < x) or (b < a and x < y) or (a = b and x = y)。
输入格式
* 第 1 行:三个空格分隔的整数 N (1 <= N <= 40,000)、M (1 <= M <= 40,000) 和 R (0 <= R <= 100,000) 表示
分别是河流左侧的站点数量、河流右侧的站点数量和路线数量。
* 第 2..N+1 行:(i+1)第 (i+1) 行有一个整数,L_i (0 <= L_i <= 40,000),表示河流左侧第 i 个旅游景点的值。
* N+2..N+M+1 行:(i+N+1)行有一个整数,R_i (0 <= R_i <= 40,000),表示河流右侧第 i 个旅游景点的值。
* 线 N+M+2..N+M+R+1:每行包含两个空格分隔的整数 I (1 <= I <= N) 和 J (1 <= J <= M),表示在河流左侧的站点 I 和河流右侧的站点 J 之间有一条双向路线。
分别是河流左侧的站点数量、河流右侧的站点数量和路线数量。
* 第 2..N+1 行:(i+1)第 (i+1) 行有一个整数,L_i (0 <= L_i <= 40,000),表示河流左侧第 i 个旅游景点的值。
* N+2..N+M+1 行:(i+N+1)行有一个整数,R_i (0 <= R_i <= 40,000),表示河流右侧第 i 个旅游景点的值。
* 线 N+M+2..N+M+R+1:每行包含两个空格分隔的整数 I (1 <= I <= N) 和 J (1 <= J <= M),表示在河流左侧的站点 I 和河流右侧的站点 J 之间有一条双向路线。
输出格式
* 第 1 行:单个整数,表示在游览中可达到的最大值总和。
输入输出样例
输入 #1
3 2 4 1 1 5 2 2 1 1 2 1 3 1 2 2
输出 #1
8
Amoozon 的左侧有三个站点,值分别为 1、1 和 5。Amoozon 的右侧有两个站点,值分别为 2 和 2。有四条路线连接河流两岸的景点。
最佳游览从左侧的站点 1 开始,从右侧的站点 1 开始,到左侧的站点 3 结束。它们分别具有值 1、2 和 5,给出行程的总值为 8。
最佳游览从左侧的站点 1 开始,从右侧的站点 1 开始,到左侧的站点 3 结束。它们分别具有值 1、2 和 5,给出行程的总值为 8。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?