uvalive 2326 - Moving Tables(区间覆盖问题)
题目大意:在一个走廊上有400个教室, 先在有一些桌子要移动, 每次移动需要十分钟, 但是不同房间的桌子可以在同一个十分钟内移动,只要走廊没有被占用就可以, 注意教室序号1 和 2 是在对面。
注意:给出的区间没有分左边或者是右边比较大。
解题思路:区间覆盖问题, 将所有给出的区间处理一下, 去除对面房间这样的情况。 让后将区间按照l 和 r 的值进行排序, 然后看进行几次区间覆盖可以使得所有区间均被用上。
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
const int N = 205; struct thing {
int l;
int r;
}tmp[N]; bool cmp(const thing& a, const thing& b) {
if (a.l != b.l) return a.l < b.l;
else return a.r < b.r;
} int main() {
int cas, n, L, R, vis[N];
scanf("%d", &cas);
while (cas--) {
int ti = 0, cnt = 0;
memset(vis, 0, sizeof(vis)); scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d%d", &L, &R);
if (L > R) {
int t = R;
R = L;
L = t;
}
tmp[i].l = (L + 1) / 2;
tmp[i].r = (R + 1) / 2;
} sort(tmp, tmp + n, cmp); while (cnt < n) {
ti++;
int begin = 0;
for (int i = 0; i < n; i++) {
if (vis[i]) continue;
if (tmp[i].l > begin) {
begin = tmp[i].r;
cnt++;
vis[i] = 1;
}
}
} printf("%d\n", ti * 10); }
return 0;
}
uvalive 2326 - Moving Tables(区间覆盖问题)的更多相关文章
- UVAlive 2326 Moving Tables(贪心 + 区间问题)
The famous ACM (Advanced Computer Maker) Company has rented a floor of a building whose shape is in ...
- uva live 2326 - Moving Tables
把房间号映射在一条坐标上,然后排序,最后找从左到右找一次可行的计划,最后找从左到右找一次可行的计划,最后找从左到右找一次可行的计划,最后找从左到右找一次可行的计划, ............ 次数*1 ...
- hdoj 1050 Moving Tables【贪心区间覆盖】
Moving Tables Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
- HDOJ 1050 Moving Tables
Moving Tables Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
- POJ1083 Moving Tables(模拟)
The famous ACM (Advanced Computer Maker) Company has rented a floor of a building whose shape is in ...
- hdu_1050 Moving Tables 贪心
Moving Tables Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
- zstu.2512. Moving Tables(贪心)
Moving Tables Time Limit: 1 Sec Memory Limit: 64 MB Submit: 1182 Solved: 563 Description The famo ...
- HDU1050:Moving Tables
pid=1050">Moving Tables Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 ...
- HDU 4509 湫湫系列故事——减肥记II(线段树-区间覆盖 或者 暴力技巧)
http://acm.hdu.edu.cn/showproblem.php?pid=4509 题目大意: 中文意义,应该能懂. 解题思路: 因为题目给的时间是一天24小时,而且还有分钟.为了解题方便, ...
随机推荐
- 移动端利用iscroll实现小图变大图
大图界面,使用iscroll,定义如下: var myScroll; function loaded(){ myScroll = new iScroll('wrapper', { zoom:true, ...
- 聊一聊c++中指针为空的三种写法 ----->NULL, 0, nullptr
看到同事用了一下nullptr.不是很了解这方面东东,找个帖子学习学习 http://www.cppblog.com/airtrack/archive/2012/09/16/190828.aspx N ...
- bzoj 2594: [Wc2006]水管局长数据加强版 动态树
2594: [Wc2006]水管局长数据加强版 Time Limit: 25 Sec Memory Limit: 128 MBSubmit: 934 Solved: 291[Submit][Sta ...
- tyvj 1342 教主泡嫦娥 环上DP
342 教主泡嫦娥 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 2012年12月21日下午3点14分35秒,全世界各国的总统以及领导人都已经汇聚在中国的方 ...
- C/C++ 开源库及示例代码
C/C++ 开源库及示例代码 Table of Contents 说明 1 综合性的库 2 数据结构 & 算法 2.1 容器 2.1.1 标准容器 2.1.2 Lockfree 的容器 2.1 ...
- MVVM in Depth
这篇文章开始粗略的介绍了软件开发中松耦合的概念并讲述了使用MVC.MVP和MVVM三种模式达到松耦合.然后分析了这三种模式适用范围,其中: MVC(Model-View-Controller)适用于w ...
- SSH自定义标签
一.标签处理类:package cn.conris.sys.form; import java.io.IOException; import java.util.Enumeration; impor ...
- Scala:(1)变量
Scala中变量需要注意的地方: (1)val,var val 定义的声明是一个常量,不能改变内容. var定义的声明是一个变量,可以改变其内容 在Scala中,尽可能使用val val answer ...
- python中文乱码例子
#coding=utf-8 #---中文乱码--- #直接打印中文 print '千里之外取人首级,瞬息之间爆人菊花.' #中文前面加u,变成Unicode编码 print u'千里之外取人首级' # ...
- StringBuilder字符串缓冲区
JDK1.5出现StringBuiler:构造一个其中不带字符的字符串生成器,初始容量为 16 个字符.该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候( ...