摘要:
http://poj.org/problem?id=1065我发现我真的不适合做这些问题,老是考虑不完全。看到题之后,我知道要先排序,因为最省时的是l'>l,w'>w,排序之后就可以只看weight了,所以先将lenth作为一级参数,weight作为二级参数排序。排序之后就只需要考虑weight这个方面了。然后开始处理stick,对处理过的stick标记为1,剩下再循环处理,每次开始新的循环时间都要+1,直到所有的stick都处理完毕。我自己给代码的注释还是蛮给力的.贴下我的代码:#include<stdio.h>#include<stdlib.h
阅读全文
posted @ 2011-10-02 16:16
找回失去的
阅读(269)
推荐(0)
编辑
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=1257这勉强算是一道动归的题吧,不能用贪心算法来做,因为你要拦截的导弹高度是敌方决定的,而且后面出现的高度有可能会比前面高,所以要用到动归的思想。用X[i]存储第i+1发导弹的高度,用Y[j]来存储第j+1套系统的所能阻截的最大高度,每次阻截都得将阻截的高度赋给Y[j]。然后看一共需要多少套系统就OK了。代码:#include <stdio.h>#define M 100000int x[M],y[M];int main(){ int n,i,j,c; while(scanf("%d&q
阅读全文
posted @ 2011-10-02 13:55
找回失去的
阅读(178)
推荐(0)
编辑