2025.6.17 闲话
原本味道
有两个点 A, B 在无限长的数轴上移动,速度均为 1 m/s。A 初始在 1,每移动 \(a_1\) s 休息 \(b_1\) s;B 初始在 0,每移动 \(a_2\) s 休息 \(b_2\) s,但不能越过 A,也就是说如果 B 这一秒在移动状态,但 A 在其前方一个单位的位置静止,那么 B 这一秒不会移动。
问第 \(n\) 秒时 B 的位置。
图


(感谢 LCA 提示!)
考虑计算 A, B 的位置差,那么相当于一个可以走 \((1,-1),(1,0),(1,1)\) 步的折线图,随时对 \(y=1\) 取 max,问最后走到哪里 . 显然只需要计算去掉取 max 后最后到达的位置和经过的最低点的高度即可 . 经过一些简单的步骤之后问题的困难性在于求:
由于某些原因 \(i\) 在 \(n\) 或 \(a_1+b_1\) 的倍数处取到最小值,那么只需要考虑 \(a_1+b_1\) 的倍数处的情况,那么答案即为
讨论 min 两个操作数的大小关系:
-
\(a_2\ge(a_1+b_1)k\bmod(a_2+b_2)\),二分答案 \(X\) 转计数,
\[\small\begin{aligned}&\sum_{k=1}^m\left[a_1k-\left\lfloor\dfrac{(a_1+b_1)k}{a_2+b_2}\right\rfloor a_2-(a_1+b_1)k\bmod(a_2+b_2)\le X\right][a_2\ge(a_1+b_1)k\bmod(a_2+b_2)]\\=&\sum_{k=1}^m\left[a_1k-\left\lfloor\dfrac{(a_1+b_1)k}{a_2+b_2}\right\rfloor a_2-(a_1+b_1)k+\left\lfloor\dfrac{(a_1+b_1)k}{a_2+b_2}\right\rfloor(a_2+b_2)\le X\right][a_2\ge(a_1+b_1)k\bmod(a_2+b_2)]\\=&\sum_{k=1}^m\left[\left\lfloor\dfrac{(a_1+b_1)k}{a_2+b_2}\right\rfloor b_2-b_1k\le X\right][a_2\ge(a_1+b_1)k\bmod(a_2+b_2)]\end{aligned} \]在此停顿片刻 . 左侧的不等式看起来非常困难,考虑到 \(a_2\ge(a_1+b_1)k\bmod(a_2+b_2)\),也即
\[\left\lfloor\dfrac{(a_1+b_1)k}{a_2+b_2}\right\rfloor\le1+\left\lfloor\dfrac{(a_1+b_1)k-a_2}{a_2+b_2}\right\rfloor \](这是一个常见的拆整除技巧 \([x\bmod p\le k]=\lfloor\frac xp\rfloor-\lfloor\frac{x-k}p\rfloor\))
另一方面 \(\left\lfloor\dfrac{(a_1+b_1)k}{a_2+b_2}\right\rfloor b_2-b_1k\le X\iff \left\lfloor\dfrac{(a_1+b_1)k}{a_2+b_2}\right\rfloor\le\dfrac{X+b_1k}{b_2}\),如果令 \(n=\left\lfloor\dfrac{(a_1+b_1)k}{a_2+b_2}\right\rfloor,\,\alpha=\dfrac{X+b_1k}{b_2},\,\beta=\dfrac{(a_1+b_1)k-a_2}{a_2+b_2}\),那么一个合法的情形大致形如下图

考虑先限制住 \(\alpha>\beta\)(可以计算出满足条件的 \(k\) 的取值范围),接下来不合法的 \(\alpha\) 一定落在 \((\beta,n)\) 之间 . 考虑计算不合法的情况,进一步限制 \(\alpha<\dfrac{(a_1+b_1)k}{a_2+b_2}\),那么原式就可以写成 Floor Sum 的形式了 . 如果最后限制到 \(k\in[L,R]\),则不合法的部分就是
\[\sum_{k=L}^R\left(\left\lfloor\dfrac{(a_1+b_1)k}{a_2+b_2}\right\rfloor-\left\lfloor\dfrac{X+b_1k}{b_2}\right\rfloor\right)\left(\left\lfloor\dfrac{(a_1+b_1)k}{a_2+b_2}\right\rfloor-\left\lfloor\dfrac{(a_1+b_1)k-a_2}{a_2+b_2}\right\rfloor\right) \]后面我猜 ABC402G 一下就行了,反正我懒得搞了(
-
\(a_2\le(a_1+b_1)k\bmod(a_2+b_2)\)
\[\begin{aligned}&\sum_{k=1}^m\left[b_1k-\left\lfloor\dfrac{(a_1+b_1)k}{a_2+b_2}\right\rfloor a_2-a_2\ge X\right][a_2\ge(a_1+b_1)k\bmod(a_2+b_2)]\\=&\sum_{k=1}^m\left[b_1k-\left\lfloor\dfrac{(a_1+b_1)k}{a_2+b_2}\right\rfloor a_2\ge X+a_2\right][a_2\ge(a_1+b_1)k\bmod(a_2+b_2)]\end{aligned} \]后面和 1 一样,略去 .
综上所述问题被 \(O(\log^2n)\)(似乎?)解决,谁愿意想细节谁想去吧我跑路了 .

(upd. 我确实写了一个不过跑的有点爆炸慢。。)
以下是博客签名,正文无关
本文来自博客园,作者:Jijidawang,转载请注明原文链接:https://www.cnblogs.com/CDOI-24374/p/18932963
版权声明:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议(CC BY-NC-SA 4.0)进行许可。看完如果觉得有用请点个赞吧 QwQ

浙公网安备 33010602011771号