省选模拟36

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}$ ,然后就可以卷积了。

猜你喜欢

转载自www.cnblogs.com/hzoi-cbx/p/12416317.html