题解:AT_abc419_d [ABC419D] Substr Swap
chinazhanghaoxun · · 题解
ABC419D Substr Swap - Solution
Problem Statement
给定两个长度均为
Analysis
由于一直在
Approach
在分析后,发现只需要维护区间和的操作,容易想到差分,每次对
Code
#include<bits/stdc++.h>
using namespace std;
const int N=5e5+5;
int n,m,d[N],sum[N];
string s,t;
int main(){
cin>>n>>m>>s>>t;
s=' '+s;
t=' '+t;
while(m--){
int l,r;
cin>>l>>r;
d[l]++; //差分区间修改
d[r+1]--;
}
for(int i=1;i<=n;i++){
sum[i]=sum[i-1]+d[i]; //前缀和
if(sum[i]%2) //按奇偶性判断是否要更改
cout<<t[i];
else
cout<<s[i];
}
return 0;
}