hdu 2037 贪心+结构体排序(备战LQB)
来源:互联网 发布:淘宝美工网上接单 编辑:程序博客网 时间:2024/05/03 22:58
题意是找一堆时间点里面,不重合的时间段的最多个数。
经典的DP,让人想起刚刚入门时候的奶牛题。
从后往前的动归,这段核心代码写糊了,按教程理解了好久。
代码:
#include<stdio.h>#include<stdlib.h>#include<string.h>struct Time{ int star; int end;} time[101];int cmp(const void *va, const void *vb){ Time *a,*b; a=(Time*)va; b=(Time*)vb; if(a->star > b->star) return 1; if(a->star < b->star) return -1; return 0;}int main(){ int n; int ans[101]; while(scanf("%d", &n)!=EOF) { if(n==0) break; int max=0; memset(ans,0,sizeof(ans)); for(int i=0; i<n; i++) scanf("%d%d",&time[i].star,&time[i].end); qsort(time, n, sizeof(Time),cmp); //DP for(int i=n-2; i >= 0; i--) { for(int j=i+1; j < n; j++) { //i次后可看的 && 除重复的情况 if(time[i].end <= time[j].star && ans[i] < ans[j]+1) ans[i]=ans[j]+1; if(max < ans[i]) max=ans[i]; } } printf("%d\n",max+1);//加上本身这一段 } return 0;}
本题也可以用贪心来做。
0 0
- hdu 2037 贪心+结构体排序(备战LQB)
- hdu 2005 第几天?(处理闰年)(备战LQB)
- hdu 2012 素数判定(打表)(备战LQB)
- hdu 2047 (双路递归)(备战LQB)
- hdu 2036 计算多边形面积(备战LQB)
- hdu 2041 and hdu 2044 and hdu 2045(打表 递归)(备战LQB)
- hdu 2024 C语言合法标识符(ctype.h 库函数)(备战LQB)
- hdu 2028 Lowest Common Multiple Plus(最大公约数最小公倍数)(备战LQB)
- hdu 2029 Palindromes _easy version(库函数 strrev)(备战LQB)
- HDU 1009 FatMouse' Trade (贪心、结构体排序)
- HDU 2146 结构体排序(类贪心)
- hdu 4310 Hero(贪心 结构体排序)
- hdoj 2037 (贪心)(结构体排序)
- HDU——1009FatMouse' Trade(贪心+结构体+排序)
- HDU——1009FatMouse's Trade(贪心+结构体+排序)
- 2013 蓝桥杯C/C++本科B组 带分数(牛逼库函数)(备战LQB)
- hdu 2491 (贪心+排序)
- UVA-11134-Fabled Rooks (结构体排序+贪心)
- 特征变换(2)沃尔什-哈达玛变换
- 启动activity,自定义action,action常量大全
- Xcode配置SVN详细步骤
- win7 route 命令 重装TCP/IP 协议
- 每天进步一点点- lsof 命令查找指定用户、进程、端口打开的文件
- hdu 2037 贪心+结构体排序(备战LQB)
- Jsonp 跨域访问
- namespace 的用法
- 没有绝对好的软件
- Javascript获取各种浏览器可见窗口大小
- 80端口被NT kernel & System 占用pid 4
- HDU 1.2.8 View Code
- C语言中的位域
- struts2 中struts.xml