摘要: 题目是给几个带有价值的单词。而一个字符串的价值是 各单词在它里面出现次数*单词价值 的和,问长度不超过n的最大价值的字符串是什么? 依然是入门的AC自动机+DP题。。不一样的是这题要输出具体方案,加个字符数组记录每个状态最优情况的字符串即可。 另外题目字典序是先考虑长度再考虑每一位单词;特别要注意, 阅读全文
posted @ 2016-01-30 23:13 WABoss 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 题目大概是给几个DNA片段以及它们各自的权值,如果一个DNA包含某个片段那么它的价值就加上这个片段的权值,同时包含多个相同DNA片段也只加一次,问长度l的DNA可能的最大价值。 与HDU2825大同小异。 dp[i][j][S]表示长度i(自动机转移i步)、后缀状态为自动机第j个结点、包含的DNA片 阅读全文
posted @ 2016-01-30 19:22 WABoss 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 题目给一棵有边权的树,问树上任意两点路径上的边异或值最多是多少。 记录每个点u到根路径的异或值xor[u],那么任意两点u、v路径的异或值就是xor[u]^xor[v]。 于是这个问题就变成了从n个数中任取两个数异或,求最大异或值,这是个经典的问题,用字典树解决。 方法就是所有数的二进制形式构建成一 阅读全文
posted @ 2016-01-30 16:38 WABoss 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 题目问长度n至少包含k个咒语的字符串有多少个。也是比较入门的题。。 dp[i][j][S]表示长度i(在自动机上转移k步)且后缀状态为自动机上第j个结点且当前包含咒语集合为S的方案数 dp[0][0][0]=1 还是用我为人人转移,AC自动机上的结点要多一个域表示这个结点所代表咒语前缀包含的咒语集合 阅读全文
posted @ 2016-01-30 11:15 WABoss 阅读(748) 评论(0) 推荐(0) 编辑