HDOJ.2037 今年暑假不AC (贪心)
今年暑假不AC
题意分析
给出来n组节目的起止时间,让求出所最多能观看的完整节目个数。
贪心策略:按照节目的结束时间升序排序,比较下一项的开始时间是否比上一项的结束时间大,是的话计数器+1,并且更新结束时间,否则的话继续判断下一项。直到遍历完整个节目单,输出计数器的值即可。
注意:排好序后,默认第一个节目是看的,并且此时计数器为1。
至于为何按照结束时间排序,下面出一个一个ppt,感兴趣的读者可以自己分析一下。
贪心最重要的是选择合适的贪心策略,才能快准AC。
代码总览
/*
Title:HDOJ.2037
Author:pengwill
Date:2016-11-22
*/
#include <iostream>
#include <stdio.h>
#include <map>
#include <algorithm>
using namespace std;
struct time{
int stat;
int endt;
}item[105];
int cmp(time a,time b)
{
return a.endt<b.endt;
}
int main()
{
int n;
while(scanf("%d",&n)!= EOF && n){
int i;
int cnt = 1,temp;
for(i = 0;i<n;++i){
scanf("%d %d",&item[i].stat,&item[i].endt);
}
sort(item,item+n,cmp);
temp = item[0].endt;
for(i= 0;i<n-1;i++){
if(temp <= item[i+1].stat){
cnt++;
temp = item[i+1].endt;
}
}
printf("%d\n",cnt);
}
return 0;
}
HDOJ.2037 今年暑假不AC (贪心)的更多相关文章
- HDU - 2037 今年暑假不AC 贪心(求序列中不重叠子序列的最大值问题)
HDU2037 今年暑假不AC 贪心算法 大意: 每次测试数据输入一个n,然后输入n对的电视节目播放时间:开始时间及结束时间, 求这个人能看的最多的完整的节目数. 解题思路: 对于这道解题,是对每个 ...
- HDU 2037 今年暑假不AC(贪心,区间更新,板子题)
今年暑假不AC Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su ...
- hdoj 2037 今年暑假不AC
今年暑假不AC Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- HDU 2037 今年暑假不AC(贪心)
今年暑假不AC Problem Description “今年暑假不AC?”“是的.”“那你干什么呢?”“看世界杯呀,笨蛋!”“@#$%^&*%...” 确实如此,世界杯来了,球迷的节日也来了 ...
- HDU 2037 今年暑假不AC (贪心)
今年暑假不AC Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- HDU 2037 今年暑假不AC ( 起始与终止时间 【贪心】)
今年暑假不AC Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- HDU 2037 今年暑假不AC【贪心】
解题思路:即为给出一个总长度确定的区间,再输入不同的子区间,求在这个总区间里面包含的不相交的子区间最多有多少个. 可以由最特殊的情况来想,即给出的这些子区间现在都不相交,比如 ----- (1,3) ...
- HDU2037 今年暑假不AC 贪心算法
贪心算法 : 贪心算法就是只考虑眼前最优解而忽略整体的算法, 它所做出的仅是在某种意义上的局部最优解, 然后通过迭代的方法相继求出整体最优解. 但是不是所有问题都可以得到整体最优解, 所以选择贪心策略 ...
- hdu 2037 今年暑假不AC
今年暑假不AC Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
随机推荐
- hdu1422重温世界杯(动态规划,最长子序列)
重温世界杯 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- List和Turple
List 格式:classmates = ['Michael', 'Bob', 'Tracy'] 读取list长度用:len(classmetes) 索引:索引正向从0开始,逆向从-1开始 在末尾增加 ...
- 211. String Permutation【LintCode by java】
Description Given two strings, write a method to decide if one is a permutation of the other. Exampl ...
- python简单循环生成器
import time #循环生成器 def traversal_list(alist, i): while True: length = len(alist) i = i%(length) yiel ...
- vue 与jq 的对比
vue.react和angular,众所周知,他们是前端框架的3个大佬.这篇主要想对比一下用vue和用jq的区别,至于和其他框架的对比,我想vue的官网说的更为详细. 我算是独自用vue写过一个小型项 ...
- Linux内核设计笔记10——内核同步
Linux内核同步笔记 几个基本概念 - 临界区(critical region):访问和操作共享数据的代码段: - 原子操作:操作在执行中不被打断,要么不执行,要么执行完: - 竞争条件: 两个线程 ...
- zabbix 2.2.2 安装部署
zabbix 2.2.2版本与1.8.3版本安装过程略有不同,下面为实施步骤: 服务端:172.16.1.61 客户端:172.16.1.8 搭建zbbix软件 安装LAMP环境及依赖包 [root@ ...
- POJ 1921 Paper Cut(计算几何の折纸问题)
Description Still remember those games we played in our childhood? Folding and cutting paper must be ...
- POJ 2987 Firing(最大流最小割の最大权闭合图)
Description You’ve finally got mad at “the world’s most stupid” employees of yours and decided to do ...
- 第一次接触FPGA至今,总结的宝贵经验
从大学时代第一次接触FPGA至今已有10多年的时间,至今记得当初第一次在EDA实验平台上完成数字秒表.抢答器.密码锁等实验时那个兴奋劲.当时由于没有接触到HDL硬件描述语言,设计都是在MAX+plus ...