题目背景
小 L 喜欢在图上行走,尤其喜欢走出一条最长路。
题目描述
他给你一张 n 个节点 m 条边的有向且边带权的图和一个整数 s,请你 ∀1≤t≤n,求出 s→t 的按位或最长路。
输入格式
第一行,三个整数 n,m,s;
接下来 m 行,每行三个整数 u,v,w,表示一条有向边。
输出格式
一行,n 个整数,当不存在一条从 s 到 i 的路径,第 i 个整数为 −1;否则,第 i 个整数为 s→i 的按位或最长路。
10 10 1
1 2 1
2 3 2
2 4 3
4 5 4
4 6 5
5 6 6
6 7 7
7 5 8
7 8 9
9 10 10
0 1 3 3 15 15 15 15 -1 -1
样例 #1 解释
该样例对应的图如上。以下为构造从 1 到每个点的按位或最长路的方案之一:
- 1:1。
- 2:1→2。
- 3:1→2→3。
- 4:1→2→4。
- 5:1→2→4→5→6→7→5。
- 6:1→2→4→6→7→5→6。
- 7:1→2→4→6→7。
- 8:1→2→4→6→7→8。
- 9:不存在一条从 1 到 9 的有向路径。
- 10:不存在一条从 1 到 10 的有向路径。
数据范围
本题开启捆绑测试。
Subtask |
n |
m |
分值 |
1 |
1≤n≤5×103 |
0≤m≤3×104 |
20pts |
2 |
0≤m≤105 |
3 |
无特殊限制 |
30pts |
4 |
无特殊限制 |
对于 100% 的数据,1≤n≤2×104,0≤m≤3×105,1≤s,u,v≤n,0≤w<213。