2. 滑雪录像{silver3}

【问题描述】

冬奥会的电视时刻表包含N (1 <= N <= 150)个节目,每个节目都有开始和结束时间。农民约翰有两台录像机,请计算他最多可以录制多少个节目。

【文件输入】

第一行,一个整数N。

接下来N行每行两个整数,表示一个节目的开始和结束时间,范围为0..1,000,000,000。

【文件输出】

一个整数,表示最多可以录制的节目数量。

【输入样例】

6

0 3

6 7

3 10

1 5

2 8

1 9

【输出样例】

4

【样例说明】

第1台录制节目1和3,第2台录制节目2和4。

首先感谢 宝宝的思路分享~

思路:

贪心,因为是两个相机,所以如果用动归的话,就会出现重复使用,方大神动归只有70,因为特判比较复杂,本渣就放弃了。

开始写了暴搜,可是同样因为重叠的原因,只有10分,所以还是贪心。

贪心的思路就是,首先按照结束时间b[i]进行排序,(为什么不用开始时间呢,因为如果按照开始时间排序,会出现开始时间很小,但是时间段很长的情况,这样的话,就会影响最优)。 然后设两个变量来记录两个相机当前节目的结束时间,然后从1到n个节目进行比较,可加入就加入。

PS:当两个相机都可以加入的时候,应选取结束时间靠后的相机加入。原因:因为是按照结束时间排序,有可能会出现后来的节目开始时间比此节目靠前,此时可将其加入到之前结束时间靠前的相机中。

举例说明:

|------|  结尾时间4

|----------|  结尾时间6

比如上面为两个相机已加入的时间段, 现在再加入一条开始时间为9的,则应加入到第二个,因为如果下一个节目开始时间为5,则又可以加入到第一个,若将9的加入到第一个, 则5的就无法加入,就无法最优。

program recording;
var i,j,k,n,m,x,y:longint;
a,b:array[..] of longint; procedure data1;
var i,j:longint;
begin
assign(input,'recording.in');
assign(output,'recording.out');
reset(input);
rewrite(output);
end; procedure data2;
begin
close(input);
close(output);
end; procedure sort(l,r: longint);
var
i,j,x,y: longint;
begin
i:=l;
j:=r;
x:=b[(l+r) div ];
repeat
while b[i]
inc(i);
while x
dec(j);
if not(i>j) then
begin
y:=b[i];
b[i]:=b[j];
b[j]:=y;
y:=a[i];
a[i]:=a[j];
a[j]:=y;
inc(i);
j:=j-;
end;
until i>j;
if l
sort(l,j);
if i
sort(i,r);
end; procedure datain;
var i,j,x,y,ans:longint;
begin
readln(n);
for i:= to n do
readln(a[i],b[i]);
sort(,n);
x:=;y:=;ans:=;
for i:= to n do
begin
if (a[i]>=x) and (a[i]>=y) then
if x>y then begin inc(ans);x:=b[i]; continue; end
else begin inc(ans);y:=b[i]; continue; end;
if a[i]>=x then begin inc(ans);x:=b[i]; end;
if a[i]>=y then begin inc(ans);y:=b[i]; end;
end;
writeln(ans);
end; begin
data1;
datain;
data2;
end.

