“今年暑假不AC?”
“是的。”
“那你干什么呢?”
“看世界杯呀,笨蛋!”
“@#$%^&*%...”

确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会抛开电脑,奔向电视了。
作为球迷,一定想看尽量多的完整的比赛,当然,作为新时代的好青年,你一定还会看一些其它的节目,比如新闻联播(永远不要忘记关心国家大事)、非常6+7、超级女生,以及王小丫的《开心辞典》等等,假设你已经知道了所有你喜欢看的电视节目的转播时间表,你会合理安排吗?(目标是能看尽量多的完整节目)

Input

输入数据包含多个测试实例,每个测试实例的第一行只有一个整数n(n<=100),表示你喜欢看的节目的总数,然后是n行数据,每行包括两个数据Ti_s,Ti_e (1<=i<=n),分别表示第i个节目的开始和结束时间,为了简化问题,每个时间都用一个正整数表示。n=0表示输入结束,不做处理。

Output

对于每个测试实例,输出能完整看到的电视节目的个数,每个测试实例的输出占一行。

Sample Input

12
1 3
3 4
0 7
3 8
15 19
15 20
10 15
8 18
6 12
5 10
4 14
2 9
0

Sample Output

5

解法一:记忆化搜索

AC代码:

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=100+1;
int g[maxn][maxn];
int d[maxn];
int dfs(int j){int& ans=d[j];if(ans>0)return d[j];for(int i=j;i<=maxn;i++){for(int k=i+1;k<=maxn;k++){if(g[i][k])ans=max(ans,dfs(k)+1);}}return ans;
}
int main(){int n;while(scanf("%d",&n)==1 && n){memset(g,0,sizeof(g));memset(d,0,sizeof(d));for(int i=0;i<n;i++){int a,b;scanf("%d%d",&a,&b);g[a][b]=1;}int ans=0;for(int i=1;i<=maxn;i++){for(int j=i+1;j<=maxn;j++)if(g[i][j])ans=max(ans,dfs(j)+1);}printf("%d\n",ans);}
}

解法二:贪心

贪心策略:按结束时间小到大排序

AC代码:

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=100+5;
struct node{int x,y;node(int x=0,int y=0):x(x),y(y){}bool operator<(const node& n)const{return this->y<n.y; }
}nt[maxn];
int main(){int n;while(scanf("%d",&n)==1 && n){for(int i=0;i<n;i++){scanf("%d%d",&nt[i].x,&nt[i].y);}sort(nt,nt+n);int cnt=1;node t=nt[0];for(int i=1;i<n;i++){if(nt[i].x>=t.y){t=nt[i];  cnt++;}}printf("%d\n",cnt);}return 0;
}

HDU 2037 (贪心或记忆化搜索)相关推荐

  1. hdu 4597 Play Game(记忆化搜索)

    题目链接:hdu 4597 Play Game 题目大意:给出两堆牌,仅仅能从最上和最下取,然后两个人轮流取,都依照自己最优的策略.问说第一个人对多的分值. 解题思路:记忆化搜索,状态出来就很水,dp ...

  2. HDU 5001 概率DP || 记忆化搜索

    2014 ACM/ICPC Asia Regional Anshan Online 给N个点,M条边组成的图,每一步能够从一个点走到相邻任一点,概率同样,问D步后没走到过每一个点的概率 概率DP  測 ...

  3. Palindrome subsequence HDU - 4632 区间dp|记忆化搜索

    // 区间dp import java.util.Scanner;/**** @author CN*/ public class main {static int mod = 10007;static ...

  4. hdu 5535 Cake 构造+记忆化搜索

    闯橙睦涛帕赂币昭操涎椅势崩昭酉饲环苛刑饶几涛每皇忠伤谥倘两够昭当膳唤帕菲淹负恫皇兰僬卣搪仗跃甲磕允康倘饶好睦考戮巳环几吓戮两几负必侵忠缆倘纠饶贪膳淹兰由沟几复倘饲拖昭刑焦僬把踪萍负蜕必梢陡合弛坡淹两操 ...

  5. hdu 4722(记忆化搜索)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4722 思路:简单的记忆化搜索,留意一下A==0时的情况就可以了. 1 #include<iost ...

  6. 2017广东工业大学程序设计竞赛决赛 题解源码(A,数学解方程,B,贪心博弈,C,递归,D,水,E,贪心,面试题,F,贪心,枚举,LCA,G,dp,记忆化搜索,H,思维题)...

    心得: 这比赛真的是不要不要的,pending了一下午,也不知道对错,直接做过去就是了,也没有管太多! Problem A: 两只老虎 Description 来,我们先来放松下,听听儿歌,一起&qu ...

  7. hdu 1142 记忆化搜索

    题目是这样的,貌似一开始我这个英语搓的人还理解错了...orz http://acm.hdu.edu.cn/showproblem.php?pid=1142 就是最短路,只不过用dijkstra是从终 ...

  8. HDU 1176 免费馅饼(记忆化搜索)

    免费馅饼 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  9. HDU 漫步校园 (记忆化搜索)

    漫步校园 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submissi ...

  10. HDU 2452 Navy maneuvers (记忆化搜索)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2452 题意:给出一个图,n个点,m条边,保证无环,每个点有一个权值.指定一个点作为起点,Victory和G ...

最新文章

  1. 帝国cms商城微信小程序之后台sku多规格的开发说明
  2. CSAPP第五章就在“扯淡”!
  3. 数据库SQL面试题七则
  4. 共识协议(8)NPOS提名权益证明
  5. python调用通达信公式_对照通达信一些指标的Python实现
  6. json保存格式标准化的小trick,使用indent参数
  7. Android UI之ImageButton(带图标的按钮)
  8. php tostring(),【php】“__toString()”方法使用,php__tostring
  9. “云计算”越来越重要 但更重要的是“云安全”
  10. 李宏毅《机器学习》作业班+带打比赛
  11. linux系统起来时间,linux 系统时间调整
  12. JavaScript进阶高级
  13. Shell脚本 批量修改目录下若干文件名
  14. PHP如果查询结果为空,php – 如果子查询的结果为NULL,则整个查询失败
  15. 如何为自己的在线办公软件 ONLYOFFICE Docs 服务器的字体库添加字体
  16. 2022 分布式存储市场调研报告
  17. BestSync多终端文件资料同步利器
  18. 2014Gartner技术成熟度曲线
  19. 【恩墨学院】原来银行都在用这些数据库
  20. 雷军:天使投资人不是上帝只是配角

热门文章

  1. 【区块链108将】ShineChain CEO金辉:借区块链让保险共享 实现普惠大众
  2. Pytorch实现GPU和TPU运算
  3. 彩虹的原理与绘制方法
  4. 蒋鑫鸿:9,6国际黄金原油最新行情价格分析策略及今日投资操作建议
  5. 2021-12-11 【数据结构平时实验】【图】
  6. 全国医疗卫生信息化公司网址大全
  7. 智慧医疗分支医院时钟系统(子母钟系统)
  8. mac清除ps缓存 mac系统存储空间清理
  9. 在上海创业的日子之了解银行企业对公基础账户收费情况
  10. 实用的网页模板(一)