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 后最后到达的位置和经过的最低点的高度即可 . 经过一些简单的步骤之后问题的困难性在于求:

\[\min_{i=1}^n\left\{\left\lfloor\dfrac n{a_1+b_1}\right\rfloor a_1-\left\lfloor\dfrac n{a_2+b_2}\right\rfloor a_2+\min(a_1,n\bmod(a_1+b_1))-\min(a_2,n\bmod(a_2+b_2))\right\} \]

由于某些原因 \(i\) 在 \(n\) 或 \(a_1+b_1\) 的倍数处取到最小值,那么只需要考虑 \(a_1+b_1\) 的倍数处的情况,那么答案即为

\[\min_{k=1}^m\left\{a_1k-\left\lfloor\dfrac{(a_1+b_1)k}{a_2+b_2}\right\rfloor a_2-\min(a_2,(a_1+b_1)k\bmod(a_2+b_2))\right\} \]

讨论 min 两个操作数的大小关系:

  1. \(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 一下就行了,反正我懒得搞了(

  2. \(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. 我确实写了一个不过跑的有点爆炸慢。。)

posted @ 2025-06-17 15:34  Jijidawang  阅读(95)  评论(2)    收藏  举报
😅​