CF1155A Reverse a Substring
题目描述
给定一个**仅含小写字母**的字符串$s$,其长度为$n$
我们定义子串为一个字符串中连续的一段,比如```acab```是```abacaba```的子串(位置是```3~6```),而```aa```和```d```不是。所以对于一个字符串$s$,它的位置为$[l,r]$的子串可以表示成$s[l;r]$,即$s_ls_{l+1}...s_r$
您需要指定$s$的**一个**子串并翻转这个子串,使得新字符串的字典序比原来的字符串$s$小。注意不是最小。
如果可以满足题意,输出```YES```,再输出反转的区间。否则输出```NO```
我们认为字符串$x
输入格式
第一行一个整数 $n(2\leq n \leq 3\times10^5)$ ,表示字符串$s$的长度
第二行一个**仅含小写字母**的字符串$s$
输出格式
如果可以通过翻转**一个**子串得到字典序更小的字符串,输出```YES```,换行,再输出反转的区间(如果有多种方案仅输出一个)。否则仅输出```NO```
说明/提示
样例$1$中,翻转后的字符串是```aacabba```