题解
【提高】小 X 与煎饼达人(flip)
1 条题解
-
0
#include<bits/stdc++.h> using namespace std; const int N=1e6+10; int a[N]; //a数组直接表示差分 默认为0 说明饼是反面 int n,m,x,y,s=0; int main(){ cin>>n>>m; for(int i=1;i<=m;i++){ cin>>x>>y; a[x]++; //第x个��的翻转次数++ 表示比第x-1个饼多翻转了一次 a[y+1]--;//第y+1饼的翻转次数比之前的第y个饼少翻转一次 } for(int i=1;i<=n;i++){ a[i]+=a[i-1]; //前缀和统计出每个饼的翻转次数 if(a[i]%2==1){//奇数是正面 s++; } } cout<<s; }
- 1