SenseTime Ace Coder Challenge 暨 商汤在线编程挑战赛 G.危险路径

https://nanti.jisuanke.com/t/26021

给定一个 nn 个点 mm 条边的连通无向图,其中点从 11 到 nn 标号,而每条边有一个危险值。

对于任意一条路径,定义路径上危险值的最大值为这条路径的危险值。

对于任意不同的两点 uu 和 vv,定义 d(u, v)d(u,v) 为所有从 uu 到 vv 的路径的危险值最小值。

对于每个点 uu,定义 f_u = \sum\limits_{1 \leq v \leq n, u \neq v}{d(u, v)}fu​=1≤v≤n,u≠v∑​d(u,v),表示点 uu 的危险程度。

你的任务就是计算每个点的危险程度。

为了便于输出,你只需要给出 \mathop{\oplus}\limits_{i = 1}^{n}{\left(i \cdot f(i)\right)}i=1⊕n​(i⋅f(i)) 的值即可,其中 \oplus⊕ 代表按位异或。

输入格式

第一行包含一个正整数 TT,表示有 TT 组测试数据。

接下来依次描述 TT 组测试数据。对于每组测试数据:

第一行包含两个正整数 nn 和 mm。

接下来 mm 行,每行描述一条无向边,包含三个正整数 uu, vv 和 ww,表示有一条连接点 uu 与点 vv 的无向边,其危险值是 ww。

注意,任意两点可能直接连有多条边,而且边的两个端点可能相同。

保证 1 \leq T \leq 2001≤T≤200, 1 \leq n \leq 10^51≤n≤105, n - 1 \leq m \leq 3 \times 10^5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值