POJ 1065
http://poj.org/problem?id=1065
题目的大体意思就是给一些木头长l,重w,有一个机器,如果切割这些木头的话,在i后面切割的i+1根木头满足长度和重量都要大于等于前一根则不需要花费时间,求最少的花费时间
一个贪心加动规吧,不是很难的想法
#include <stdio.h>
#include <string.h>
#include <iostream>
#include <stdlib.h> using namespace std; struct IN //定义一个结构体,用来存木头的重量的长度
{
int w;
int l;
} s[]; bool step[]; //用来标记木头是否使用过
int cmp(const void *a,const void *b) //排序,如果长度相等,则按重量进行排序
{
struct IN *c =(IN *)a;
struct IN *d=(IN *)b;
if(c->l!=d->l)
return c->l-d->l;
else
return c->w-d->w;
} int main()
{
int i,n,k,time,j,last;
scanf("%d",&n);
for(i=; i<n; i++)
{
time=;
memset(step,true,sizeof(step)); //初始化
scanf("%d",&k);
for(int j=; j<k; j++)
scanf("%d%d",&s[j].l,&s[j].w);
qsort(s,k,sizeof(s[]),cmp);
for(j=; j<k; j++) //用一个变量记住木头的重量
{
last=s[j].w;
if(step[j]) //当这个木头没用过,则可以使用这根木头
{
for(int x=j+; x<k; x++)
{
if(s[x].w>=last&&step[x]) //由于是按长度排序的,所以如果下一根木头的重量比前一根的重,则不需要时间,且更新重量
{
step[x]=false;
last=s[x].w;
}
} //这一次的木头切完了,时间加一
time++;
}
}
printf("%d\n",time);
} return ;
}
POJ 1065的更多相关文章
- POJ 1065 Wooden Sticks / hdu 1257 最少拦截系统 DP 贪心
参考链接:http://blog.csdn.net/xiaohuan1991/article/details/6956629 (HDU 1257 解题思路一样就不继续讲解) POJ 1065题意:给你 ...
- poj -1065 Wooden Sticks (贪心or dp)
http://poj.org/problem?id=1065 题意比较简单,有n跟木棍,事先知道每根木棍的长度和宽度,这些木棍需要送去加工,第一根木棍需要一分钟的生产时间,如果当前木棍的长度跟宽度 都 ...
- poj 1065 Wooden Sticks 【贪心 新思维】
题目地址:http://poj.org/problem?id=1065 Sample Input 3 5 4 9 5 2 2 1 3 5 1 4 3 2 2 1 1 2 2 3 1 3 2 2 3 1 ...
- POJ 1065 Wooden Sticks(zoj 1025) 最长单调子序列
POJ :http://poj.org/problem?id=1065 ZOJ: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId= ...
- 【贪心】POJ 1065
头一次接触POJ,然后写了自己比较擅长的贪心. 解题思路大概就是从小排(这个很重要,然后用cmp随便长度或者重量的排序,选择最小的开始) 直到所有比他weight大的,没有符合条件的了.就代表要再加一 ...
- POJ 1065 Wooden Sticks Greed,DP
排序后贪心或根据第二关键字找最长下降子序列 #pragma comment(linker, "/STACK:1024000000,1024000000") #include< ...
- DP:Wooden Sticks(POJ 1065)
摆木棍 题目大意:即使有一堆木棍,给一个特殊机器加工,木棍都有两个属性,一个是l一个是w,当机器启动的时候(加工第一根木棒的时候),需要一分钟,在这以后,设机器加工的上一根木棒的长度是l,质量是w,下 ...
- POJ 1065 Wooden Sticks
Wooden Sticks Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 16262 Accepted: 6748 Descri ...
- HDU ACM 1051/ POJ 1065 Wooden Sticks
Wooden Sticks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
随机推荐
- [C#基础]c#中的BeginInvoke和EndEndInvoke
摘要 异步这东西,真正用起来的时候,发现事情还是挺多的,最近在项目中用到了异步的知识,发现对它还是不了解,处理起来,走了不少弯路.觉得还是补一补还是很有必要的. MSDN原文地址:https://ms ...
- ssi技术
html页面 <!DOCTYPE html> <html> <head> <title>测试ssi</title> <meta nam ...
- codeforces Diagrams & Tableaux1 (状压DP)
http://codeforces.com/gym/100405 D题 题在pdf里 codeforces.com/gym/100405/attachments/download/2331/20132 ...
- JQ分页功能
HTML <div id='page'></div> <div id='con'></div> CSS span{width: 60px;height: ...
- 360随身WIFI程序单文件绿色版及网卡驱动(附使用感受)
大家好,我是Colin,今天刚收到传说中的360WIFI,拿到手后马上就进行了测试.就做工而言,19.9的价格算是比较公道的,网卡很小,做工还可以,带磨砂质感,而且还提供了一个耳机插头,可以当挂件一样 ...
- 欧几里得证明$\sqrt{2}$是无理数
选自<费马大定理:一个困惑了世间智者358年的谜>,有少许改动. 原译者:薛密 \(\sqrt{2}\)是无理数,即不能写成一个分数.欧几里得以反证法证明此结论.第一步是假定相反的事实是真 ...
- 微信公众平台回复链接可以直接访问,但不能是锚文字链接<a>标签
最近在学习微信公众平台开发,由于编辑模式和开发模式不可同时开启,在开发模式下如果访客发送关键字过来暂时无法实现关键词自动回复,客服人员先用链接网址直接回复订阅用户,但请注意不能是文字链接,即<a ...
- Hadoop 面试题redis
Hadoop 面试题之十 548.redis有什么特别之处,为什么用redis,用hbase 不行么? 答:redis 是基于内存的数据库,速度快 551.redis用什么版本? 3.0以上才支持集群 ...
- gcc 4.8.3 install centos
http://blog.csdn.net/xlx921027/article/details/17382643
- Redis学习笔记四:独立功能之发布与订阅
客户端可以通过执行 subscribe 命令订阅一个或多个频道,每当有其他客户端向被订阅的频道发送消息时,频道所有的订阅者都会收到这条消息. 客户端还可以通过执行 psubscribe 命令订阅一个或 ...