2 条题解
-
-1
标题
思路
对 len>2 的区间进行操作是没有意义的,因为可以转为多次对len=2的区间进行操作。
所以我们只需要考虑当下,每次a[i]会受到上一次操作的影响增加 b[i-1]-a[i-1],遍历进行这些操作,最后判断a[n]是否等于b[n] 即可。
解题方法
复杂度
时间复杂度:
添加时间复杂度, 示例:
空间复杂度:
添加空间复杂度, 示例:
Code
#include <bits/stdc++.h> using namespace std; using ll =long long; const int maxn=1e5+5; int n; ll a[maxn],b[maxn]; void solve() { cin>>n; for(int i=1;i<=n;i++)cin>>a[i]; for(int i=1;i<=n;i++) { cin>>b[i]; a[i]+=b[i-1]-a[i-1]; } if(a[n]==b[n])cout<<"Yes\n"; else cout<<"No\n"; } int main() { ios::sync_with_stdio(0), cin.tie(0), cout.tie(0); int t; cin>>t; while(t--) { solve(); } return 0; }
信息
- ID
- 111
- 时间
- 3000ms
- 内存
- 512MiB
- 难度
- 3
- 标签
- 递交数
- 786
- 已通过
- 155
- 上传者