摘要:
传送门 KMP好题啊…… 题中要求我们求出长度不超过原字符串一般的相同的前后缀的个数。其实这个用做前面几道题的思路大致猜测一下……可以发现,我们只要从这个字符串一直往它的next递归,那么我们就可以获得一系列的公共前后缀,而且只要当next的长度<=原长度的一半的时候答案即合法。(不能继续递归,否则 阅读全文
posted @ 2018-10-10 23:57
CaptainLi
阅读(144)
评论(0)
推荐(1)
摘要:
传送门 本题有翻译…… 我一开始又有一种沙雕做法……就是每次暴力匹配next的next……(具体操作很诡异,显然它凉了) 我们后来发现,如果把AB看成一个循环节的话,那就相当于问这个字符串能否被拆成k个AB串+一个AB串的前缀(前缀可以为空) 特别的,他也可以被看作能否拆成k+1个循环节。 我们把字 阅读全文
posted @ 2018-10-10 23:51
CaptainLi
阅读(421)
评论(0)
推荐(0)
摘要:
传送门 这道题的大意是让我们求出一个字符串内的最小循环节,然后输出这个循环节在字符串中出现过的次数。 如何求呢?一开始我有一种极为暴力的思想,就是每次暴力匹配,遇到一个不匹配的就把它压入当前串,从下一位继续开始匹配。 然而这样会被卡……比如说qaqqaqqaq,程序会输出1,而正确的答案是3. 那么 阅读全文
posted @ 2018-10-10 23:34
CaptainLi
阅读(213)
评论(0)
推荐(0)
摘要:
传送门 一道非常不错的欧拉回路(路径)题…… 我们已经知道怎么求欧拉回路(路径)了,但是如果求字典序最小的呢? 求欧拉回路是一个深搜的过程……所以我们不如每次在向下一个点深搜的时候,每次让他先走那个字典序最小的节点,这样我们就能保证字典序最小了。不过实际上这个用邻接表实现会很麻烦。我的实现方法是,对 阅读全文
posted @ 2018-10-10 07:34
CaptainLi
阅读(358)
评论(0)
推荐(0)
摘要:
传送门什么是欧拉回路呢……?欧拉回路的定义就是从vi出发到vi,经过每条边有且只有一次的路径。 就很像一笔画。 欧拉回路的性质较多……定理也很多……直接证明很长……我们还是直接说怎么判定,怎么求欧拉回路吧。 无向图:每个点的度不为奇数。 有向图:每个点的入度和出度相同。 如果不符合以上要求,那么图中 阅读全文
posted @ 2018-10-10 07:24
CaptainLi
阅读(326)
评论(0)
推荐(0)

浙公网安备 33010602011771号