USACO 2014 JAN 滑雪录像的更多相关文章

  1. USACO翻译:USACO 2014 JAN三题(2)

    USACO 2014 JAN 一.题目概览 中文题目名称 队伍平衡 滑雪录像 滑雪场建设 英文题目名称 bteams recording skicourse 可执行文件名 bteams recordi ...

  2. USACO翻译:USACO 2014 JAN三题(1)

    USACO 2014 JAN 一.题目概览 中文题目名称 滑雪场设计 滑雪降速 滑雪场评级 英文题目名称 skidesign slowdown skilevel 可执行文件名 skidesign sl ...

  3. USACO翻译:USACO 2014 DEC Silver三题

    USACO 2014 DEC SILVER 一.题目概览 中文题目名称 回程 马拉松 奶牛慢跑 英文题目名称 piggyback marathon cowjog 可执行文件名 piggyback ma ...

  4. USACO翻译:USACO 2012 JAN三题(2)

    USACO 2012 JAN(题目二) 一.题目概览 中文题目名称 叠干草 分干草 奶牛联盟 英文题目名称 stacking baleshare cowrun 可执行文件名 stacking bale ...

  5. USACO翻译:USACO 2012 JAN三题(1)

    USACO 2012 JAN(题目一) 一.题目概览 中文题目名称 礼物 配送路线 游戏组合技 英文题目名称 gifts delivery combos 可执行文件名 gifts delivery c ...

  6. USACO翻译:USACO 2013 JAN三题(1)

    USACO 2013 JAN 一.题目概览 中文题目名称 镜子 栅栏油漆 奶牛排队 英文题目名称 mirrors paint lineup 可执行文件名 mirrors paint lineup 输入 ...

  7. USACO翻译:USACO 2014 FEB SILVER 三题

    USACO 2014 FEB SILVER 一.题目概览 中文题目名称 自动打字 路障 神秘代码 英文题目名称 auto rblock scode 可执行文件名 auto rblock scode 输 ...

  8. USACO翻译:USACO 2014 MARCH Silver三题

    USACO 2014 MARCH 一.题目概览 中文题目名称 农田灌溉 懒牛 牛叫 英文题目名称 irrigation lazy mooomoo 可执行文件名 irrigation lazy mooo ...

  9. USACO翻译:USACO 2014 US Open 三题

    USACO 2014 US Open 一.题目概览 中文题目名称 牧场装饰 里程表 牛像展览 英文题目名称 decorate odometer fairphoto 可执行文件名 decorate od ...

随机推荐

  1. MATLAB地图工具箱学习总结(二)大圆和恒向线

    MATLAB地图工具箱学习总结(二)大圆和恒向线 今天要和大家谈一谈大圆.恒向线航道的画法.还是先从案例开始说起,再分别介绍相关的函数. 1                    作业案例:地图投影作 ...

  2. Tips collection of iOS development

    <转>UITableView当数据很少的时候,去掉多余的cell分割线   在tableView初始化的时候 UIView *v = [[UIViewalloc] initWithFram ...

  3. Learn GIT

    1.创建版本库: git init 设置用户: git config --global user.email "you@example.com" 2.添加到仓库(将修改的内容提交到 ...

  4. web前端之html5开发中常用的开发工具

    正所谓“工欲善其事,必先利其器”,对Web开发人员来说,好工具的使用总会给人带来事半功倍的效果.正准备学习HTML5或者已经进行了一段时间的HTML5开发的童鞋,都有必要了解下,HTML5都有哪些开发 ...

  5. JSON数据解析

    1 JSON简介 JSON(JavaScript Object Notation),类似于XML,是一种轻量级的数据交换格式,比如在JavaEE中Struts2与Ajax在来回传递数据时,除了可以利用 ...

  6. php 安装yar扩展

    git:https://github.com/laruence/yar 先克隆 如果没有 git 需要先安装 yum install git 然后 克隆 git clone https://githu ...

  7. pandas处理数据1

    读文件 pd.read_csv('path/to/file.txt',header=0,names='ab',index_col=0) names Columns这个可以不写,制定索引列是第一列,这样 ...

  8. C语言多文件编译

    fun.c #include <stdio.h> int fun1(){ printf("The first function!\n"); return 0; } in ...

  9. Windows_RTM_RC

    1.https://zhidao.baidu.com/question/172764638.html RTM(Release to Manufacturing)版 软件在正式在零售商店上架前,需要一段 ...

  10. git备份sublime插件及配置

    github备份sublime配置 sublime使用的时间长了,渐渐的就积累了一些有用甚至离不开的插件.但是有时候系统会出点问题,或者换电脑什么的,这时候要想在找回那个曾经的sublime就不那么容 ...