The Preliminary Contest for ICPC Asia Shanghai 2019 B. Light bulbs
Posted c4lnn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了The Preliminary Contest for ICPC Asia Shanghai 2019 B. Light bulbs相关的知识,希望对你有一定的参考价值。
Link
题意:
(n) 盏灯,一开始都是关着的,输入区间 ([l,r]) 代表翻转此区间内灯泡开闭状态,问经过 (m) 次操作之后有多少个灯泡是开着的
思路:
差分数组
记录操作端点,若某点 (node[x]) 前缀和为奇数,说明从 ([node[x],node[x+1])) 灯泡都是开着的
代码:
#include<bits/stdc++.h>
using namespace std;
int n,m;
map<int,int>mp;
int main()
{
int T;
scanf("%d",&T);
for(int i=1;i<=T;i++)
{
scanf("%d%d",&n,&m);
mp.clear();
for(int i=0;i<m;i++)
{
int l,r;
scanf("%d%d",&l,&r);
mp[l]++,mp[r+1]--;
}
int sum=0,res=0,pre;
for(auto x:mp)
{
if(sum&1) res+=x.first-pre;
sum+=x.second;
pre=x.first;
}
printf("Case #%d: %d
",i,res);
}
return 0;
}
以上是关于The Preliminary Contest for ICPC Asia Shanghai 2019 B. Light bulbs的主要内容,如果未能解决你的问题,请参考以下文章
The Preliminary Contest for ICPC Asia Yinchuan 2019
The Preliminary Contest for ICPC Asia Shenyang 2019
The Preliminary Contest for ICPC Asia Shanghai 2019
The Preliminary Contest for ICPC Asia Shanghai 2019