#include<iostream>

#include<algorithm>

using namespace std;

struct SIZE

{

int l;

int w;

}sticks[5005];

int flag[5005];

bool cmp(const SIZE &a,const SIZE &b)//这里是排序!

{//写排序函数的时候要特别的小心!

//if(a.w!=b.w)//这里写错了,这里表示如果重量不等,按照长度排,如果重量相等,则按照重量排!(没意义!)

if(a.l!=b.l)

return a.l>b.l;//长度不等时按照长度排,从大到小排

else

return a.w>b.w;//长度相等时,再按照重量从大到小排列

}

int main()

{

int n,min,cases;

int i,j,s;

cin>>cases;

for(j=0;j<cases;j++)

{

cin>>n;

for(i=0;i<n;i++)

{

cin>>sticks[i].l>>sticks[i].w;

flag[i]=0;

}

sort(sticks,sticks+n,cmp);

s=0;

for(i=0;i<n;i++)

{

if(flag[i]) continue;

min=sticks[i].w;

for(int j=i+1;j<n;j++)

{

if(min>=sticks[j].w && !flag[j])

{

min=sticks[j].w;

flag[j]=1;

}

}

s++;

}

cout<<s<<endl;

}

//system("pause");

return 0;

}

  1. #include<iostream>
  2. #include<algorithm>
  3. using namespace std;
  4. struct SIZE
  5. {
  6. int l;
  7. int w;
  8. }sticks[5005];
  9. int flag[5005];
  10. bool cmp(const SIZE &a,const SIZE &b)//这里是排序!
  11. {//写排序函数的时候要特别的小心!
  12. //if(a.w!=b.w)//这里写错了,这里表示如果重量不等,按照长度排,如果重量相等,则按照重量排!(没意义!)
  13. if(a.l!=b.l)
  14. return a.l>b.l;//长度不等时按照长度排,从大到小排
  15. else
  16. return a.w>b.w;//长度相等时,再按照重量从大到小排列
  17. }
  18. int main()
  19. {
  20. int n,min,cases;
  21. int i,j,s;
  22. cin>>cases;
  23. for(j=0;j<cases;j++)
  24. {
  25. cin>>n;
  26. for(i=0;i<n;i++)
  27. {
  28. cin>>sticks[i].l>>sticks[i].w;
  29. flag[i]=0;
  30. }
  31. sort(sticks,sticks+n,cmp);
  32. s=0;
  33. for(i=0;i<n;i++)
  34. {
  35. if(flag[i]) continue;
  36. min=sticks[i].w;
  37. for(int j=i+1;j<n;j++)
  38. {
  39. if(min>=sticks[j].w && !flag[j])
  40. {
  41. min=sticks[j].w;
  42. flag[j]=1;
  43. }
  44. }
  45. s++;
  46. }
  47. cout<<s<<endl;
  48. }
  49. //system("pause");
  50. return 0;
  51. }

hdu1051的更多相关文章

  1. hdu1051(LIS | Dilworth定理)

    这题根据的Dilworth定理,链的最小个数=反链的最大长度 , 然后就是排序LIS了 链-反链-Dilworth定理 hdu1051 #include <iostream> #inclu ...

  2. HDU1051 贪心

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

  3. hdu1051 Wooden Sticks

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1051 大意:求最少升序序列的个数. #include <cstdio> #include &l ...

  4. HDU1051 Wooden Sticks 【贪婪】

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

  5. HDU1051:Wooden Sticks

    Problem Description There is a pile of n wooden sticks. The length and weight of each stick are know ...

  6. hdu1051 Wooden Sticks---贪心

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1051 题目大意:给你n根木棍的长度和重量.根据要求求出制作该木棍的最短时间.建立第一个木棍需要1分钟 ...

  7. Hdu1051 Wooden Sticks 2017-03-11 23:30 62人阅读 评论(0) 收藏

    Wooden Sticks Problem Description There is a pile of n wooden sticks. The length and weight of each ...

  8. hdu1051 Wooden Sticks(贪心+排序,逻辑)

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

  9. Wooden Sticks(hdu1051)

    Wooden Sticks Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submi ...

随机推荐

  1. spring boot拦截器

    实现自定义拦截器只需要3步: 1.创建我们自己的拦截器类并实现 HandlerInterceptor 接口. 2.创建一个Java类继承WebMvcConfigurerAdapter,并重写 addI ...

  2. Delphi - 数组和结构体

    技术交流,DH讲解. 记得很早之前我就说过,数组和结构体在内存中其实一样的,他们都是连续分布的.例如: ? 1 2 3 4 TMyStruct = record   A,B,C:Integer; en ...

  3. Cuckoo hash算法分析——其根本思想和bloom filter一致 增加hash函数来解决碰撞 节省了空间但代价是查找次数增加

    基本思想: cuckoo hash是一种解决hash冲突的方法,其目的是使用简单的hash 函数来提高hash table的利用率,同时保证O(1)的查询时间 基本思想是使用2个hash函数来处理碰撞 ...

  4. Python--基础文件读写操作

    1,open(),对文件进行读写操作之前,要先打开文件,获取文件的句柄: 懒人专用方法,文件打开后不用关闭 with open(r'somefile.txt','r+',encoding='utf8' ...

  5. hibernate的update、merge和saveOrUpdate的区别(转)

    1.首先 saveOrUpdate返回void 也就是什么都不返回 而merge会返回一个对象 2.其次 saveOrUpdate的做法是:自动判断该对象是否曾经持久化过,如果曾持久化过则使用upda ...

  6. java--Hibernate实现分页查询

    首先在Action类定义当前页的值 private Integer currPage = 1 setter,getter 在spring IOC容器进行注入该变量 在Action类写一个findAll ...

  7. codeforces 631B B. Print Check

    B. Print Check time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  8. freeMarker(十一)——模板语言之指令

    学习笔记,选自freeMarker中文文档,译自 Email: ddekany at users.sourceforge.net 1.assign 概要 <#assign name1=value ...

  9. Arc066_E Addition and Subtraction Hard

    传送门 题目大意 给定一个加减法的表达式,让你任意的添加合法的括号对,使的表达式最大. 题解 考虑到任意左括号一定加在减号右边,那么对于第一个左括号,与该左括号相邻的只含有加号的子序列的贡献一定为负, ...

  10. 浏览器全屏的JS代码实现

    方法一:该方法是从一个网上的效果看到不错,然后自己就拿来下来实验了一下,还是比较满意度,下面直接给出代码 <!DOCTYPE HTML> <html lang="en-US ...