0%

P11643 【MX-X8-T2】「TAOI-3」终有一天,飞向水平线的彼方(区间操作化简)

思路讲解

那么容易发现,其实这种区间操作的题目一般来说最短的操作是最灵活的,一个长操作也可以化为多个短操作的结果。

比如说这道题目长度为4的操作可以变为对中间两个元素执行一次,再对两侧两个元素分别执行一次。

所以我们不用考虑长度>2的操作。

那么不难注意到,就是说这个开头和结尾往往是这个破局的地方,那么开头那如果不同,必须要操作后面一个,然后不断传递,最后传递到A_[N],就结束了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
FOR(i,1,N){
cin>>A[i];
A_[i]=A[i];
}
FOR(i,1,N){
cin>>B[i];
}
FOR(i,1,N-1){
ll diff=B[i]-A_[i];
A_[i+1]+=diff;
}
if(A_[N]==B[N]){
cout<<"Yes\n";
}else{
cout<<"No\n";
}

AC代码

https://www.luogu.com.cn/record/221383853

心路历程(WA,TLE,MLE……)