ARC 乱做

ARC136D Without Carry

\(x\) 相加不进位的充要条件是每一位都 \(\le9-x\) 的对应位,把每个十进制位看作一维做高维前缀和即可。时间复杂度 \(O((n+a)\log a)\)

ARC137C Distinct Numbers

为了方便表述,每次操作后都对 \(a\) 排序

结论:\(a_{n-1}+1<a_{n}\) 时 A 必胜。因为 A 可以根据把 \(a_n\) 变成 \(x<a_{n-1}\) 数后谁胜来决定把 \(a_n\) 变成 \(x\) 还是 \(a_{n-1}\)

显然 A,B 都不会把这样的局面送给对手,那么每次操作后都有 \(a_{n-1}+1=a_{n}\),即每次 \(a_n\) 都会 \(-1\)。当 \(a_{n}=n-1\) 时结束,因此只需要判断 \(a_{n}\)\(n-1\) 奇偶性即可

ARC136E on-coprime DAG

显然 \(1\) 没有出边,先选上

\(f(x)\)\(x\) 的最小质因子,则 \(x-f(x)\) 是能到 \(x\) 的最大值,\(x+f(x)\)\(x\) 能到的最小值

考虑两个点 \(x,y\) 何时可达:

  • \(x\equiv0\pmod2,y\equiv0\pmod2\):永远可达
  • \(x\equiv0\pmod2,y\equiv1\pmod2\)\(x\le y-f(y)\)
  • \(x\equiv1\pmod2,y\equiv0\pmod2\)\(x+f(x)\le y\)
  • \(x\equiv1\pmod2,y\equiv1\pmod2\)\(x+f(x)\le y-f(y)\)

简证一下第四种情况:若 \(x\) 能直接到 \(y\),设 \(x=ap,y=bp\)\(a,b\) 为奇数),那么 \(a<b\Rightarrow x+f(x)\le ap+p\le bp-p\le y-f(y)\);若 \(x\) 经过另一点 \(z\) 到达 \(y\),那么 \(x+f(x)\le z\le y-f(y)\)

据此可以构造

  • \(x\equiv0\pmod2\)\(l(x)=r(x)=x\)
  • \(x\equiv1\pmod2\)\(l(x)=x-f(x)+1,r(x)=x+f(x)-1\)

那么 \(x\) 不能到 \(y\) 等价于 \([l(x),r(x)]\cap[l(y),r(y)]\ne\varnothing\),枚举交集中的一个元素即可。时间复杂度 \(O(n)\)

posted @ 2022-03-05 22:08  401rk8  阅读(80)  评论(0编辑  收藏  举报