Chat Online

CodeForces - 469B

问题描述

你和你的朋友经常在网上聊天.
你的朋友作息规律每天只会在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 1 0 4
2 3
0 1
样例输出1
3
样例输入2
2 3 0 20
15 17
23 26
1 4
7 11
15 17
样例输出2
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的更多相关文章

随机推荐

  1. docker安装jdk8

    1.下载jdk8 wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.or ...

  2. stm32 中断号和中断处理函数建立关系

    转载:https://www.cnblogs.com/heny-hui/p/7130620.html stm32的中断号根据不同内核和型号,st公司给的官方库中对相应的中断号进行了设置,我们用到哪一个 ...

  3. Android开发之加载GIF图片

    一.加载GIF图片我用的是GitHub上的开源库:android-gif-drawable,项目地址:https://github.com/koral--/android-gif-drawable 二 ...

  4. android 3.0+百度地图api地图如何移动到指定的经纬度处

    由于百度地图api,2.0+和3.0+的改动比较大,api基本上被全换过了,有些同学可能2.0+的api使用的非常熟悉,但是更新到3.0+时,却会遇到一些小麻烦(由于api变了,你就需要重新学习它的a ...

  5. Luogu3877 TJOI2010 打扫房间 二分图、网络流

    传送门 真是菜死了模板题都不会-- 首先\(30 \times 30\)并不能插头DP,但是范围仍然很小所以考虑网络流. 注意每个点都要包含在一个回路中,那么每一个点的度数都必须为\(2\),也就是说 ...

  6. CF875F Royal Questions 基环树、Kruskal

    题目传送门:http://codeforces.com/problemset/problem/875/F 题意:有$N$个王子和$M$个公主,每个公主或王子都只能选择至多一个王子或公主作为自己的结婚对 ...

  7. java 基础01

    标识符:字母,下划线和美元符号,数字组成大小写敏感,无长度限制 关键字: 数据类型

  8. Socket异步通信及心跳包同时响应逻辑分析(最后附Demo)。

    有段时间没有更博了,刚好最近在做Socket通信的项目,原理大致内容:[二维码-(加logo)]-->提供主机地址和端口号信息(直接使用[ThoughtWorks.QRCode.dll]比较简单 ...

  9. 使用IntelliJ IDEA开发SpringMVC网站(二)框架配置

    原文:使用IntelliJ IDEA开发SpringMVC网站(二)框架配置 摘要 讲解如何配置SpringMVC框架xml,以及如何在Tomcat中运行 目录[-] 文章已针对IDEA 15做了一定 ...

  10. FreeCAD源码初步了解

    FreeCAD简介 FreeCAD是基于OpenCASCADE的开源CAD/CAE软件,完全开源(GPL的LGPL许可证),官方源码地址,详情可参考维基百科,百度百科等等. 如果要编译FreeCAD, ...