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

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

zoj 1025 || poj 1065 || hdoj1051 Wooden Sticks

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

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

1025-Wooden Sticks

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

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...

动态规划-ZOJ 1025-WOODEN STICKS

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

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

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

zoj-1025 Wooden Sticks有关贪心和动态规划

Wooden Sticks 这道题的大意是加工木棍,按长度length和重量weight,如果前一根木棍的l 和重量w,都小于或等于后一根的length (l' and weight w'),即 if...

Wooden Sticks

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

Wooden Sticks

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

Wooden Sticks

题目: Description There is a pile of n wooden sticks. The length and weight of each st...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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