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的更多相关文章
随机推荐
- POJ2253(dijkstra堆优化)
https://vjudge.net/problem/POJ-2253 Freddy Frog is sitting on a stone in the middle of a lake. Sudde ...
- 关于x210开发板和主机、虚拟机ping通问题
关于x210开发板和主机.虚拟机ping通问题: 步骤: 1.关闭 Ubuntu.关闭VMware软件: 2.打开 网络连接,设置 以太网 IP地址,并确认使用的网卡 3.以管理员身份打开VMware ...
- 讲一下Asp.net core MVC2.1 里面的 ApiControllerAttribute (转载)
ASP.NET Core MVC 2.1 特意为构建 HTTP API 提供了一些小特性,今天主角就是 ApiControllerAttribute. (注:文章是18年2月份的,所以文章提到了cor ...
- Luogu3613 睡觉困难综合征/BZOJ4811 Ynoi2017 由乃的OJ 树链剖分、贪心
传送门 题意:给出一个$N$个点的树,树上每个点有一个位运算符号和一个数值.需要支持以下操作:修改一个点的位运算符号和数值,或者给出两个点$x,y$并给出一个上界$a$,可以选取一个$[0,a]$内的 ...
- Luogu4768 NOI2018 归程 最短路、Kruskal重构树
传送门 题意:给出一个$N$个点.$M$条边的图,每条边有长度和海拔,$Q$组询问,每一次询问从$v$开始,经过海拔超过$p$的边所能到达的所有点中到点$1$的最短路的最小值,强制在线.$N \leq ...
- International Programming Retreat Day(2018.11.17)
时间:2018.11.17地点:北京国华投资大厦
- Java获取指定包名下的所有类的全类名的解决方案
最近有个需求需要获取一个指定包下的所有类的全类名,因此特意写了个获取指定包下所有类的全类名的工具类.在此记录一下,方便后续查阅 一.思路 通过ClassLoader来查找指定包 ...
- Luogu P3398 仓鼠找sugar
这还是一道比较好的树剖题(去你的树剖,LCA即可) 这里主要讲两种思路,其实都是很基本也很经典的 1 树链剖分 还是先讲一下这种算法吧,虽然写起来很烦(不过感觉写多了就习惯了,而且还有一种莫名的快感) ...
- 校内模拟赛 Attack's Fond Of LeTri
Attack's Fond Of LeTri 题意: n个房子m条路径边的无向图,每个房子可以最终容纳b个人,初始有a个人,中途超过可以超过b个人,每条边有一个长度,经过一条边的时间花费为边的长度.求 ...
- 微信小程序:java后台获取openId
一.功能描述 openId是某个微信账户对应某个小程序或者公众号的唯一标识,但openId必须经过后台解密才能获取(之前实现过前台解密,可是由于微信小程序的种种限制,前台解密无法在小程序发布后使用) ...