前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >3433: [Usaco2014 Jan]Recording the Moolympics

3433: [Usaco2014 Jan]Recording the Moolympics

作者头像
HansBug
发布2018-04-11 10:18:42
4680
发布2018-04-11 10:18:42
举报
文章被收录于专栏:HansBug's LabHansBug's Lab

3433: [Usaco2014 Jan]Recording the Moolympics

Time Limit: 10 Sec  Memory Limit: 128 MB

Submit: 137  Solved: 89

[Submit][Status][Discuss]

Description

 Being a fan of all cold-weather sports (especially those involving cows), Farmer John wants to record as much of the upcoming winter Moolympics as possible. The television schedule for the Moolympics consists of N different programs (1 <= N <= 150), each with a designated starting time and ending time. FJ has a dual-tuner recorder that can record two programs simultaneously. Please help him determine the maximum number of programs he can record in total.

给出n个区间[a,b).有2个记录器.每个记录器中存放的区间不能重叠.

求2个记录器中最多可放多少个区间.

Input

* Line 1: The integer N.

* Lines 2..1+N: Each line contains the start and end time of a single program (integers in the range 0..1,000,000,000).

Output

* Line 1: The maximum number of programs FJ can record.

Sample Input

6 0 3 6 7 3 10 1 5 2 8 1 9 INPUT DETAILS: The Moolympics broadcast consists of 6 programs. The first runs from time 0 to time 3, and so on.

Sample Output

4 OUTPUT DETAILS: FJ can record at most 4 programs. For example, he can record programs 1 and 3 back-to-back on the first tuner, and programs 2 and 4 on the second tuner.

HINT

Source

Silver 鸣谢Alegria_提供译文

题解:(呵呵哒我会告诉你我的第一反应是网络流?)

其实仔细看看后发现还是个贪心,只不过现在是两个容器= =,然后就是经典的右边界排序后O(n)乱搞了

代码语言:javascript
复制
 1 /**************************************************************
 2     Problem: 3433
 3     User: HansBug
 4     Language: Pascal
 5     Result: Accepted
 6     Time:0 ms
 7     Memory:304 kb
 8 ****************************************************************/
 9  
10 var
11    i,j,k,l,m,n,ans,l1,l2:longint;
12    a:array[0..10000,1..2] of longint;
13 procedure swap(var x,y:longint);
14           var z:longint;
15           begin
16                z:=x;x:=y;y:=z;
17           end;
18 procedure sort(l,r:longint);
19           var i,j,x,y:longint;
20           begin
21                i:=l;j:=r;x:=a[(l+r) div 2,2];
22                repeat
23                      while a[i,2]<x do inc(i);
24                      while a[j,2]>x do dec(j);
25                      if i<=j then
26                         begin
27                              swap(a[i,1],a[j,1]);
28                              swap(a[i,2],a[j,2]);
29                              inc(i);dec(j);
30                         end;
31                until i>j;
32                if i<r then sort(i,r);
33                if l<j then sort(l,j);
34           end;
35  
36 begin
37      readln(n);
38      for i:=1 to n do readln(a[i,1],a[i,2]);
39      sort(1,n);
40      for i:=1 to n do
41          begin
42               if (a[i,1]>=l1) then
43                  begin
44                       l1:=a[i,2];
45                       inc(ans);
46                  end
47               else if (a[i,1]>=l2) then
48                    begin
49                         l2:=a[i,2];
50                         inc(ans);
51                    end;
52               if l1<l2 then swap(l1,l2);
53          end;
54      writeln(ans);
55      readln;
56 end.       
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-04-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 3433: [Usaco2014 Jan]Recording the Moolympics
  • Description
  • Input
  • Output
  • Sample Input
  • Sample Output
  • HINT
  • Source
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档