ZOJ 1025 Wooden Sticks

原创 2015年11月18日 10:16:57

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=25

题目大意:锯木桩,每次小于前面开过机的长和厚不用建立,大于的话就得重新发动,发动时间为1,为求最小发动世界。

先快排(从大到小),在求下降子序列。

先快排(从小到大),再求有几个连续上升子序列,下面代码按这种做法做


代码:

#include<cstdio>
#include<algorithm>
#include<cstring>
#include<string>
#include<cmath>
#include<iostream>
using namespace std;
#pragma warning(disable:4996)

struct node
{
int l, w;
}data[2600];


bool cmp(struct node x, struct node y)
{
if (x.l != y.l)
return x.l < y.l;
else
return x.w < y.w;
}
int b[2060];
int n;
int LIS()
{
memset(b, 0, sizeof(b));
b[0] = 1;
int i, j;
for (i = 1; i < n; i++)
{
int k = 0;
for (j = 0; j < i; j++)
if (data[i].w < data[j].w && k < b[j])
k = b[j];
b[i] = k + 1;
}
int max = b[0];
for (i = 1; i < n; i++)
{
if (max < b[i])
max = b[i];
}
return max;




}


int main()
{
int T;
scanf("%d", &T);
while (T--)
{
//int n;
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
scanf("%d%d", &data[i].l, &data[i].w);
}
sort(data, data + n, cmp);
printf("%d\n", LIS());
}
//system("pause");
return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

zoj 1025 Wooden Sticks (DP子序列)(第100,纪念一下)

几天没做LIS问题了,变得好生疏啊! 首先声明,此种思路是从别人那看到的,感觉很神奇,就按照他的方法试了试,AC了,不过我还不明白到底为什么这样做就是答案,此种方法大致是:把序列按照 l,w的顺序二...

zoj 1025 || poj 1065 || hdoj1051 Wooden Sticks

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

动态规划-ZOJ 1025-WOODEN STICKS

题目:现有n根木棒,已知它们的长度和重量。要用一部木工机一根一根地加工这些木棒。该机器在加工过程中需要一定的准备时间,是用于清洗机器,调整工具和模版的。 木工机需要的准备时间如下: (1)第一根...

ZOJ - 1025 Wooden Sticks

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

ZOJ1025 POJ1065 HDU1051 Wooden Sticks,贪心算法版

这题我用的是贪心算法,对len排序后在weight中找总共有多少个没有公共交点的上升子序列。总的时间复杂度为O(N^2)。 /********************************...
  • neofung
  • neofung
  • 2011年09月09日 18:32
  • 1164

ZOJ1025 Wooden Sticks

题目:Description There is a pile of n wooden sticks. The length and weight of each stick are known in...
  • codeTZ
  • codeTZ
  • 2016年02月13日 13:15
  • 515

ZOJ1025Wooden Sticks 贪心算法

http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1025There is a pile of n wooden sticks....
  • zjd1023
  • zjd1023
  • 2011年05月14日 12:29
  • 423

ZOJ-1025(POJ-1065、HDU-1051) Wooden Sticks

Wooden Sticks Time Limit: 2 Seconds      Memory Limit: 65536 KB There is a pile of n wooden st...

1025-Wooden Sticks

经典的最长上升子序列:O(m*m) ---> O(m*logm) #include #include using namespace std; int cases; struct Node ...

ZOJ_Wooden Sticks

http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1025 题意:给定一些stick,有一定长度和重量,现在 需要用最少的分组...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ZOJ 1025 Wooden Sticks
举报原因:
原因补充:

(最多只允许输入30个字)