iefnah06

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

URL

https://atcoder.jp/contests/agc044/tasks/agc044_d

解法

考虑实现这两个操作:

  • 查询一个字符的出现次数(直接询问一个 \(128\) 位的串,次数就是 \(128\) 减去询问答案)
  • 查一个串是否是子序列

先算出每个字符的出现次数,然后我们可以用归并排序合并算出两个字符的相对顺序

用哈夫曼树/放到线段树上合并所有子树就可以还原出原串

实现

https://ideone.com/ySkISc

posted on 2020-05-24 22:08  iefnah06  阅读(389)  评论(0)    收藏  举报