solution-at-agc044-c

sto nantf orz

正文

算得上相当有意思以及启发性的数据结构题了。

三进制表示联想到我们可以建立一个三叉树。类似于 Trie 一样的,按三进制从低位到高位建立一个 Trie 树。一个非常好的性质这是一个完美三叉树。

接下来我们可以考虑怎么维护每一种操作。

Salasa 舞

对于这种操作,相当于对于树上每一个点都交换他们的 1,2 两个儿子。打个标记即可支持。

Rumba 舞

这相当于什么呢?我们发现,相当于把原来的 0 号儿子给到 1 号儿子,把原来的 1 号儿子给到 2 号儿子,把原来的 2 号儿子给到 0 号儿子。前两者没有进位,所以不用管,发现原来 2 号儿子会产生一个进位操作。这相当于什么呢?这相当于在这个儿子子树内再进行一次 Rumba 舞操作。递归求解即可。

总复杂度 \(O(3^n+Tn)\)

code

posted @ 2024-01-25 17:17  WRuperD  阅读(5)  评论(0编辑  收藏  举报

本文作者:DIVMonster

本文链接:https://www.cnblogs.com/guangzan/p/12886111.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

这是一条自定义内容

这是一条自定义内容