字符串
苏_幕遮
......
展开
-
KMP题集-专注Next数组
kmp的关键之处还是在Next数组上 Next存的是前缀和后缀相等的长度 基础的模板题就不上啦,来几个应用题目~~~ POJ-2185 给出一个大矩阵,求最小覆盖矩阵,大矩阵可由这个小矩阵拼成。(就如同拼磁砖,允许最后有残缺) emmm~~二维滴,本来想 KMP的next求出每行的最小循环子串长度,然后求这些长度的公倍数,作为宽(若大于col,则为col)。 然后用KMP的next求出每列的最小循环子串长度,然后求出这些长度的公倍数,作为长(若大于row,则为row)。 虽然我最后也过了,but 有反例的.原创 2020-09-30 20:19:44 · 184 阅读 · 0 评论 -
uva 213 Message Decoding
题目链接:https://vjudge.net/problem/UVA-213 解:这道题网上有很多解法,各有其巧妙之处,get到了很多知识点 1)用二维数组存储编码字符,code[编码长度][编码的十进制表示] 2)用左移来计算二进制,注意 1 << n - 1 等于 1 << (n - 1) 3) 采用getchar()读入编码 总的来说就是关于 二进制和十...原创 2019-07-17 10:19:17 · 87 阅读 · 0 评论 -
KMP & 扩展KMP & Manacher 专题
A题:简单的匹配问题,kmp的模板 B题:同A题 C题: 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? 问最多能匹配几次,不过每个字符最多只能被用一次 只改一改匹配成功之后下一次的匹配位置即可,原本是匹配成功j = Next[j],但是我们需要匹配成功之后从头开始匹配,改成j = 0即可 ...原创 2019-08-12 19:57:02 · 75 阅读 · 0 评论