摘要: "传送门" 题目大意: 给你一些密码片段字符串,让你求长度为n,且至少包含k个不同密码片段串的字符串的数量。 题解: 因为密码串不多,可以考虑状态压缩 设dp[i][j][sta]表示长为i的字符串匹配到j节点且状态为sta的数量。 其中sta存储的是包含的密码串情况,在构建fail指针时,当前节点 阅读全文
posted @ 2017-08-29 21:43 CzYoL 阅读(170) 评论(0) 推荐(0) 编辑
摘要: "传送门" 题目大意: 给你一个字符主串和很多病毒串,要求更改最少的字符使得没有一个病毒串是主串的子串。 题解: ac自动机 + dp,用病毒串建好ac自动机,有毒的末尾flag置为true 构建fail指针时,如果fail指针所指节点flag=true,则将当前节点的flag也置为true。 用d 阅读全文
posted @ 2017-08-29 21:36 CzYoL 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 题目大意 人数n,电梯载重k,电梯限制人数2,给出每个人的体重v,求按照怎样的顺序排队电梯运送的次数越多。 题解 排序后,每次都先选择最小的,然后看最大的上来是否超出载重, 若超出,则这两个对答案贡献2, 若不超出,则再添加一个次小的(不浪费最大的). code cpp include includ 阅读全文
posted @ 2017-08-29 19:56 CzYoL 阅读(280) 评论(0) 推荐(0) 编辑
摘要: "传送门" 题目分析 本题主要考察kmp中next数组在求循环时的运用: 字符串是循环的: len % (len next[len]) == 0 字符串循环次数: len / (len next[len]) 字符串循环节长度: len next[len] code cpp include inclu 阅读全文
posted @ 2017-08-29 19:01 CzYoL 阅读(258) 评论(0) 推荐(0) 编辑
摘要: HDU2222 "传送门" 题目分析 裸题:注意构建自动机用的是模式串,思想和kmp很类似。 code: cpp include include include using namespace std; const int N = 1e4 + 5, M = 55, L = 1e6 + 5; int 阅读全文
posted @ 2017-08-29 18:53 CzYoL 阅读(137) 评论(0) 推荐(0) 编辑