问题转化:
给定 n 个模块和 n 条单向链路,每一条链路 (ui,vi) 都有翻转代价 ci。已知这些链路无向连接后恰好构成一个环,且每个模块度数为 2。目标是通过翻转若干条链路,使最终的有向图成为一个强连通的单向环,即所有边方向一致(要么全部顺时针,要么全部逆时针)。
建模:
对于每一条原始链路 (ui,vi,ci),在无向环中有两种可能的遍历方向:
在一个空间站中,有 n 个核心模块,它们通过 n 条单向链路连接成一个闭合环。初始时这些链路的传输方向并不一致,导致部分模块之间无法互相通信。工程师可以调整任意一条链路的方向,但每次调整需要消耗一定的能源储备。对于第 i 条链路,它从模块 ui 指向模块 vi,调整方向需要花费 ci 单位能源。你的任务是选择一些链路翻转方向,使得最终每个模块都可以通过链路到达其他任意模块,并且总能源消耗最小。
模块数量 n 满足 2≤n≤105,每条链路的调整代价 ci 不超过 104。输入的链路集合保证恰好构成一个环,即每个模块恰好出现在两条链路中。
第一行包含一个整数 n,表示模块数量。 接下来 n 行,每行包含三个整数 ui、vi 和 ci,表示一条从模块 ui 到模块 vi 的单向链路,将其调整为反向需要消耗 ci 单位能源。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册