Codeforces Round #787 (Div. 3) E. Replace With the Previous, Minimize
E. Replace With the Previous, Minimize
方法很多,这里是并查集的一种写法
要使字典序越小越好,我们肯定是从左往右遍历优先把前面的变成a,假设我们把x(x > a)变成a,那么在[a, x]中的所有字母都可以变成a,我们只需要把这些字母的祖宗结点修改为a即可。当i>=2i >= 2i>=2的时候,我们后面的就不需要变成a,只需要变成之前变成a的最大那个字母,所以我们需要一直更新之前变成a的最大字母。
int find(int x){
if(p[x
原创
2022-05-06 20:32:48 ·
479 阅读 ·
0 评论