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)\)