hdu1051
#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;
}
- #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;
- }
hdu1051的更多相关文章
- hdu1051(LIS | Dilworth定理)
这题根据的Dilworth定理,链的最小个数=反链的最大长度 , 然后就是排序LIS了 链-反链-Dilworth定理 hdu1051 #include <iostream> #inclu ...
- HDU1051 贪心
Wooden Sticks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
- hdu1051 Wooden Sticks
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1051 大意:求最少升序序列的个数. #include <cstdio> #include &l ...
- HDU1051 Wooden Sticks 【贪婪】
Wooden Sticks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
- HDU1051:Wooden Sticks
Problem Description There is a pile of n wooden sticks. The length and weight of each stick are know ...
- hdu1051 Wooden Sticks---贪心
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1051 题目大意:给你n根木棍的长度和重量.根据要求求出制作该木棍的最短时间.建立第一个木棍需要1分钟 ...
- 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 ...
- hdu1051 Wooden Sticks(贪心+排序,逻辑)
Wooden Sticks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
- Wooden Sticks(hdu1051)
Wooden Sticks Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submi ...
随机推荐
- spring boot拦截器
实现自定义拦截器只需要3步: 1.创建我们自己的拦截器类并实现 HandlerInterceptor 接口. 2.创建一个Java类继承WebMvcConfigurerAdapter,并重写 addI ...
- Delphi - 数组和结构体
技术交流,DH讲解. 记得很早之前我就说过,数组和结构体在内存中其实一样的,他们都是连续分布的.例如: ? 1 2 3 4 TMyStruct = record A,B,C:Integer; en ...
- Cuckoo hash算法分析——其根本思想和bloom filter一致 增加hash函数来解决碰撞 节省了空间但代价是查找次数增加
基本思想: cuckoo hash是一种解决hash冲突的方法,其目的是使用简单的hash 函数来提高hash table的利用率,同时保证O(1)的查询时间 基本思想是使用2个hash函数来处理碰撞 ...
- Python--基础文件读写操作
1,open(),对文件进行读写操作之前,要先打开文件,获取文件的句柄: 懒人专用方法,文件打开后不用关闭 with open(r'somefile.txt','r+',encoding='utf8' ...
- hibernate的update、merge和saveOrUpdate的区别(转)
1.首先 saveOrUpdate返回void 也就是什么都不返回 而merge会返回一个对象 2.其次 saveOrUpdate的做法是:自动判断该对象是否曾经持久化过,如果曾持久化过则使用upda ...
- java--Hibernate实现分页查询
首先在Action类定义当前页的值 private Integer currPage = 1 setter,getter 在spring IOC容器进行注入该变量 在Action类写一个findAll ...
- codeforces 631B B. Print Check
B. Print Check time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- freeMarker(十一)——模板语言之指令
学习笔记,选自freeMarker中文文档,译自 Email: ddekany at users.sourceforge.net 1.assign 概要 <#assign name1=value ...
- Arc066_E Addition and Subtraction Hard
传送门 题目大意 给定一个加减法的表达式,让你任意的添加合法的括号对,使的表达式最大. 题解 考虑到任意左括号一定加在减号右边,那么对于第一个左括号,与该左括号相邻的只含有加号的子序列的贡献一定为负, ...
- 浏览器全屏的JS代码实现
方法一:该方法是从一个网上的效果看到不错,然后自己就拿来下来实验了一下,还是比较满意度,下面直接给出代码 <!DOCTYPE HTML> <html lang="en-US ...