CodeForces - 1000C Covered Points Count(差分+思维)
题目链接:点击查看
题目大意:给出n个区间,现在要求输出覆盖次数为1,2,3....n-1,n的点分别有多少个
题目分析:一开始看到区间问题想用线段树去做,但想了想又可以直接用差分去做,不过因为数比较大,所以用map代替差分数组,后续求前缀和的时候就可以实时维护答案了
代码:
#include<iostream>
#include<cstdio>
#include<string>
#include<ctime>
#include<cstring>
#include<algorithm>
#include<stack>
#include<queue>
#include<map>
#include<set>
#include<cmath>
#include<sstream>
#include<unordered_map>
using namespace std;typedef long long LL;const int inf=0x3f3f3f3f;const int N=2e5+100;LL ans[N];map<LL,int>mp;int main()
{
// freopen("input.txt","r",stdin);
// ios::sync_with_stdio(false);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]--;}int cnt=0;for(map<LL,int>::iterator it=mp.begin();it!=mp.end();it++){map<LL,int>::iterator next=it;next++;if(next==mp.end())break;cnt+=it->second;ans[cnt]+=next->first-it->first;}for(int i=1;i<=n;i++)printf("%lld ",ans[i]);return 0;
}
CodeForces - 1000C Covered Points Count(差分+思维)相关推荐
- 【Codeforces - 1000C】Covered Points Count(思维,离散化,差分)
题干: You are given nn segments on a coordinate line; each endpoint of every segment has integer coord ...
- Codeforces 1036E. Covered Points
又一次写起了几何.... 特殊处理在于有可能出现多条线段交于一点的情况,每次考虑时,对每条线段与其他所有线段的交点存在一个set里,对每一个set,每次删除set.size()即可 重点在于判断两条线 ...
- Codeforces Round #590 (Div. 3) E. Special Permutations 差分 + 思维
传送门 文章目录 题意: 思路: 题意: 思路: 直接考虑比较难想,这种公式题基本都是将部分答案看成一个整体,考虑xi,xi+1x_i,x_{i+1}xi,xi+1的贡献的. 假设当前的xi=x, ...
- CodeForces - 1323B Count Subrectangles(思维)
题目链接:点击查看 题目大意:给出一个数组 a 和数组 b 只由 0 和 1 构成,构造出矩阵 maze[ x ][ y ] = a[ x ] * b[ y ],显然maze矩阵同样只由 0 和 1 ...
- CodeForces - 1110E-Magic Stones(差分+思维)
Grigory has nn magic stones, conveniently numbered from 11 to nn. The charge of the ii-th stone is e ...
- CodeForces - 1551E Fixed Points(dp)
题目链接:点击查看 题目大意:给出一个长度为 nnn 的序列,需要求出删掉最少的数字,使得剩下的数字至少有 kkk 个位置满足 a[i]=ia[i]=ia[i]=i 成立 题目分析:看完数据范围不难想 ...
- CodeForces - 1491C Pekora and Trampoline(差分+贪心)
题目链接:点击查看 题目大意:给出一个长度为 nnn 的序列 aaa,aia_iai 表示第 iii 个蹦床的强度,当从第 iii 个蹦床起跳的话可以跳到 i+aii+a_ii+ai 的位置,但是 ...
- CH - 0304 IncDec Sequence(差分+思维)
题目链接:点击查看 题目大意:给定一个长度为 n(n≤10^5 ) 的数列 {a_1,a_2,-,a_n},每次可以选择一个区间 [l,r],使下标在这个区间内的数都加一或者都减一.求至少需要多少次操 ...
- Codeforces Round #459 (Div. 2) C 思维,贪心 D 记忆化dp
Codeforces Round #459 (Div. 2) C. The Monster 题意:定义正确的括号串,是能够全部匹配的左右括号串. 给出一个字符串,有 (.). ? 三种字符, ? 可以 ...
最新文章
- dalvik虚拟机执行流程_程序员必备的一些流程图
- 什么是javax.ws.rs.core.context? [第5部分]
- 计算机考研379分,考研379分报考南开大学被刷,是调剂还是二战?师姐建议非常肯定...
- 付忠庆的练习小笔记-Codeforces #276 Div2 C
- JetBrains系列WebStorm等中文输入法无法跟随光标的问题的解决办法
- 震惊!99%的人不知道的Linux权限问题细节
- 更新:第6章已上线!最酷的程序员应该知道的【LLVM】!
- word文档怎么压缩大小?
- 研发质量管理6大根基
- 计算机网络机房需要气体灭火吗,机房排烟和机房消防要求有哪些
- 赫夫曼压缩(萌新劝退)
- 一位研究生导师的肺腑之言
- 中国剩余定理 (孙子定理) 的证明和代码
- php详情页图片尺寸,拼多多主图轮播图详情页图片尺寸要求大全
- vue项目搭建和配置
- Latex打开tex文件时产生中文乱码的解决方法
- ipadpro分屏怎么操作_iPad到手后必备的高效设置技巧(iPad Pro、iPad Air、iPad mini学习生产工具...
- Cxf+WebService集成拦截器
- 海康威视DS-K1F100-D8E发卡器Java版
- python 图像cropping padding(skimage cv2)