hihocoder 1305 区间求差(经典问题)
来源:互联网 发布:ipad装旧版软件 编辑:程序博客网 时间:2024/06/05 15:00
题目链接
区间求差
题目分析
先来看一个经典问题,给你
那么我们只需要计算每一段是否被覆盖就好了,怎么判断有没有被覆盖呢,很显然当当前段的左边的点中左端点个数比右端点个数多就行了.用cnt 作为计数器,遇到左端点+1,右端点-1,当cnt>0说明当前段会被计算,
那么这道题就很简单了,对A与B分别计数,所要求得就是包含在A中但不包含在B中的区段,重复点想成是长度为0的区段.
AC code
#include<bits/stdc++.h>#define pb push_back#define mp make_pair#define fi first#define se second#define INF 0x3f3f3f3f#define ALL(x) (x.begin(),x.end())using namespace std;typedef long long i64;typedef pair<i64,i64> Pair;const int maxn = 1e5 + 10;typedef pair<int,pair<int,int> > Point;vector<Point> vec;int cnt[2];int main(){ ios::sync_with_stdio(false); cin.tie(0); int n,m; cin>>n>>m; for(int i=0 ; i<n ; ++i){ int a,b; cin>>a>>b; vec.pb(mp(a,mp(0,1))); vec.pb(mp(b,mp(0,-1))); } for(int i=0 ; i<m ; ++i){ int a,b; cin>>a>>b; vec.pb(mp(a,mp(1,1))); vec.pb(mp(b,mp(1,-1))); } sort(vec.begin(),vec.end()); //sort(ALL(vec)) cnt[0] = cnt[1] =0; bool flag = false; int ans =0; for(int i=0 ; i<vec.size()-1 ; ++i){ cnt[vec[i].se.fi] += vec[i].se.se; if(cnt[1]==0 && cnt[0]>0){ ans += vec[i+1].fi-vec[i].fi; } //cout<<cnt[0] <<" "<<cnt[1] <<" "<< ans <<"\n"; } // for(auto ele : vec){ // cout<<ele.fi <<" "<<ele.se.fi <<" "<<ele.se.se <<"\n"; // } cout<<ans<<"\n"; return 0; }
阅读全文
0 0
- hihocoder 1305 区间求差(经典问题)
- hihocoder 1305 区间求差
- 区间求差 hihocoder 1305
- hihocoder 1305 区间求差 经典思维+技巧
- [hihoCoder] #1305 : 区间求差 解题报告
- HihoCoder 一下 第152周 区间求差
- hiho1305区间求差
- 区间求差
- 152周 区间求差
- hihoCoder 1077 RMQ问题再临-线段树 单点修改,求区间最小值
- codeforces Divisiblity of Differences(求区间做差整除问题)
- poj 2955 Brackets(区间DP,经典问题)求有规律的括号的最大长度
- 线段树求区间最大值与最小值的差
- hihocoder 1483 区间价值
- 区间价值 HihoCoder
- hihocoder 1553 区间统计
- 经典问题:求区间内与n互素的数的个数(容斥原理)(4135)
- hihoCoder 1079 : 离散化(线段树之连续区间+离散化) 经典题型
- POJ 1636 Prison rearrangement 笔记
- NAND_flash和NOR_flash区别(最详细)
- Java NIO简单实例教程
- Spring Framework Modules
- Thinkphp5的css和js文件引入问题
- hihocoder 1305 区间求差(经典问题)
- 无意中看到一个关于程序员面试的文章,拿来共勉。发觉差距太大,需要学习的东西太多。
- 非计算机专业研究生自学进BAT的经历!(转)
- 线段树模版
- android RecyclerView自定义 LayoutManager
- HTML学习之表单
- 28 大话C语言变量和数据类型
- 第1章 事件的概率
- PAT 1051 pop Sequence