[ARC175] D - LIS on Tree 2
D - LIS on Tree 2
Time Limit: 2 sec / Memory Limit: 1024 MB
题面
有一棵包含
对于一个由
- 对于每个顶点
,设 是从顶点 到顶点 的简单路径, 是序列 的最长递增子序列的长度。我们定义 。
给定一个整数
什么是最长递增子序列?一个序列的子序列是通过从原序列中移除零个或多个元素,并将剩余元素连接而不改变顺序得到的序列。例如,
一个序列的最长递增子序列是该序列中最长的严格递增子序列。
什么是简单路径?对于图
限制条件
- 所有输入值均为整数。
- 给定的图是一棵树。
输入
输入以以下格式从标准输入给出:
输出
如果不存在一个排列 No。
如果存在一个排列
Yes
如果有多个满足条件的排列
输入样例 1
5 8
1 2
2 3
2 4
4 5
输出样例 1
Yes
3 2 1 4 5
如果
从顶点
到顶点 的简单路径是 ,序列 的最长递增子序列的长度为 。因此, 。 从顶点
到顶点 的简单路径是 ,序列 的最长递增子序列的长度为 。因此, 。 从顶点
到顶点 的简单路径是 ,序列 的最长递增子序列的长度为 。因此, 。 从顶点
到顶点 的简单路径是 ,序列 的最长递增子序列的长度为 。因此, 。 从顶点
到顶点 的简单路径是 ,序列 的最长递增子序列的长度为 。因此, 。 综上,
。
因此,样例输出中给出的排列
输入样例 2
7 21
2 1
7 2
5 1
3 7
2 6
3 4
输出样例 2
No
可以证明没有任何排列
输入样例 3
8 20
3 1
3 8
7 1
7 5
3 2
6 5
4
7
输出样例 3
Yes
2 1 3 5 6 8 4 7