关于SG函数的一个疑问

P2575 高手过招

@[Mr_Wolfram](/space/show?uid=45753) https://paste.ubuntu.com/p/PTvTwjXJDq/ https://paste.ubuntu.com/p/thFQJHqydN/ 这是这两次提交的代码
by Mr_Wolfram @ 2018-02-27 16:39:09


# 滋磁我校dalao
by luv_letters @ 2018-02-27 17:19:54


~~虽然我并帮不上什么忙~~
by luv_letters @ 2018-02-27 17:20:46


是a[]数组的锅。 a[]定义成全局变量的话,在递归到的下一个状态中直接改变了当前状态的a[]中的值,导致计算紊乱。至于没有全错的原因大概是数据较弱吧=-= 把a[]定义成局部变量就可以了。 https://www.luogu.org/recordnew/show/5999092 而你的第一份代码中不会出错是因为每个状态都只能转移到hash值比当前更小的状态(因为他能转移到的状态在二进制下都比他小),而这些状态之前都计算过了(主函数中的循环是从小到大的嘛),所以进入到SG_search函数第一行后便返回了,就不对上一个状态造成影响.. (希望能帮到你^_^) @[Mr_Wolfram](/space/show?uid=45753)
by zubizakeli @ 2018-03-01 22:19:19


@[zubizakeli](/space/show?uid=27388) 谢谢您
by Mr_Wolfram @ 2018-03-03 21:52:01


|