hdu 1160 DP 最长子序列问题
来源:互联网 发布:神经元网络芯片 编辑:程序博客网 时间:2024/06/05 21:04
//Accepted 1160 15MS 264K 1027 B C++
//dp题 转化为求最长子序列问题
#include<iostream>
#include<cstdio>
#include<string>
#include<algorithm>
using namespace std;
struct node{
int weight;
int speed;
int order;
};
node mice[1002];
bool cmp(node a,node b)
{
if(a.weight != b.weight)
return a.weight < b.weight;
else
return a.speed > b.speed;
}
int b = 1,f[1002],d[1002],res[1002];
int main()
{
int w,s,n,size;
int i,j,num;
size = 1;
while(scanf("%d%d",&mice[b].weight,&mice[b].speed)!= EOF)
{
mice[b].order = b;
b++;
}
sort(&mice[1],&mice[1] + b - 1,cmp);
d[1] = 1;
num = 1;
for(i = 1; i < b; i++)
{
f[i] = 1;
for(j = 1; j < i; j++)
{
if(f[j] + 1 > f[i] && (mice[j].weight < mice[i].weight && mice[j].speed > mice[i].speed))
{
f[i] = f[j] + 1;
d[i] = j;
if(f[i] >= size)
{
size = f[i];
num = i;
}
}
}
}
b = size;
for(i = num; i >= 1; i = d[i])
{
res[b--] = mice[i].order;
}
printf("%d/n",size);
for(i = 1; i <= size; i++)
{
printf("%d/n",res[i]);
}
}
- hdu 1160 DP 最长子序列问题
- HDU 1160 FatMouse's Speed (dp, 最长子序列)
- hdu 1160 dp (二维最长上升子序列 记录路径
- hdu--1231--最长子序列(DP)
- hdu 1003 最大最长子序列 dp
- HDU 5087(DP 次最长子序列)
- 最长公共子序列问题 经典DP
- [dp]最长公共子序列问题
- DP---LCS 最长公共子序列问题
- 用DP解决最长子序列问题
- hdu 1159 最长公共子序列问题
- hdu 1257 最长上升子序列问题
- 最长递增公共子序列dp(hdu 1423 hdu 4512)
- HDU 1503 最长公共子序列问题---加强版(路径打印)dp
- 最长公共子序列 最长递增子序列(和) 最长递增公共子序列 最长(连续)子序列乘积(HDU)--dp
- hdu 1159 Common Subsequence(DP最长公共子序列)
- hdu 1080 (DP LCS最长公共子序列)
- hdu 1080 Human Gene Functions (DP + 最长公共子序列)
- Thrift 框架分析1
- asp.net生成缩略图
- 风险价值法(VAR)
- 刷新指定父窗口
- CoCreateInstanceEx详解
- hdu 1160 DP 最长子序列问题
- 网站得在线客服
- 2010世界杯8强图
- FTP附件上传与下载
- python 实现svn批量删除文件功能
- 开张了
- 关于什么时候使用CoTaskMemAlloc/CoTaskMemFree来申请/释放内存
- Socket总结
- 转 “automation服务器不能创建对象”的问题的解决方案总结大全