1 条题解
-
0
本题要求为无向图的节点分配权值,使得黑边两端点权值和为1,红边两端点权值和为2,并最小化所有权值的绝对值之和。若无法满足条件则输出无解。
思路分析:
- 将每条边的条件转化为关于相邻节点权值的线性方程。对于黑边 ,红边 。
- 整个图转化为一个线性方程组。由于图可能不连通,需对每个连通分量独立求解。
- 对每个连通分量进行DFS遍历,为每个节点设定一个参数化表达式 ,其中 是自由变量。DFS过程中传播关系,若遇到环则检查方程是否相容。
- 若方程组无解(出现矛盾方程),则直接输出无解。
- 若有解,则需选择自由变量 的值以最小化所有权值的绝对值之和。问题转化为最小化 ,即所有一次函数的绝对值之和。最优解取所有函数零点(即 )的中位数。
- 最终输出每个节点的权值,并保证精度要求。
关键点:
- 通过DFS将节点权值表示为自由变量的线性函数。
- 利用中位数性质最小化绝对值之和。
- 处理多个连通分量时独立求解。
- 1
信息
- ID
- 5330
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 25
- 已通过
- 1
- 上传者