首页 > 其他 > 详细

XVIII Open Cup. Grand Prix of Saratov. I - Prefix-Free Queries

时间:2020-05-25 09:44:41      阅读:77      评论:0      收藏:0      [点我收藏+]

题意

给一个字符串 \(S\)

询问 \(Q\) 次,每次给出 \(K\)\(S\) 的子串,现在从这些子串中选出一个子集,问有多少个子集满足集合内任意两个不同的串不存在前缀关系

解法

假设把所有串放到 Trie 树上,方案数可以用一个简单的 DP 算出来

不妨把所有串按照字典序排序(其实就是在 Trie 上的 DFS 序),你可以把压缩后的 Trie (存在分支的节点只有不超过 \(K\) 个)建出来

实现

https://ideone.com/NlC7lB

XVIII Open Cup. Grand Prix of Saratov. I - Prefix-Free Queries

原文:https://www.cnblogs.com/iefnah06/p/12953784.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!