专栏文章

【题解】B. Gellyfish and Camellia Japonica

CF2115B题解参与者 3已保存评论 3

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
3 条
当前快照
1 份
快照标识符
@mip5cbni
此快照首次捕获于
2025/12/03 06:25
3 个月前
此快照最后确认于
2025/12/03 06:25
3 个月前
查看原文

B. Gellyfish and Camellia Japonica

题意

最开始有个未知的序列 aa,每次操作有三个参数 x,y,zx,y,z,代表将 aza_z 赋值为 min(ax,ay)\min (a_x,a_y) 现已知操作完的序列 bb 和每次操作的三个参数,构造一种合法的序列 aa,无解输出 1-1

思路

我们考虑从最后一个询问倒着往前推,对于最后一个询问,这里记作 x,y,zx,y,z,我们知道 bx,bybzb_x,b_y \ge b_z,这个条件是必要的,即无法从 bx,bybzb_x,b_y \ge b_zbz=min(bx,by)b_z= \min(b_x,b_y) 推导,之后我们考虑递归解决问题,我们考虑只差最后一步的操作没做的 bb' 数组,有 bzb'_z 是可以任取的,因为只需要保证 min(bx,by)=bz\min(b'_x,b'_y)=b_z 即可,注意此处是 bzb_z 而非 bzb'_z。我们注意到一定有 bx=bxbz,by=bybzb'_x=b_x \ge b_z,b'_y=b_y \ge b_z,我们注意到对于任意的 aia_i,其都得满足他比他所更新的 zz 要更大,我们记录对于 aa 的限制数组为 cc
但上述还是一个必要条件,可证 bz=min(bx,by)b_z= \min (b_x,b_y) 的充要条件是 bx,bybzb_x,b_y \ge b_zbx,byb_x,b_y 当中至少有一个等于 bzb_z。我们考虑怎样取数最优,因为 aia_i 无法取 cic_i 以下的数,而 cic_i 又一定是曾经的一个 bzb_z 而在 cic_i 以上就不会存在另外一个曾经是 bzb_z 的数,因此 aia_icic_i 一定最优,之后倒着模拟一边判断其是否合法即可。

代码

评论

3 条评论,欢迎与作者交流。

正在加载评论...