http://acm.hdu.edu.cn/showproblem.php?pid=1051
2013-07-26 15:37
232 查看
这是一道贪心算法题:对于贪心算法,是首次接触,对于这样的算法,还不太熟,对于基本的算法还是有待提高。加深理解。这道题我当初做时也是没有想到用贪心,因为本身就对算法还不熟,早些时期有点接触,但是没有深入了解他,因此当遇到这样的题目时,就没什么想法。我当初想到的是用背包做,当时发现行不通。因此一直放着没做。今天再次接触贪心算法时,才又又拿回来。
对于贪心、我觉得应该注意与背包(dp)区分开:首先就是对于贪心算法就是对于一定的区间得出最优的解,但并不是整体的最优解,然而对于背包(dp)确实逐一对子解然后得出最终的最优解。这题很容易与贪心搞混!!
接下来就是我模范别人AC的代码了:
对于贪心、我觉得应该注意与背包(dp)区分开:首先就是对于贪心算法就是对于一定的区间得出最优的解,但并不是整体的最优解,然而对于背包(dp)确实逐一对子解然后得出最终的最优解。这题很容易与贪心搞混!!
接下来就是我模范别人AC的代码了:
#include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> #include<algorithm> using namespace std; struct point { int length; int weight; int flag; }date[5005]; bool camp(const point &a,const point &b) { if(a.length!=b.length) { return a.length<b.length; } else return a.weight<b.weight; } int main() { int i,j,t,n; scanf("%d",&t); while(t--) { memset(date,0,sizeof(date)); scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d%d",&date[i].length,&date[i].weight); } sort(date,date+n,camp); int ans=0,temp; for(i=0;i<n;i++) { if(date[i].flag==0) { ans++;temp=i; for(j=i+1;j<n;j++) if(date[j].flag==0&&date[temp].weight<=date[j].weight) { date[j].flag=1; temp=j; } } } printf("%d\n",ans); } return 0; }
相关文章推荐
- HDU 1702 http://acm.hdu.edu.cn/showproblem.php?pid=1702
- http://acm.hdu.edu.cn/showproblem.php?pid=3836
- N! http://acm.hdu.edu.cn/showproblem.php?pid=1042
- 亲和串 http://acm.hdu.edu.cn/showproblem.php?pid=2203
- http://acm.hdu.edu.cn/showproblem.php?pid=1711
- http://acm.hdu.edu.cn/showproblem.php?pid=1863
- http://acm.hdu.edu.cn/showproblem.php?pid=1905 素数判断 + 二分
- http://acm.hdu.edu.cn/showproblem.php?pid=3584
- 01背包:http://acm.hdu.edu.cn/showproblem.php?pid=2955
- http://acm.hdu.edu.cn/showproblem.php?pid=1052
- http://acm.hdu.edu.cn/showproblem.php?pid=2795 更新节点构造线段数很关键,询问特殊
- http://acm.hdu.edu.cn/showproblem.php?pid=1540 更新节点,询问节点所在的位置有多少连续的区间
- http://acm.hdu.edu.cn/webcontest/contest_showproblem.php?pid=1004&ojid=2&cid=963&hide=0
- http://acm.hdu.edu.cn/showproblem.php?pid=3501 欧拉函数
- http://acm.hdu.edu.cn/showproblem.php?pid=1166
- http://acm.hdu.edu.cn/showproblem.php?pid=2689
- 最大报销额 http://acm.hdu.edu.cn/showproblem.php?pid=1864
- http://acm.hdu.edu.cn/showproblem.php?pid=1698 成段更新,总区间求和
- Number Sequence&&http://acm.hdu.edu.cn/showproblem.php?pid=1005
- Holedox Eating &&http://acm.hdu.edu.cn/showproblem.php?pid=4302