[COCI2022-2023#1] Berilij 题解

推荐在 cnblogs 上阅读。

Solution

P9030 [COCI2022-2023#1] Berilij

本题解转载翻译自官方题解:COCI 2022/2023 CONTEST 1

Part 1

让我们定义图形 G G G,顶点代表飞船,边代表两艘飞船外部接触的情况。此外,让边的边权成为它所连接的圆之间的距离。

现在的任务等同于为顶点找到非负值,使得每条边所连接的两个顶点值之和等于这条边的边权,其中顶点值的平方和尽可能小。

如果顶点 ( i , j ) (i, j) (i,j) 与边权为 w i , j w_{i,j} wi,j 的边相连,则顶点值的条件 v i ≥ 0 v_i \geq 0 vi0 v j ≥ 0 v_j \geq 0 vj0 v i + v j = w i , j v_i + v_j = w_{i,j} vi+vj=wi,j 成立。

Part 2

在 Subtask 1 中, G G G 是一个奇环。由于我们可以计算出每条边的值 w i , j w_{i,j} wi,j,所以我们可以唯一确定环中第二个顶点的值。

现在我们尝试将第一个顶点的值增加 x x x。为了满足条件,我们现在需要减少第二个顶点的值,然后增加第三个顶点的值……以此类推,直到我们绕回第一个顶点,新的条件是它的值必须是 a − x a-x ax

由于 x = a − x x = a - x x=ax,我们可以唯一确定 x x x x = a 2 x = \frac{a}{2} x=2a

现在我们只需检查将 a 2 \frac{a}{2} 2a 替换为第一个顶点的值是否会导致所有其他顶点的值为非负值。

Part 3

在 Subtask 3 中, G G G 是一个森林,但只需对每棵树分别求解即可。

为了满足任务的条件,我们现在可以唯一确定每个顶点 i i i 的值为线性多项式 ± x + c i \pm x + c_i ±x+ci,其中 c i c_i ci 是一个常数,其值等于从顶点 i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值