codeforces469B
Chat Online
问题描述
你和你的朋友经常在网上聊天.
你的朋友作息规律每天只会在p个时间段[ai,bi]在线.
你作息混乱,假设你在t时刻起床,那么你会在q个时间段[t+ci,t+di]在线.
现在,你有可能会在[l,r]的这个时间段中的任意一个时刻起床,假设你在t时刻起床,请问有多少个这样的t使得你有机会和你的朋友聊天?
只要你们在线的时间有哪怕一刻重合,你就可以和你的朋友聊天
输入格式
第一行4个整数p,q,l,r.(1<=p,q<=50;0<=l<=r<=1000)
接下来p行,每行两个整数ai,bi.(表示你的朋友的p个在线时间段)
接下来q行,每行两个整数ci,di.(表示你的第i个在线时间段的参数)
0<=ai< bi <=1000
0<=ci< di <=1000
保证b[i]< a[i+1]以及d[i]< c[i+1].
题中涉及到的区间都是闭区间,时刻都只考虑整数.输出格式输出只有一个整数,表示满足要求的t的个数.样例
1 1 0 4
2 3
0 1
3
2 3 0 20
15 17
23 26
1 4
7 11
15 17
20 sol:暴力模拟就好了
Ps:判断区间[a,b]和[c,d]有交集当且仅当a<=d且b>=c
#include <bits/stdc++.h>
using namespace std;
typedef int ll;
inline ll read()
{
ll s=;
bool f=;
char ch=' ';
while(!isdigit(ch))
{
f|=(ch=='-'); ch=getchar();
}
while(isdigit(ch))
{
s=(s<<)+(s<<)+(ch^); ch=getchar();
}
return (f)?(-s):(s);
}
#define R(x) x=read()
inline void write(ll x)
{
if(x<)
{
putchar('-'); x=-x;
}
if(x<)
{
putchar(x+''); return;
}
write(x/);
putchar((x%)+'');
return;
}
#define W(x) write(x),putchar(' ')
#define Wl(x) write(x),putchar('\n')
const int N=;
int n,m;
int a[N],b[N],c[N],d[N];
int main()
{
int i,j,k,L,R,ans=;
R(n); R(m); R(L); R(R);
for(i=;i<=n;i++)
{
R(a[i]); R(b[i]);
}
for(i=;i<=m;i++)
{
R(c[i]); R(d[i]);
}
for(i=L;i<=R;i++)
{
bool Bo=;
for(j=;j<=n&&(!Bo);j++)
{
bool Flag=;
for(k=;k<=m&&(!Flag);k++)
{
if(c[k]+i<=b[j]&&d[k]+i>=a[j]) Flag=;
}
if(Flag) Bo=;
}
ans+=Bo;
}
Wl(ans);
return ;
}
/*
input
1 1 0 4
2 3
0 1
output
3 input
2 3 0 20
15 17
23 26
1 4
7 11
15 17
output
20
*/
codeforces469B的更多相关文章
随机推荐
- PAT A1073 Scientific Notation (20 分)——字符串转数字
Scientific notation is the way that scientists easily handle very large numbers or very small number ...
- Objective-C 禁用NSMenu中的系统services菜单项
当用NSMenu创建一个右键菜单时,mac系统会默认插入一些服务(services)菜单项,如下图,xlsx文件的右键菜单中,除了自定义的菜单项:“转发”和“收藏”等等,还有“在 Finder中显示简 ...
- Objective-C 锁
多线程在Objective-C项目中占有很大的比重,它能提高程序的运行效率,但也因此带来线程安全问题.而锁就是解决线程安全问题最常用的武器. 锁有很多种. 1.NSLock,非递归锁 NSLock * ...
- Euler:欧拉函数&素数筛
一.欧拉函数 欧拉函数是小于x的整数中与x互质的数的个数,一般用φ(x)表示. 通式: 其中p1, p2……pn为x的所有质因数,x是不为0的整数. 比如x=12,拆成质因数为12=2*2*3, ...
- 笨鸟先飞之ASP.NET MVC系列之过滤器(04认证过滤器)
概念介绍 认证过滤器是MVC5的新特性,它有一个相对复杂的生命周期,它在其他所有过滤器之前运行,我们可以在认证过滤器中创建一个我们定义的认证方法,也可以结合授权过滤器做一个复杂的认证方法,这个方法可以 ...
- SVM的简单介绍
ng的MI-003中12 ——SVM 一.svm目标函数的由来 视频先将LR的损失函数: 在上图中,先将y等于0 和y等于1的情况集合到一起成为一个损失函数,然后分别讨论当y等于1的时候损失函数的结果 ...
- [01] MyBatis概述
传统的JDBC来做DAO层,做了下面这几件事: 加载驱动 获取连接 执行SQL语句 获取操作结果封装信息 返回操作结果 而实际上DAO层最关心的是什么呢,就是后面三点就完事,JDBC显得太繁琐: 执行 ...
- Flask核心机制--上下文源码剖析
一.前言 了解过flask的python开发者想必都知道flask中核心机制莫过于上下文管理,当然学习flask如果不了解其中的处理流程,可能在很多问题上不能得到解决,当然我在写本篇文章之前也看到了很 ...
- [Spark][python]RDD的collect 作用是什么?
[Spark][Python]sortByKey 例子的继续 RDD的collect() 作用是什么? “[Spark][Python]sortByKey 例子”的继续 In [20]: mydata ...
- Linux中2>&1使用
转:2>&1使用 一 相关知识 1)默认地,标准的输入为键盘,但是也可以来自文件或管道(pipe |).2)默认地,标准的输出为终端(terminal),但是也可以重定向到文件,管道或后 ...