//代码含全角空格#include <iostream> #include <cstdio> #include <cstring> using namespace std; const int N=10005; int a[N],b[N],n,m,x,y; int main(){ while(scanf("%d%d",&n,&m)==2){ memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); while(m--){ scanf("%d%d",&x,&y); b[x]++;b[y+1]--; } int sum=0; for(int i=1;i<=n;i++){ a[i]=a[i-1]+b[i]; if(a[i]&1) a[i]=1; else { sum++; a[i]=0; } } printf("%d\n",sum); } return 0; }
hoj2682Magic-Pen2
最新推荐文章于 2017-11-21 16:28:38 发布
本文介绍了一种解决区间操作计数问题的算法实现。通过使用数组记录区间操作的增减变化,再进行前缀和计算,最终统计区间内特定条件出现的次数。此方法适用于区间更新与查询的问题。
777

被折叠的 条评论
为什么被折叠?



