HBC22593Beautiful Garden,枚举签到题题解

庄子墨 算法基础篇 44 0
想要检验自己的编程水平?来试试全网最全C++题库,让您在挑战中不断进步。
恭喜你找到了本场比赛的签到题!为了让大家都有抽奖的机会,只需要复制粘贴以下代码即可 AC:

恭喜你找到了本场比赛的签到题! 为了让大家都有抽奖的机会,只需要复制粘贴以下代码(并且稍微填下空)即可 AC: (我超良心的) #include #include #include #include #include #include #include #include #include #include #include #include #include #define fi first #define lc (x<<1) #define se second #define U unsigned #define rc (x<<1|1) #define Re register #define LL long long #define MP std::make_pair #define CLR(i,a) memset(i,a,sizeof(i)) #define FOR(i,a,b) for(Re int i = a;i <= b;++i) #define ROF(i,a,b) for(Re int i = a;i >= b;--i) #define SFOR(i,a,b,c) for(Re int i = a;i <= b;i+=c) #define SROF(i,a,b,c) for(Re int i = a;i >= b;i-=c) #define DEBUG(x) std::cerr << #x << '=' << x << std::endl const int MAXN = 1000000+5; int N,maxL; std::set > L; inline int calc(){     // 返回 set 中所有线段的并长度。(每个 pair 表示一个线段[first,second] } int main(){     scanf("%d%d",&N,&maxL);     while(N--){         int opt,x,y;         scanf("%d%d%d",&opt,&x,&y);         if(opt == 1){             if(L.find(MP(x,y)) != L.end()) continue;             L.insert(MP(x,y));         }         if(opt == 2){             if(L.find(MP(x,y)) == L.end()) continue;             L.erase(MP(x,y));         }         if(opt == 3){             printf("%dn",calc());         }     }     return 0; }

HBC22593Beautiful Garden,枚举签到题题解
-第1张图片-东莞河马信息技术
(图片来源网络,侵删)

标签: HBC22593Beautiful Garden 枚举签到题题解