摘要: 矩阵快速幂。 一开始的思路是$dfs$出一个矩阵,$k[i][j]$表示这一行是状态$i$,将这一行填满,下一行是$j$状态的方案数。然后就可以矩阵快速幂了,但是矩阵大小是$16*16$的,超时了...... 仔细观察后会发现,第$0$行状态为$0$,因此往后填充的过程中,并不会出现16种情况,只会 阅读全文
posted @ 2017-09-08 09:25 Fighting_Heart 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 线段树。 假设只有一种颜色,因为每次询问有一个$x$一定是$1$,那么我可以想办法找出每一个$y$最小的$x$是多少,如果最小的都不符合,那么一定不符合,因为更新变成了单点更新,询问是区间询问最小值,搞个线段树即可。有$51$种颜色,可以搞$51$个线段树。 阅读全文
posted @ 2017-09-08 08:53 Fighting_Heart 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 可持久字典树。 询问子树可以转化为询问一段区间,因此可以对树的$dfs$序进行操作。因为是在一群数字中找一个数字和已知数字异或最大,所以可以想到字典树。保存前缀字典树,然后询问区间$[L,R]$的时候,只要$R$的字典树减去$L-1$的字典树就是区间$[L,R]$上的的数字构成的字典树。 阅读全文
posted @ 2017-09-08 08:46 Fighting_Heart 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 栈。 将数字排序后,一个一个压入栈。如果栈顶两个元素形成了对子,那么$ans+1$,弹出栈顶两个元素;如果栈顶三个元素形成了顺子,那么$ans+1$,弹出栈顶三个元素。 阅读全文
posted @ 2017-09-08 08:42 Fighting_Heart 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 暴力。 $k$的$k$次方在$k=15$的时候,达到了最大不爆掉的情况。 阅读全文
posted @ 2017-09-08 08:39 Fighting_Heart 阅读(187) 评论(0) 推荐(0) 编辑