摘要: 题目大意:给定一个字符串和一个字符串集合,问从集合中选出若干个串组成给定母串的不同方案数。 题解:有些类似于背包问题。状态很好表示,为:$dp[i]$ 表示母串前 i 个字符的不同方案数,因此,有状态转移方程为:$$dp[i]=\sum dp[j],s[j+1...i]=s_0,s_0\in set 阅读全文
posted @ 2018-12-18 23:36 shellpicker 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 题目大意:需要维护一种数据结构,支持以下三种操作:插入一个数,删除一个数,查询该数据结构中的数异或给定数的最大值。 题解:如果没有删除操作就是一个标准的 Trie 上贪心求最大异或和问题。现在需要支持删除操作,因此,在树上每个节点维护一个额外的标记,表示 有多少个数的某一位经过当前节点 。插入操作依 阅读全文
posted @ 2018-12-18 23:24 shellpicker 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 题目大意:需要维护一个支持以下操作的数据结构:(1)支持插入一个字符串(2)支持删除所有前缀等于给定字符串的单词(3)查询该数据结构中是否存在一个以给定字符串为前缀的字符串 题解:由题目可知,需要维护数据结构就是一棵字典树。其中,支持插入和查找操作是字典树中的基本操作,即:在 Trie 的每个顶点处 阅读全文
posted @ 2018-12-18 00:29 shellpicker 阅读(164) 评论(0) 推荐(0) 编辑