【luogu P3346】诸神眷顾的幻想乡(广义 SAM)
诸神眷顾的幻想乡
题目链接:luogu P3346
题目大意
给你一棵树,且度数为 1 的点不超过 20 个。
然后每个点有一个颜色,然后问你这个树上有多少个不同的颜色序列。
思路
考虑颜色很像字符什么的,不难想到 SA / SAM 什么的。
然后你会想到 SAM 可以支持插入一个 Trie 树。
但你会发现这里并没有确定什么是根。
那你再看会发现度数为 的点不超过 个。
这提示我们可以直接暴力枚举这些点,建出 Trie 树插入进 SAM 里。
因为你只是要求不用的个数而不是求相同的个数,所以不会影响计算。
然后其实是不用真的建 Trie 树的,你只要从那个点开始 dfs 过程中不断插入即可。
然后这里讲讲 SAM 如何插入一个 Trie 树。
其实就是 dfs,每个点插入了之后的 每个点都记录一个,然后插入一个点 的儿子的时候,用的 就是插入好点 的 。
然后再广义 SAM 中,你可能要插入的时候,发现已经有这个儿子了,那你是没有必要新建点的(新建也行),你只需要走过去就可以了。
但是后面判断是否要新建那个复制点你还是要判断的。
代码
__EOF__

本文作者:あおいSakura
本文链接:https://www.cnblogs.com/Sakura-TJH/p/luogu_P3346.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/Sakura-TJH/p/luogu_P3346.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现