cf1000 C. Covered Points Count
Posted lishengkangshidatiancai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cf1000 C. Covered Points Count相关的知识,希望对你有一定的参考价值。
#include<bits/stdc++.h> using namespace std; typedef long long ll; map<ll ,int > mp; ll cnt[200010]; int main() { int n; scanf("%d",&n); for(int i=1;i<=n;i++) { ll l,r; scanf("%lld%lld",&l,&r); mp[l]++; mp[r+1]--; } ll start; int num=0; for(auto it=mp.begin();it!=mp.end();it++) { if(it==mp.begin()) { start=it->first; num+=it->second; } else { //printf("%d %d ",num,(it->first) - start); cnt[num]+=( (it->first) - start);//cnt记录的是点的个数,所以会爆int!!! start=(it->first); num+=it->second; } } for(int i=1;i<=n;i++) printf("%lld ",cnt[i]); printf(" "); }
前缀和的变体。
以上是关于cf1000 C. Covered Points Count的主要内容,如果未能解决你的问题,请参考以下文章
Codeforces 1000C Covered Points Count
Educational Codeforces Round 46 C - Covered Points Count
[CodeForces-1036E] Covered Points 暴力 GCD 求交点