#YHCSPJMN150004. 道路规划
道路规划
道路规划
题目背景
在育华学校的战略模拟课上,T2之王遇到了一个关于战场据点道路规划的挑战。需要将所有双向道路改为单向道路,既要避免形成环(确保总司令不迷路),又要满足每个据点出度的区间约束。
题目描述
战场上有 个据点(编号1~n),初始时每两个据点之间都有一条双向道路。需完成以下改造与约束满足:
- 道路单向化:将所有双向道路改为单向道路,改造后的有向图不能包含环(即图需为DAG,有向无环图);
- 出度约束:第 个据点的出度(从该点出发的单向道路数量)必须在区间 内()。
需判断是否存在满足上述两个条件的道路改造方案。题目包含多组测试数据。
输入格式
- 第一行:整数 ,表示测试数据组数;
- 对于每组数据:
- 第一行:整数 ,表示据点数量;
- 第二行: 个整数 ,表示每个据点出度的下限;
- 第三行: 个整数 ,表示每个据点出度的上限。
输出格式
对每组测试数据,输出一行字符串:
- 若存在合法改造方案,输出
YES
; - 若不存在,输出
NO
。
样例
样例输入 1
2
5
0 1 4 0 0
3 4 4 1 3
3
1 2 2
2 2 2
样例输出 1
YES
NO
样例解释 1
第一组数据(5个据点)
- 出度约束:据点1([0,3])、据点2([1,4])、据点3([4,4])、据点4([0,1])、据点5([0,3]);
- 可行方案:通过对据点进行拓扑排序(如按3→2→1→5→4的顺序),将道路方向设为“靠前节点指向靠后节点”,可满足出度约束(例如据点3需出度4,指向所有其他4个据点;据点2出度3,指向1、5、4等),且无环,故输出
YES
。
第二组数据(3个据点)
- 出度约束:据点1([1,2])、据点2([2,2])、据点3([2,2]);
- 矛盾点:3个据点总出度需满足 ,但3个据点的完全图共有 条道路(单向化后总出度为3),5>3,无法满足,故输出
NO
。
数据规模与测试点(共20个测试点,育华学校专项)
测试点编号 | 特殊条件 | 考查目标 | |
---|---|---|---|
#1~#2 | 10 | 无 | |
#3~#4 | |||
#5~#6 | 1000 | ||
#7~#8 | |||
#9~#10 | 10⁵ | 所有 (按编号排序后出度恰好为 ) | |
#11~#12 | 所有 (需优先满足下限) | ||
#13~#14 | (部分据点无出度) | ||
#15~#16 | (部分据点出度上限为最大值) | ||
#17~#18 | 无 | ||
#19~#20 |
注:所有测试点均满足 ,;核心约束包括“总出度必须为 ”“排序后第 个节点出度需在 内”( 为排序后的出度上下限)。
相关
在下列比赛中: