题目

Description
【JZOJ 省选模拟】6638.Seat

Input
【JZOJ 省选模拟】6638.Seat

Output
共q行,每行一个整数,表示答案。

Sample Input
见下发文件

Sample Output
见下发文件

Data Constraint
对于所有数据,保证​
【JZOJ 省选模拟】6638.Seat
有五个子任务

  1. (10pts)Mod<=1000,n<=100
  2. (20pts)Mod<=10^6
  3. (20pts)w<=10^5
  4. (30pts) n<=10^5
  5. (20pts) 没有特殊限制

思路

首先建出所有会出现的数字的trie
按照trie的深度从大到小对所有数字进行排序。
假设要对深度为w的这一层的节点进行排序(即这一层所有数字的长度为w),由于已经知道w+1层的节点排序的结果,由于x<=y --> [x/2]<=[y/2],于是对上一层的所有节点替换成其父亲节点即可求出w层的排序结果。
特殊的,w层可能会出现trie中的叶子节点,将所有叶子节点直接排序,然后跟前面的归并即可。
这样就可以得到所有数字排序的结果。
时间复杂度O(n log Mod)

相关文章:

  • 2021-12-13
  • 2021-11-21
  • 2021-06-11
  • 2021-12-22
  • 2021-11-30
  • 2021-06-06
  • 2021-07-25
猜你喜欢
  • 2022-12-23
  • 2022-01-21
  • 2021-11-28
  • 2021-12-04
  • 2022-03-03
  • 2021-07-18
  • 2021-10-26
相关资源
相似解决方案