曇天も払う光なら凄惨な旅路だって往ける 若这束光芒能驱散黑暗 拨云见日 哪怕旅途灰暗 我也将步履不停|

AzusidNya

园龄:1年7个月粉丝:4关注:4

P10217 [省选联考 2024] 季风 题解

[省选联考 2024] 季风

Description

给定 n,k,x,y2n 个整数 x0,y0,x1,y1,,xn1,yn1

找到最小的非负整数 m,使得存在 2m 个实数 x0,y0,x1,y1,,xm1,ym1 满足以下条件,或报告不存在这样的 m

  • i=0m1(xi+ximodn)=x
  • i=0m1(yi+yimodn)=y
  • 0im1,|xi|+|yi|k

特别地,m=0 时,认为 i=0m1(xi+ximodn)i=0m1(yi+yimodn) 均为 0

Solution

我很唐,写了三个多小时。

在坐标系中看问题。注意到如果把 (xi,yi) 看成点,那么所有点都满足条件 |xi|+|yi|k,等价于所有点都在一个以坐标系原点为中心的,对角线长 2k45 倾斜的正方形中。

假设我们现在枚举了一个 m,并且算出了 i=0m1ximodni=0m1yimodn,分别设为 txty

那么平均下来每个 xiyi 应该分别要达到 xtxm,ytym

那么有结论,如果 m 满足题目条件,那么一定有 |xtxm|+|ytym|k。因为我们希望让平均坐标为 (xtxm,ytym) 的若干个点都在一个封闭图形中,那么最优方案一定是将这些点都集中在平均坐标上,这样它们占的面积最小。而如果连这种最优方案都不满足,那么一定没有方案满足题目的条件的。

m 拆分成 xn+b (x,bN,b[0,n) ) 的形式。为了简便,下面设 a=n。枚举 b。分别设 sxi,syixy 数组的前缀和。

那么 tx=asxn+sxb,ty=asyn+syb

p=sxn,q=syn,c=xsxb,d=ysyb,那么对于每个 b,题目就转换为了求下面的不等式的解集。

|px+cax+b|+|qx+dax+b|k

ax+b 恒大于 0,所以可以分类讨论 px+cqx+d 的符号,分四类讨论,把绝对值拆开。

下面以 px+c0,qx+d0 为例。继续推下去。

|px+cax+b|+|qx+dax+b|k(p+q)x+(c+d)ax+bk(p+q)x+(c+d)akx+bk(p+qak)x+(c+dbk)0

rp+qaksc+dbk,那么又转化成了不等式 rx+s0 的形式。这个不等式方程是很好解的。最后求出解集和 (0,+) 的交集,取解集中最小的数就可以求出这种情况下最小的 x,进而得到 m=ax+b

另外三类情况同理。分类讨论完取四类情况的最小值就是对于当前 b 的最小 m 值。

对于所有的 b 算一遍,这题就做完了。时间复杂度 O(n)

代码实现方面,实现一个求 ax+b0 的函数,就非常好写了。

本文作者:AzusidNya の 部屋

本文链接:https://www.cnblogs.com/AzusidNya/p/18052815

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   AzusidNya  阅读(161)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起