题解不同的重排列中恰有一个有序序列。维护每个前缀的重排列数 WWW。加入第 iii 个元素后,设其值的新频率为 ccc,更新 W←W⋅i/cW\leftarrow W\cdot i/cW←W⋅i/c,最后输出 W−1W-1W−1。前缀的重排列数不会超过整体,因此 W≤1012+1W\leq10^{12}+1W≤1012+1。乘法中间值不超过 (1012+1)105<1.01⋅1017(10^{12}+1)10^5<1.01\cdot10^{17}(1012+1)105<1.01⋅1017,可用有符号64位整数。使用映射表的时间为 O(NlogN)O(N\log N)O(NlogN)。