AtCoder Grand Contest 044 D - Guess the Password

URL

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

解法

考虑实现这两个操作:

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

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

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

实现

https://ideone.com/ySkISc

猜你喜欢

转载自www.cnblogs.com/iefnah06/p/12953012.html