摘要: "传送门" 解题思路 感觉这种题都是套路之类的??首先把三个串并成一个,中间插入一些奇怪的字符,然后跑遍$SA$。考虑按照$height$分组计算,就是每个$height$只在最高位计算一次,然后求个后缀和,这个可以并查集来实现。具体就是记一个$sum[i][3]$表示第$i$个联通块中$0,1,2 阅读全文
posted @ 2019-02-26 22:16 Monster_Qi 阅读(295) 评论(0) 推荐(0) 编辑
摘要: "传送门" 解题思路 首先发现可以把相邻的黑白棋子之间的距离看成一堆棋子,那么这个就可以抽象成$Nim$游戏每次可以取$d$堆这个游戏,而这个游戏的$SG$值为$x\%(d+1)$,那么题目其实就是求所有石子的异或和$\%d=0$的方案数。可以设$f[i][j]$表示二进制下前$i$位$\%d$都为 阅读全文
posted @ 2019-02-26 19:39 Monster_Qi 阅读(272) 评论(0) 推荐(0) 编辑
摘要: "传送门" 解题思路 首先很好写出一个$O(ab)$的记搜,但发现这样无法处理$a=1$和$b=1$的情况,这两种情况需要特判。首先$a=1$的情况,就是如果当前选手让$a+1$必胜,那么他一定会给$a+1$,否则会给$b+1$,如果到$2^b n$时,说明谁动$a$谁输,就是平局了,这样的话可以模 阅读全文
posted @ 2019-02-26 16:38 Monster_Qi 阅读(260) 评论(0) 推荐(0) 编辑
摘要: "传送门" 解题思路 用高斯消元对矩阵求逆,设$A B=C$,$C$为单位矩阵,则$B$为$A$的逆矩阵。做法是把$B$先设成单位矩阵,然后对$A$做高斯消元的过程,对$B$进行同样的操作,最后把$A$消成单位矩阵时,$B$就是其的逆矩阵。 代码 cpp include include includ 阅读全文
posted @ 2019-02-26 15:05 Monster_Qi 阅读(242) 评论(0) 推荐(0) 编辑