对该区间内的每个字符,重复一次并插入到原字符的后面

直接在原字符串s上操作,使用s.insert()一个个插入(如果在区间内)记得插入一个字母,i,r都右移一次即可;

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n, q; cin >> n >> q;
    string s; cin >> s;
    for (int i = 0; i < q; ++i)
    {
        int l, r; cin >> l >> r;
        for (int i = l - 1; i <= r - 1; ++i)
        {
            s.insert(i + 1,1,s[i]);
            ++i; ++r; // ! 插入一个字母,i,r都右移一次
        }
    }
    cout << s << endl;
    return 0;
}