对该区间内的每个字符,重复一次并插入到原字符的后面
直接在原字符串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; }