hiho 1590 - 紧张的会议室。区间问题
小Hi的公司最近员工增长迅速,同时大大小小的会议也越来越多;导致公司内的M间会议室非常紧张。
现在小Hi知道公司目前有N个会议,其中第i个会议的时间区间是(Si, Ei)。 注意这里时间区间可以视为是开区间,也就是说(3, 5)和(5, 6)不会被视为是同时进行的会议。
小Hi想知道如果他新增一个会议,时间区间是(X, Y),会不会导致出现会议室不够用的情况?
已知目前的N个会议不会导致会议室不够用。
输入
第一行包含两个整数:N和M。
以下N行每行两个整数Si和Ei,代表一个会议的时间区间。
之后一行包含一个整数Q,代表小Hi询问的次数。
以下Q行每行包含两个整数Xi和Yi,表示小Hi希望新增的会议时间。
对于30%的数据,1 <= N, M, Q <= 1000
对于100%的数据,1 <= N, M, Q <= 100000 0 <= Si < Ei <= 100000000 0 <= Xi < Yi <= 100000000
----------------------------------------------------------------------------------------------------------------------------------------------------
差劲。简单的区间题wa了这么多次。
首先肯定是统计现有的厚度为m的区间,这样来了一个新的区间只需判断是否和现有的区间交叉。
判断是否交叉不如判断是否不交叉,不交叉只有三种情况:在两边是两种,还有一种是落在区间的空隙里。
#include <set>
#include <map>
#include <stack>
#include <queue>
#include <cmath>
#include <vector>
#include <string>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#include <bits/stdc++.h>
#define MAX(a,b) ((a)>=(b)?(a):(b))
#define MIN(a,b) ((a)<=(b)?(a):(b))
#define OO 0x0fffffff
using namespace std;
typedef long long LL;
const int N = 100100;
struct Node{
int t;
bool isstart;
Node(){}
Node(int t,bool isstart):t(t),isstart(isstart){}
bool operator<(const Node& another) const{
if(t==another.t) return isstart<another.isstart;
return t<another.t;
}
};
Node nodes[N*2];
int main(){
int n,m,s,e; cin>>n>>m;
for(int i=0;i<n;i++){
scanf("%d%d",&s,&e);
nodes[i*2+0]=Node(s,true);
nodes[i*2+1]=Node(e,false);
}
std::sort(nodes,nodes+n*2);
int cnt = 0;
vector<int> sets;
for(int i=0;i<n*2;i++){
if(!nodes[i].isstart) cnt--;
else if(++cnt==m){
sets.push_back(nodes[i+0].t);
sets.push_back(nodes[i+1].t);
}
}
cin>>n;
for(int i=0;i<n;i++){
scanf("%d%d",&s,&e);
vector<int>::iterator sec = std::lower_bound(sets.begin(),sets.end(),e);
if(s>=*(sets.end()-1)||sec==sets.begin()||(((sec-sets.begin())%2==0)&&(*(sec-1)<=s))) {
puts("YES");
}
else{
puts("NO");
}
}
return 0;
}
hiho 1590 - 紧张的会议室。区间问题的更多相关文章
- HihoCoder 1590 : 紧张的会议室(区间最大+离散化)
时间限制:20000ms 单点时限:2000ms 内存限制:256MB 描述 小Hi的公司最近员工增长迅速,同时大大小小的会议也越来越多:导致公司内的M间会议室非常紧张. 现在小Hi知道公司目前有N个 ...
- hiho一下21周 线段树的区间修改 离散化
离散化 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho在回国之后,重新过起了朝7晚5的学生生活,当然了,他们还是在一直学习着各种算法~ 这天小Hi和小Ho ...
- hiho一下20周 线段树的区间修改
线段树的区间修改 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 对于小Ho表现出的对线段树的理解,小Hi表示挺满意的,但是满意就够了么?于是小Hi将问题改了改,又出给了 ...
- hiho #1305 区间求差
#1305 : 区间求差 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定两个区间集合 A 和 B,其中集合 A 包含 N 个区间[ A1, A2 ], [ A3, ...
- hihocoder 1305 - 区间求差 - [hiho一下152周][区间问题]
题目链接:https://hihocoder.com/problemset/problem/1305 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定两个区间集合 A ...
- 区间问题 codeforces 422c+hiho区间求差问
先给出一个经典的区间处理方法 对每个区间 我们对其起点用绿色标识 终点用蓝色标识 然后把所有的点离散在一个坐标轴上 如下图 这样做有什么意义呢.由于我们的区间可以离散的放在一条轴上面那么我们在枚举区 ...
- hihocoder 1323 - 回文字符串 - [hiho一下162周][区间dp]
用dp[i][j]表示把[i,j]的字符串str改写成回文串需要的最小操作步数. 并且假设所有dp[ii][jj] (ii>i , jj<j)都为已知,即包括dp[i+1][j].dp[i ...
- hiho#1080 更为复杂的买卖房屋姿势 线段树+区间更新
#1080 : 更为复杂的买卖房屋姿势 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho都是游戏迷,“模拟都市”是他们非常喜欢的一个游戏,在这个游戏里面他们 ...
- 252. Meeting Rooms 区间会议室
[抄题]: Given an array of meeting time intervals consisting of start and end times [[s1,e1],[s2,e2],.. ...
随机推荐
- struts2学习之基础笔记6
第十一章 Struts 2的国际化 1 国际化简介 http协议,request_locale值 Locale类àà封装类request_locale值 ResourcesBandleàà ...
- canvas制作刮刮乐案例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Android设计模式——抽象工厂方法模式
1.抽象工厂方法模式:为了创建一组或相互依赖的对象提供一个接口,而不需要指定它们是具体类……无语 2.找个代码看看: 抽象工厂类<成员为接口> /** * 抽象工厂 * */ public ...
- Java并发--安全发布对象
单例模式 懒汉模式:多线程非线程安全,在多线程中,可能会产生多个对象 饿汉模式:线程安全. 类加载的时候初始化,不推荐在构造函数需要做耗时操作的时候使用,因为可能导致类加载缓慢,而且可能初始化后并没有 ...
- Kattis - Association for Computing Machinery
Association for Computing Machinery ACM (Association for Computing Machinery) organizes the Internat ...
- 基于cxf的webService服务发布及客户端开发
学习地址: http://www.cnblogs.com/leihenqianshang/category/795140.html
- Oracle-Trigger-Insert tableA and tableB
create or replace trigger trg_a after insert ON a for each rowbegin INSERT INTO b values(:NEW.ID,: ...
- [Vue warn]: Invalid prop: custom validator check failed for prop "type".
遇到错误如下, [Vue warn]: Invalid prop: custom validator check failed for prop "type". found in ...
- 刷新页面vuex数据不消失和不跳转页面
先说点什么 vuex和路由拦截这一块捣鼓的有一段时间了,总算是爬出来了,特地来分享一下,首先声明没有什么基础介绍,用的是登录状态存储sessionStorage的方法!!! 进入正题 刷新 刷新相当与 ...
- 使用Storyboard实现复杂界面
http://blog.csdn.net/guchengluoye/article/details/7472771 http://wangjun.easymorse.com/?p=1564 http: ...