摘要: 题意:在n*m方格中找有几个x*y矩阵。 思路:二维hash,总体思路和一维差不太多,先把每行hash,变成一维的数组,再对这个一维数组hash变成二维hash。之前还在想怎么快速把一个矩阵的hash算出来,然后看到是尺取,也不知道是什么...这应该算是用到了这个思想吧。 要先预处理每行y个的has 阅读全文
posted @ 2018-08-23 19:48 KirinSB 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 思路:给你字符串,如果他包含至少两个长度大于等于3的回文,并且这些回文不能嵌套(例如aaa嵌套在aaaa,waw嵌套在awawa),如果这个字符串这么牛逼的话,就输出他。 思路:拿到字符串先正序hash和逆序hash,用来判断回文串。这里其实只要判断长度为3和4的回文就行,因为3,4大的可以嵌套在比 阅读全文
posted @ 2018-08-23 16:33 KirinSB 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 题意:给出两个字符串的最大相同前缀。 思路:hash是要hash,不hash是不可能的。hash完之后从头遍历判断超时然后陷入沉默,然后告诉我这能二分orz,二分完就过了,写二分条件写了半天。不要用数组储存hash值,会爆,开vector就行。 代码: 阅读全文
posted @ 2018-08-23 15:27 KirinSB 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 题意:问你最少加几个字母使所给串变成回文串。 思路:一开始打算将正序和逆序都hash,然后用提取前缀后缀的方法来找,但是RE了,debug失败遂弃之。后来发现可以直接hash,一边hash一边比较。我们只需找出正序hash值和逆序hash相同的最长串就是最长回文子串。 代码: 阅读全文
posted @ 2018-08-23 14:35 KirinSB 阅读(288) 评论(0) 推荐(0) 编辑