A. Alchemy
发现最优策略是唯一的,也就是说,假如要将n个盘子从1移动到3,那么必须先将n-1个盘子移动到2。
然后可以发现这个东西每走一步所需要的时间是确定的,所以只需要确定当前的状态。
一直递归下去即可。
B. Algebra
根据题解的意思,这个东西的答案大约是和n同级的。
由于某种神奇的原因,大约可以认为$f$函数是随机的,所以对于两个不同的k而言,碰撞的概率很大(生日悖论),大约是在根号级别,而且远远达不到。
所以可以发现一种暴力的迭代方法,枚举一个s,找出来当前的n在两种进制下的下一个s是多少,直到两个数相同。
找下一个的过程直接实现就好。大约就是按位贪心。
C. Anarchy
这种构造dft的题还真的没见过。
实际上,假如将距离看成一个函数,那么每个点的答案实际上是一个每一维卷积的结果。
也就是说,对于每一维满足$x_i=y_i+z_i mod s_i$。
假如$s=2$,那么这玩意就是一个异或卷积。
否则的话,可以考虑按照维度划分,对于每个维度分别卷积。
所以现在的问题是,要做任意长度的fft。
考虑要计算的是$sum a_i w^{ij}$,根据套路,把$ij$变成$frac {i^2+j^2-(i-j)^2}{2}$ ,然后就可以卷积了。