随机乱作 part 6

1. CTSC2010 珠宝商

2. CF1718D Permutation for Burenka

3. CF1726G A Certain Magical Party

4. ARC136E Non-coprime DAG

考虑到 \(2\) 是一个很好的传递介质,不妨考察奇偶性,考察两点 \(i<j\)

\(p(x)\)\(x\) 的最小的质因子。

  • \(i\) 为奇,\(j\) 为奇,当 \(i+p(i)\leqslant j-p(j)\) 时可以走到。

  • \(i\) 为奇,\(j\) 为偶,当 \(i+p(i)\leqslant j\) 时可以走到。

  • \(i\) 为偶,\(j\) 为奇,当 \(i\leqslant j-p(j)\) 时可以走到。

  • \(i\) 为偶,\(j\) 为偶,\(i\) 可以直接走到 \(j\)

容易理解以上式子的正确性,容易发现最多取一个偶数。

如果取了偶数 \(pos\),则一定取右侧所有 \(i-p(i)<pos\) 的和左侧所有 \(i+p(i)>pos\)

否则全都是奇数,则是 \(\min i+p(i)>\max i-p(i)\),可以枚举一个中间值。

5. ARC135E Sequence of Multiples

\(A_i=i(\lfloor \dfrac{A_{i-1}}{i}\rfloor +1)\),设 \(B_{i}=\dfrac {A_i}{i}\),则 \(B_{i+1}=\lfloor \dfrac{iB_{i}}{i+1}\rfloor+1=B_i+1-\lceil \dfrac{B_i}{i+1}\rceil\)

\(B_{i}-B_{i+1}=\lceil \dfrac{B_i}{i+1}\rceil-1\),故 \(B_i\) 不增。考察一个 \(A_i\) 的上界:

\[A_i\leqslant X+\sum_{j=2}^i j<X+\dfrac 12 i(i+1),B_i<\dfrac{X}{i}+\dfrac 12 (i+1) \]

注意到数据范围是 \(10^{18}\) 我们希望得到一个 \(X^{\frac 13}\) 的做法,设 \(L=X^{\frac 13}\),我们发现:

  • \(i<=L\) 时,\(B_i-B_{i+1}\) 至多有 \(L\) 种取值;
  • \(i>L\) 时,由于 \(B_L-B_{L+1}=\lceil \dfrac{B_L}{L+1}\rceil-1<\lceil \dfrac{\frac XL+\frac 12(L+1)}{L+1}\rceil=O(L)\),也只有 \(O(L)\) 种;

于是我们只用对这 \(O(X^{\frac 13})\) 个连续段计算答案即可。

假设一个段的开头为 \(l\),令 \(x=\lceil \dfrac{B_l}{l+1}\rceil\),则 \(r\) 为满足 \(x=\lceil \frac{B_l-(r-l)(x-1)}{r+1}\rceil\) 的最大的 \(r\)

\[x=\lceil \frac{B_l-(r-l)(x-1)}{r+1}\rceil=\lceil \frac{B_l+(l+1)(x-1)}{r+1}\rceil-x+1 \]

\[2x-1=\lceil \frac{B_l+(l+1)(x-1)}{r+1}\rceil=\lfloor \frac{B_l+(l+1)(x-1)-1}{r+1}\rfloor+1 \]

\[r+1=\lfloor \frac{B_l+(l+1)(x-1)-1}{2x-2}\rfloor \]

6. ARC132E Paw

观察最终形态,一定是 <<<<...<=>>>...>> 这种,表示左边都是向左,右边都是向右,中间恰有一个间隔不变。

考虑 \(n\) 个点都变成 < 且不影响到最右边的概率,设为 \(f_n\)

此时可以操作除了最右边且向右以外的所有方案并递归到子问题,于是有:

\[f_n=f_{n-1}(1-\dfrac{1}{2n}) \]

枚举每个间隔作为不变的,于是答案为:

\[ \sum_{\text{间隔}}f_\text{左边点数}\times f_{\text{右边点数}}\times (\text{间隔中 < 的数量}+\text{左边总个数}) \]

就是这样,时间复杂度 \(O(n)\)

7. ARC132F Takahashi The Strongest

8. ARC130F Replace by Average

9. ARC129E Yet Another Minimization

感觉做这种超级玄学网络流真的没啥收获啊!还是尽力描述一下吧。

首先考虑 \(c_{i,j}\) 那一块,排出 \(n\) 排长度为 \(m\) 的链,令 \(V_{i,0}=S,V_{i,m}=T\),连边 \((V_{i,j-1},V_{i,j},c_{i,j})\),断开这一条表示选 \(a_{i,j}\),这部分是经典的。然后考虑绝对值的部分:

\[\sum_{i<j} |x_i-x_j|w_{i,j}=\sum_{i,j} w_{i,j} \sum_{a\in Z} [x_j\leqslant a,a+1\leqslant x_i] \]

所以,对于任意的 \(a\in Z\),若满足条件则必须要割掉,反之一定不需要割,比较抽象,考虑直观一点。假如我把每个 \(a\) 都建一个点,然后只把 \(a_{i,*}\) 设边权,其余都是 \(+\infty\),然后连边 \((V_{i,a},V_{j,a},w_{i,j})\),显然跑出来就是上式。那么我们只用把相同的边合并,事实上就是连边

\[(V_{i,x-1},V_{j,y},w_{i,j}\max\{0,\min\{a_{i,x},a_{j,y+1}\}-\max\{a_{i,x-1},a_{j,y}\}\}) \]

10. ARC129F Let's Play Tag

posted @ 2022-09-14 09:48  syzf2222  阅读(55)  评论(0编辑  收藏  举报