题目地址:http://poj.org/problem?id=1065

Sample Input

  1. 3
  2. 5
  3. 4 9 5 2 2 1 3 5 1 4
  4. 3
  5. 2 2 1 1 2 2
  6. 3
  7. 1 3 2 2 3 1

Sample Output

  1. 2
  2. 1
  3. 3
  4.  
  5. 题目抽象:给你一个序列,序列的每个元素包含两个值(x,y).现在希望找到最少数目的条件序列。
    条件序列是这样的:cur.x<=(cur+1).x && cur.y<=(cur+1).y
    满足条件的序列的最少的数目是多少?
    代码:
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4. #include <ctype.h>
  5. #include <math.h>
  6. #include <cmath>
  7. #include <iostream>
  8. #include <string>
  9. #include <queue>
  10. #include <stack>
  11. #include <vector>
  12. #include <map>
  13. #include <algorithm>
  14. #define N 100000+100
  15.  
  16. using namespace std;
  17.  
  18. struct node
  19. {
  20. int len, weight;
  21. bool operator<(const node &dd)const{
  22. if(len==dd.len)
  23. return weight<dd.weight;
  24. else
  25. return len<dd.len;
  26. }
  27. }q[];
  28.  
  29. int main()
  30. {
  31. int tg; scanf("%d", &tg);
  32. int i, j, k;
  33. int n;
  34.  
  35. while(tg--){
  36. scanf("%d", &n);
  37. for(i=; i<n; i++){
  38. scanf("%d %d", &q[i].len, &q[i].weight );
  39. }
  40.  
  41. sort(q, q+n);
  42. int ans=;
  43. node cur=q[];
  44.  
  45. bool vis[];
  46. memset(vis, false, sizeof(vis));
  47. vis[]=true;
  48. //从当前出发 遍历整个数组只要有结构体满足条件就贪心吃掉
  49. //不断的进行这样的贪心,直到整个结构体数组集合元素全被吃掉为止
  50. //不同于以往的贪心的是:当前的不可用,不代表以后的不可用 并非遇到遇到一个不可用的
  51. //情况就停止了本组的计算!
  52. while(true){
  53. for(j=; j<n; j++){
  54. if( vis[j]==false && q[j].len>=cur.len && q[j].weight>=cur.weight ){
  55. cur=q[j]; vis[j]=true;
  56. }
  57. }//
  58. ans++; //完成了一次
  59. for(j=; j<n; j++){
  60. if(vis[j]==false){
  61. cur=q[j]; vis[j]=true; break;
  62. }
  63. }
  64. if(j==n) break;
  65. }
  66. printf("%d\n",ans);
  67. }
  68. return ;
  69. }

poj 1065 Wooden Sticks 【贪心 新思维】的更多相关文章

  1. POJ 1065 Wooden Sticks#贪心+qsort用法

    (- ̄▽ ̄)-* 这道题用到了cstdlib库的qsort()函数: 用法链接:http://www.cnblogs.com/syxchina/archive/2010/07/29/2197382.h ...

  2. POJ 1065 Wooden Sticks / hdu 1257 最少拦截系统 DP 贪心

    参考链接:http://blog.csdn.net/xiaohuan1991/article/details/6956629 (HDU 1257 解题思路一样就不继续讲解) POJ 1065题意:给你 ...

  3. POJ 1065 Wooden Sticks (贪心)

    There is a pile of n wooden sticks. The length and weight of each stick are known in advance. The st ...

  4. HDU ACM 1051/ POJ 1065 Wooden Sticks

    Wooden Sticks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  5. POJ 1065 Wooden Sticks

    Wooden Sticks Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 16262 Accepted: 6748 Descri ...

  6. poj -1065 Wooden Sticks (贪心or dp)

    http://poj.org/problem?id=1065 题意比较简单,有n跟木棍,事先知道每根木棍的长度和宽度,这些木棍需要送去加工,第一根木棍需要一分钟的生产时间,如果当前木棍的长度跟宽度 都 ...

  7. POJ 1065 Wooden Sticks【贪心】

    题意: 有一些木棍,每个有长度和重量,要求把这些木棍排成若干两个属性值均不下降的序列.问至少要分为多少个序列.且要保证排出来的子序列数最少. 思路: ( 9 , 4 ) ,( 2 , 5 ) ,( 1 ...

  8. POJ - 1065 Wooden Sticks(贪心+dp+最长递减子序列+Dilworth定理)

    题意:给定n个木棍的l和w,第一个木棍需要1min安装时间,若木棍(l’,w’)满足l' >= l, w' >= w,则不需要花费额外的安装时间,否则需要花费1min安装时间,求安装n个木 ...

  9. POJ 1065 Wooden Sticks(zoj 1025) 最长单调子序列

    POJ :http://poj.org/problem?id=1065 ZOJ: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId= ...

随机推荐

  1. mac 下 pycharm 快捷键

    用过快捷键立即感觉高大上了,最主要的是很方便啊!很强大 cmd b 跳转到声明处(cmd加鼠标) opt + 空格 显示符号代码 (esc退出窗口 回车进入代码) cmd []光标之前/后的位置 op ...

  2. 使用Firebug进行断点调试详解

    利用Firebug我们可以非常方便地对网页上的任何JavaScript代码进行断点调试. 首先,使用快捷键F12在当前页面打开Firebug,并切换到脚本选项卡. 其次,我们需要为指定的js代码添加断 ...

  3. linux下tomcat6无法显示图片验证码 少了图形插件

    linux下tomcat6无法显示图片验证码(windows下显示正常) 原创 2015年10月20日 10:31:47 3526 linux下tomcat6无法显示图片验证码(windows下显示正 ...

  4. 01 mongodb 的特点

    mongoDB 介绍(特点.优点.原理) 介绍:MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. 特点:高性能.易部署.易使用,存 ...

  5. 多媒体开发之---开源库ffmeg的log之子解析

    用了ffmeg快两年了,对其中的log甚是感兴趣,今天在做8148项目是,解读h264结构,看了<毕-新一代视频压缩编码标准h246> ,在第六章中的重排序里面看到了好熟悉的4x4矩阵zi ...

  6. Windows找出占用端口的进程

    第一步:找出监听指定端口的进程号: C:\> netstat -ao | findstr 443  TCP    0.0.0.0:443            Sean-NotePC:0     ...

  7. ResfulApi规范

    序号 方法 描述 1 GET 请求指定的页面信息,并返回实体主体. 2 HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头 3 POST 向指定资源提交数据进行处理请求(例如提 ...

  8. Windows下oracle-win-64-11g安装步骤

    一. Oracle 下载 官方下地址 http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.htm ...

  9. 异常:The JSP specification requires that an attribute name is preceded by whitespace

    The JSP specification requires that an attribute name is preceded by whitespace: 其实这句话翻译就是 属性后面要必须有空 ...

  10. JavaScript点击事件-一个按钮触发另一个按钮

    <input type="button" value="Click" id="C" onclick="Go();" ...