ARC084 XorShift

题意

atc

做法一

这个是我自己想的,可以过atc的数据,不过不太严谨
我猜测,将\(n\)个已有的数字\(S_i\)反复乘\(2\),对于扩展到\(|S_i|\sim 2max\{|S|\}\)的长度插入线性基,然后就是随便计数即可

我猜测,那个乘\(2\)只是个上界,对于官方数据,将长度扩展到\(max\{|S|\}+3000\)就可以过了
code

做法二

这个是官方题解

将数字看成多项式,则操作变成

  • \(x\)
  • 两个多项式按位异或

一般的多项式的操作定义现在的多项式
可以发现求gcd后原来的性质依然满足

故可以表示出来的数是原数的gcd,然后就是随便计数即可

posted @ 2020-10-27 13:52  Grice  阅读(150)  评论(0)    收藏  举报