摘要: 我们先证明这个子矩阵一定可以放在左上角 假设我们在原矩阵中随便取一个矩阵(这个矩阵不与四条邻边挨着),然后让这个矩阵无限的复制延伸可以覆盖原来的矩阵,那么重新选取一个矩阵,这个矩阵是我们最开始选取的矩阵的每一列往左边走一位而行不变的矩阵,比如下面 其中黑色矩阵是我们最开始选取的矩阵,橙色矩阵是我们现 阅读全文
posted @ 2024-01-16 23:54 最爱丁珰 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 这道题目就是一个二维hash模板 讲一下二维哈希 二维的数据结构一般都是先对一个既定的行做列(一维)上的操作,然后再把若干列当成一维处理行(数组指针指向一个二维数组就可以这么理解) 设\(hash[i][j]\)表示前\(i\)行前\(j\)列的矩阵的hash值 我们先对列做hash(设进制数为\( 阅读全文
posted @ 2024-01-16 21:50 最爱丁珰 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 蓝书上的hash函数一般都是在循环同构串的时候用,因为这个时候可以完美避免起点以及方向的问题 当然其实涉及了循环同构串了建议还是直接上最小表示法吧 阅读全文
posted @ 2024-01-16 20:28 最爱丁珰 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 具体解法见LYD蓝书 这里主要讲一下为什么只用判断\(next[i]\),而不用继续判断\(next[next[i]]\)或者\(next[next[next[i]]]\)等等 主要是有以下几个结论: 如果\(s[1\)~\(i-next[i]]\)不能作为\(s[1\)~\(i]\)循环元,那么\ 阅读全文
posted @ 2024-01-16 19:48 最爱丁珰 阅读(3) 评论(0) 推荐(0) 编辑