#C. 旅行 (trip)

    Type: FileIO (trip) 1000ms 256MiB

旅行 (trip)

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

小可可来到了 P 国旅行。

P 国共有 n 个城市和 m 条有向道路,其中第 i 条道路为从城市 ui 到城市 vi ,长度 为 wi 。保证 ui < vi**。**

对于一次游览,假设小可可依次经过了城市 x1 , x2, ..., xk ,其中从 xi 到 xi+1 经过的 路径长度为 yi。记 si 表示 y1 , y2 , ..., yi 的按位或值。那么小可可认为这次游览就是从 x1 走到 xk ,疲劳度就是 mex (s1 , s2, ..., sk- 1 )。

其中 mex (a1 , a2, ..., an ) 表示最小的没有出现在 a1 , a2 , ..., an 中的自然数。例如 mex (0, 2, 3) = 1 ,mex (1, 4) = 0 ,mex (0, 1, 2, 3, 4) = 5。

小可可认为两座城市 s, t 之间的距离为他从 s 走到 t 所有可能的游览方案中疲劳度 的最大值,记作 d(s, t)。如果不能从 s 走到 t,那么 d(s, t) = -1。规定 d(s, s) = 0。现 在他想要知道任意两座城市之间的距离之和,即

输入格式

第一行两个整数 n, m。

接下来 m 行,每行三个整数,代表 ui , vi , wi。

输出格式

一行一个整数表示答案。

样例****1输入

3 3
1 2 0
1 3 2
2 3 1

样例****1输出

0

样例****2/3/4/5输入

详见选手文件夹下的 trip/trip*.in 文件。

样例****2/3/4/5输出

详见选手文件夹下的 trip/trip*.ans 文件。

样例****1解释

当从 1 走到 3 时有两条路径。其中从 1 直接到 3 疲劳度为 mex (2) = 0。从 1 到 2 再到 3 疲劳度为 mex (0, 1) = 2。所以 1 到 3 的距离为 2。

以此类推,有 d(1, 1) = d(2, 2) = d(3, 3) = 0 。d(2, 1) = d(3, 1) = d(3, 2) = −1。 d(1, 2) = 1, d(1, 3) = 2, d(2, 3) = 0。总和为 0。

数据规模与约定

对于 10% 的数据,保证 n ≤ 3, m ≤ 5。

对于 25% 的数据,保证 n ≤ 20, m ≤ 40。

对于 45% 的数据,保证 n ≤ 300, m ≤ 500。

对于 60% 的数据,保证 n ≤ 3000, m ≤ 5000。

对于另外 10% 的数据,保证 wi ≥ 1。

对于另外 10% 的数据,保证 m = n − 1 ,ui = i。

对于 100% 的数据,保证 1 ≤ n ≤ 3 × 10^4 , 1 ≤ m ≤ 2 × 10^5 , 1 ≤ ui < vi ≤ n, 0 ≤ wi ≤ 10^9。

CSP-J模拟赛1

Not Attended
Status
Done
Rule
IOI
Problem
4
Start at
2025-9-21 13:30
End at
2025-11-2 5:30
Duration
1000 hour(s)
Host
Partic.
8