差分简单题集

【一维差分】Codeforces 1000C Covered Points Count

题目大意:

给定$n$个线段,给定这些线段所在的区间($l,r\leq10^{18}$),这些线段能够覆盖它们所包含的点,问你被包含$[1,n]$次的点分别有多少个。

解题分析:
用差分来高效的统计一下指定区间内所被覆盖的线段个数,同时,因为$l,r$的大小非常大,所以我们需要对所有的线段进行离散化。

#include <bits/stdc++.h>
using namespace std;
template<typename T>
inline void read(T&x){
    x=0;int f=1;char ch=getchar();
    while(ch<‘0‘ ||ch>‘9‘){ if(ch==‘-‘)f=-1; ch=getchar(); }
    while(ch>=‘0‘ && ch<=‘9‘){ x=x*10+ch-‘0‘; ch=getchar(); }
    x*=f;
}
#define REP(i,s,t) for(int i=s;i<=t;i++)
typedef long long ll;
map<ll,ll>mp;
int main(){
    ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    int n;cin>>n;
    REP(i,1,n){
        ll l,r;read(l);read(r);
        mp[l]++,mp[r+1]--;
    }
    vector<ll>ans(n+10);
    ll last=0,sum=0;    //last统计上一个区间端点的下标,sum计算前缀和
    for(auto e:mp){
        ans[sum]+=(e.first-last);
        sum+=e.second;
        last=e.first;
    }
    REP(i,1,n)cout<<ans[i]<<" ";
}

【一维差分】Codeforces 853B Jury Meeting (差分+前缀和)

【二维差分】POJ 2155 Matrix (二维树状数组+差分)

【树上差分】CodeForces 739B Alyona and a tree (二分+树上差分)

原文地址:https://www.cnblogs.com/00isok/p/10927070.html

时间: 2024-08-28 18:25:16

差分简单题集的相关文章

hdu 差分约束题集

[HDU]1384 Intervals 基础差分约束★1529 Cashier Employment 神级差分约束★★★★ 1531 King 差分约束★1534 Schedule Problem 差分约束输出一组解★3440 House Man 比较好的差分约束★★3592 World Exhibition 简单★3666 THE MATRIX PROBLEM 中等★★4274 Spy's Work [先处理出欧拉序列,然后就是差分约束了...] [POJ]1201 Intervals1275

树和二叉树-第6章-《数据结构题集》习题解析-严蔚敏吴伟民版

习题集解析部分 第6章 树和二叉树 ——<数据结构题集>-严蔚敏.吴伟民版        源码使用说明  链接??? <数据结构-C语言版>(严蔚敏,吴伟民版)课本源码+习题集解析使用说明        课本源码合辑  链接??? <数据结构>课本源码合辑        习题集全解析  链接??? <数据结构题集>习题解析合辑       相关测试数据下载  链接? 数据包       本习题文档的存放目录:数据结构\▼配套习题解析\▼06 树和二叉树  

编程题集

编程题集 ps: 如题目有错请及时反馈 2015/7/10    scanf.printf的基本用法.变量的定义和使用.C语言的各种运算符 ------------------------------------------------------------------------------------- 程序篇: #1编写一个程序,输出 "Hello World" . #2编写一个程序,实现简单的加减乘除运算. #3让用户输入两个整数,然后调换位置后输出. #4输入年,月,日,把

图-第7章-《数据结构题集》习题解析-严蔚敏吴伟民版

习题集解析部分 第7章 图 ——<数据结构题集>-严蔚敏.吴伟民版        源码使用说明  链接??? <数据结构-C语言版>(严蔚敏,吴伟民版)课本源码+习题集解析使用说明        课本源码合辑  链接??? <数据结构>课本源码合辑        习题集全解析  链接??? <数据结构题集>习题解析合辑       相关测试数据下载  链接? 数据包       本习题文档的存放目录:数据结构\▼配套习题解析\▼07 图       文档中源

大学生活6 上课应该记笔记。应不应该有错题集?

个人观点.认为对,就做.认为错,就不做.即可 好记性不如烂笔头.上课应该记笔记,而且每一个必修,专业选修课程都应该有一个笔记本.有的人会说了,每个课程都有一个本子,那得多费钱呀.我说,不呀.你到网上买2,3块钱一个本子,课程笔记不建议你买厚的本子.为啥?你算一算,一学期有多少次课,每次课有几节,一节课你会记多少内容.你就会发现本子不需要太厚的. 每到期末考试阶段,有的同学就会说:史诗级灾难大片开始上演.为什么会出现这种现象?因为平时上课没有好好学习,作业不认真做,而且到了期末考试的时候发现自己手

【常用算法思路分析系列】字符串高频题集

本文是[常用算法思路分析系列]的第二篇,分析字符串相关的高频题目.第一篇是关于排序相关的高频题,还没有看的同学请移步:[常用算法思路分析系列]排序高频题集 1.KMP字符匹配 对于两棵彼此独立的二叉树A和B,请编写一个高效算法,检查A中是否存在一棵子树与B树的拓扑结构完全相同,即给定两棵二叉树的头结点A和B,请返回一个boolean值,代表A中是否存在一棵同构于B的子树.上述其实就是一个字符匹配的问题,我们将A.B两棵二叉树进行遍历,得到一个字符串,就是判断B串是否是A串的子串.而字符匹配常用的

POJ 搜索题集

poj1010--邮票问题 DFS poj1011--Sticks dfs + 剪枝 poj1020--拼蛋糕 poj1054--The Troublesome Frog poj1062--昂贵的聘礼 poj1077--Eight poj1084--Square Destroyer poj1085--Triangle War(博弈,極大極小搜索+alpha_beta剪枝) poj1088--滑雪 poj1129--Channel Allocation 着色问题 dfs poj1154--lett

文件-第12章-《数据结构题集》习题解析-严蔚敏吴伟民版

习题集解析部分 第12章 文件 ——<数据结构题集>-严蔚敏.吴伟民版        源码使用说明  链接??? <数据结构-C语言版>(严蔚敏,吴伟民版)课本源码+习题集解析使用说明        课本源码合辑  链接??? <数据结构>课本源码合辑        习题集全解析  链接??? <数据结构题集>习题解析合辑       相关测试数据下载  链接? 数据包       本习题文档的存放目录:数据结构\▼配套习题解析\▼12 文件       文

杭电dp题集,附链接

Robberies 点击打开链接 背包;第一次做的时候把概率当做背包(放大100000倍化为整数):在此范围内最多能抢多少钱  最脑残的是把总的概率以为是抢N家银行的概率之和- 把状态转移方程写成了f[j]=max{f[j],f[j-q[i].v]+q[i].money}(f[j]表示在概率j之下能抢的大洋); 正确的方程是:f[j]=max(f[j],f[j-q[i].money]*q[i].v)  其中,f[j]表示抢j块大洋的最大的逃脱概率,条件是f[j-q[i].money]可达,也就是