试试CSDN的blog~
2009-11-13 10:43
218 查看
百度开了一个blog,但是因为文章字数限制,外加贴入的代码格式不好~
想换一个试试
POJ的一道题
http://acm.pku.edu.cn/JudgeOnline/problem?id=1065
首先对棍子按长度从小到大排序,在长度相等的情况下再按重量由小到大对棍子排序
然后从第一跟棍子(长度最小,重量在同长度中最小)开始,
如果该棍子没被使用过,依次考察后面的没被使用的棍子,如果重量大于等于它的重量,长度大于等于它的长度,则将两跟棍子安排在一个序列中,并将加入序列的棍子置已使用标志。
直到所有棍子都使用完,则序列数即为所需的最小准备时间 (这个为啥是最短时间,不懂?)
如何证明贪心可得最优解?
想换一个试试
POJ的一道题
http://acm.pku.edu.cn/JudgeOnline/problem?id=1065
首先对棍子按长度从小到大排序,在长度相等的情况下再按重量由小到大对棍子排序
然后从第一跟棍子(长度最小,重量在同长度中最小)开始,
如果该棍子没被使用过,依次考察后面的没被使用的棍子,如果重量大于等于它的重量,长度大于等于它的长度,则将两跟棍子安排在一个序列中,并将加入序列的棍子置已使用标志。
直到所有棍子都使用完,则序列数即为所需的最小准备时间 (这个为啥是最短时间,不懂?)
#include<stdio.h> #include<stdlib.h> typedef struct D { int l; int w; } Data; Data data[5000]; int min = 5005; bool flag[5000]; int cmp( const void *a , const void *b) { int i = ((Data *)a)->l - ((Data *)b)->l ; if(i == 0) return ((Data *)a)->w - ((Data *)b)->w ; else return i; } int main() { int n, num; scanf("%d", &n); for(int i=0; i<n; i++) { scanf("%d", &num); for(int j=0; j<num; j++) { scanf("%d",&data[j].l); scanf("%d",&data[j].w); } qsort(data, num, sizeof(Data), cmp); //由小到大快排 for(int i=0; i<num; i++) flag[i] = false; int result = 0; for(int i=0; i<num; i++) { if(!flag[i]) { flag[i] = true; int temp = i; result++; for(int j=i; j<num; j++) { if(!flag[j]) { if(data[j].w >= data[temp].w) { flag[j] = true; temp = j; } } } } } printf("%d/n", result); } return 0; }
如何证明贪心可得最优解?
相关文章推荐
- 试试这个连接在csdnblog里能直接发gmail不能
- 试试csdn的blog系统
- 试试csdn的blog
- CSDN 论坛招聘区是不是有潜规则?在Cnblog招个人试试...
- 试试csdnblog功能
- 浅谈SEO的关键:中文分词(转自http://blog.csdn.net/diehuan2008)
- http://blog.csdn.net/csdnnews/article/details/78838714
- 听说CSDN的Blog新版首页要上线?期待一下!
- Servlet——ServletContext 对象 转载自http://blog.csdn.net/gavin_john/article/details/51399425
- 很高兴,看到csdn的blog在维护
- view-source_blog.csdn.net_jiangwei0910410003_article_details_26447539.html
- csdn的blog,唉
- Hello Csdn Blog
- 把CSDN的所有blog文章搬到BlogBus去的办法
- 本博客已经搬家 http://blog.csdn.net/YU_Xianguo/article
- CSDN的BLOG真好用
- 用Windows Live Writer写csdn的blog
- Linkers 连接器 - 上地驿站 - CSDNBlog
- http://blog.csdn.net/likendsl
- http://blog.csdn.net