链接
题解
一个比较好的思维题。
用线段树维护区间内$26$个字母的出现次数。对于排序,将区间内每个字母出现的次数查出来,然后一个一个遍历就好了。如果是升序就从小往大覆盖,反之从大往小覆盖就好了。时间复杂度$O(26n\log n)$这里常数不能省
还有,最坑爹的一点是,线段树开$4\times 10^5$过不去,会RE #9,要开$8\times 10^5$……
代码
1 |
|
技不如人,被吊打
一个比较好的思维题。
用线段树维护区间内$26$个字母的出现次数。对于排序,将区间内每个字母出现的次数查出来,然后一个一个遍历就好了。如果是升序就从小往大覆盖,反之从大往小覆盖就好了。时间复杂度$O(26n\log n)$这里常数不能省
还有,最坑爹的一点是,线段树开$4\times 10^5$过不去,会RE #9,要开$8\times 10^5$……
1 | #include<bits/stdc++.h> |