hdu 1160 FatMouse's Speed
来源:互联网 发布:mac有必要安装office 编辑:程序博客网 时间:2024/06/16 11:46
FatMouse's Speed
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 9174 Accepted Submission(s): 4061
题目链接点击打开链接
题目大意:给出n种老鼠的体重以及他们的速度 要求找出按体重严格递增速度严格递减的最多的老鼠序列的长度以其位置
先用sort按体重递增或速度递减排序 然后就转化为求最长递减或者递增的子序列长度了状态方程为dp[ i ]=max(dp[ j ]+1 );条件是a[i].w>a[ j ].w&&a[ i ].s<a[ j ].s;
要注意的是用了sort排序后老鼠的位置就会改变所以在定义结构体时还要多定义一个变量用于储存老鼠最初始时的位置
#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;struct node{ int w,s;//重量及速度 int num;//记录元素的初始位置}a[1005];int p[1005];//标记每个序列的元素的位置int cpp(const node x,const node y){ if(x.w!=y.w) return x.w<y.w; else return x.s>y.s;}void putid(int x){ int y=p[x]; if(y==0) { printf("%d\n",a[x].num); return ; } putid(y); printf("%d\n",a[x].num);}int main(){ int k,t,i,sum[1005],j;//sum用于记录每个递增序列的长度 int n,m,maxn;; t=1; while(scanf("%d%d",&n,&m)!=EOF) { a[t].w=n; a[t].s=m; a[t].num=t; t++; } sort(a+1,a+t,cpp);//按重量由小到大排序 for(i=1;i<=t;i++) sum[i]=1; memset(p,0,sizeof(p)); for(i=2;i<t;i++) { node maxn=a[i]; for(j=1;j<i;j++) if(maxn.w>a[j].w&&maxn.s<a[j].s)//求满足体重严格递增速度严格递减的最长序列 { if(sum[i]<sum[j]+1) { sum[i]=sum[j]+1; p[i]=j;//将序列中元素的位置记录 } } } int max=sum[1],flag=1,zb[1005]; memset(zb,0,sizeof zb); for(i=1;i<t;i++) { if(max<sum[i]) { max=sum[i]; flag=i;//标记最长序列的位置便于找到其中的元素的位置 } } printf("%d\n",max); putid(flag); return 0;}
0 0
- HDU 1160 FatMouse's Speed
- HDU 1160 - FatMouse's Speed
- hdu FatMouse's Speed 1160
- HDU-1160-FatMouse's Speed
- hdu 1160 FatMouse's Speed
- hdu 1160 FatMouse's Speed
- Hdu 1160 FatMouse's Speed
- hdu 1160 FatMouse's Speed
- hdu 1160 FatMouse's Speed
- HDU 1160 FatMouse's Speed
- HDU 1160 FatMouse's Speed
- hdu 1160 FatMouse's Speed
- HDU-1160 FatMouse's Speed
- hdu 1160 FatMouse's Speed
- hdu 1160 FatMouse's Speed
- hdu 1160 FatMouse's Speed
- hdu 1160 - FatMouse's Speed
- hdu 1160 FatMouse's Speed
- Html.ActionLink几种参数格式
- pat1050
- 基于json-lib.jar包 创建JSONObject的四个常用方法
- hdu1539Shredding Company dfs
- POJ 1915 Knight Moves 双向BFS 入门
- hdu 1160 FatMouse's Speed
- 分享给有缘人——给明年依然年轻的我们:欲望、外界、标签、天才、时间、人生目标、现实、后悔、和经历
- Esper事件处理引擎_4_XML 数据结构处理
- 单链表相关操作
- POJ 1984 Navigation Nightmare (数据结构-并查集)
- UVA - 705 Slash Maze(dfs+floodfiil)
- ssh中“Host key verification failed.“的解决方案
- 如何在NCBI实现大批量数据的一一对应
- leetcode 刷题之路 32 Merge Intervals