A6315 | 「JSOI2016」飞机调度
时间限制1s
内存限制512MB
通过 / 提交0/0
题目描述
JSOI 王国里有 $N$ 个机场,编号为 $1$ 到 $N$。从 $i$ 号机场到 $j$ 号机场需要飞行 $T_{i, j}$ 的时间。由于风向,地理位置和航空管制的因素, $T_{i, j}$ 和 $T_{j, i}$ 并不一定相同。
此外,由于飞机降落之后需要例行维修和加油。当一架飞机降落 $k$ 号机场时,需要花费 $P_k$ 的维护时间才能再次起飞。
JS Airways 一共运营 $M$ 条航线,其中第 $i$ 条直飞航线需要在 $D_i$ 时刻从 $X_i$ 机场起飞,不经停,飞往 $Y_i$ 机场。
为了简化问题,我们假设 JS Airway 可以在 $0$ 时刻在任意机场布置任意多架加油维护完毕的飞机;为了减少飞机的使用数,我们允许 JS Airways 增开任意多条临时航线以满足飞机的调度需求。
JYY 想知道,理论上 JS Airways 最少需要多少架飞机才能完成所有这 $M$ 个航班。
此外,由于飞机降落之后需要例行维修和加油。当一架飞机降落 $k$ 号机场时,需要花费 $P_k$ 的维护时间才能再次起飞。
JS Airways 一共运营 $M$ 条航线,其中第 $i$ 条直飞航线需要在 $D_i$ 时刻从 $X_i$ 机场起飞,不经停,飞往 $Y_i$ 机场。
为了简化问题,我们假设 JS Airway 可以在 $0$ 时刻在任意机场布置任意多架加油维护完毕的飞机;为了减少飞机的使用数,我们允许 JS Airways 增开任意多条临时航线以满足飞机的调度需求。
JYY 想知道,理论上 JS Airways 最少需要多少架飞机才能完成所有这 $M$ 个航班。
输入格式
第一行包含两个正整数 $N,M$;
接下来一行包含 $N$ 个正整数表示每一个机场的飞机维护时间;
接下来 $N$ 行,每行 $N$ 个非负整数,其中第 $i$ 行第 $j$ 个非负整数为 $T_{i,j}$,表示从 $i$ 号机场飞往 $j$ 号机场所需要花费的时间。数据保证 $T_{i,i}=0$;
接下来 $M$ 行,每行三个正整数,其中第 $i$ 行为 $X_i,Y_i,D_i$,表示第 $i$ 条航线的起飞机场,降落机场,以及起飞时间。数据保证 $X_i\not =Y_i$。
接下来一行包含 $N$ 个正整数表示每一个机场的飞机维护时间;
接下来 $N$ 行,每行 $N$ 个非负整数,其中第 $i$ 行第 $j$ 个非负整数为 $T_{i,j}$,表示从 $i$ 号机场飞往 $j$ 号机场所需要花费的时间。数据保证 $T_{i,i}=0$;
接下来 $M$ 行,每行三个正整数,其中第 $i$ 行为 $X_i,Y_i,D_i$,表示第 $i$ 条航线的起飞机场,降落机场,以及起飞时间。数据保证 $X_i\not =Y_i$。
输出格式
一行一个正整数,表示 JS Airways 理论上最少需要的飞机数。
输入输出样例
输入 #1
3 3 100 1 1 0 1 1 1 0 5 2 1 0 1 2 1 2 1 1 3 1 9
输出 #1
2
输入 #2
3 3 100 1 1 0 1 1 1 0 5 2 1 0 1 2 1 2 1 1 3 1 8
输出 #2
3
对于 $30\%$ 的数据,满足 $N,M\le 10$;
对于 $60\%$ 的数据,满足 $N,M\le 100$;
对于全部数据,满足 $1\le N,M\le 500,0\le P_i,T_{i,j}\le 10^6,1\le D_i\le 10^6$。
对于 $60\%$ 的数据,满足 $N,M\le 100$;
对于全部数据,满足 $1\le N,M\le 500,0\le P_i,T_{i,j}\le 10^6,1\le D_i\le 10^6$。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?