传送门:

ZOJ:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=108

HDU :http://acm.hdu.edu.cn/showproblem.php?pid=1160

题目大意:

输入好多组w 和 s 代表老鼠的重量和速度,要求找出满足 w 严格 升序, s严格降序的最大长度和他们的序号。

我是先排序,然后和ZOJ 1136 Longest Ordered Subsequence (http://blog.csdn.net/murmured/article/details/14646445)一样。设dp [ i] 为 以 i 结尾的升序列的最大值,那么从 i 开始向前查找,若 a[ j ]
< a [ i ] 则 比较一下 dp的大小。

同时要存下序列。

虽然和题目的样例输出不一样,但这是正确的,因为解不唯一。题目也只要求一组解。

分析如图:

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
struct mouse
{
int id;
int weight;
int speed;
}m[1024];
int dp[1024];
int data[1024][1024];
bool operator < (const mouse &a,const mouse &b)
{
return a.weight < b.weight;
} int main()
{
int w,s,len=1;
while(~scanf("%d%d",&w,&s))
{
m[len].id=len;
m[len].weight=w;
m[len].speed=s;
len++;
} sort(m,m+len); dp[1]=1;
data[1][1]= m[1].id;
for(int i=2;i<len;i++)
{
int temp=0;
int index=i;
for(int j=i-1;j>=1;j--)
{
if( m[j].speed > m[i].speed && m[i].weight!=m[j].weight)
{
if(temp < dp[j])
{
temp=dp[j];
index=j;
}
}
} dp[i]=temp+1;
if(index!=i)
{
memcpy(data[i],data[index],sizeof(data[index]) );
data[ i ][ dp[i] ] = m[i].id;
}
else
data[i][1]= m[i].id;
} int ans=0,index=1;
for(int i=1;i<len;i++)
{
if(ans< dp[i])
{
ans= dp[i] ;
index= i;
}
} printf("%d\n",ans);
for(int i=1;i<=ans;i++)
{
printf("%d\n",data[index][i]);
}
return 0;
}

最新文章

  1. 看完你也能独立负责项目!产品经理做APP从头到尾的所有工作流程详解!
  2. .net mvc利用NPOI导入导出excel
  3. 因为相同类型的其他实体已具有相同的主键值。在使用 &quot;Attach&quot; 方法或者将实体的状态设置为 &quot;Unchanged&quot; 或 &quot;Modified&quot; 。。。
  4. Linux C _exit函数与exit函数的联系与区别
  5. 今天想用jquery来实现div的拖放功能
  6. Google Code jam Qualification Round 2015 --- Problem A. Standing Ovation
  7. http://blog.csdn.net/congcong68/article/details/39252897
  8. C#获取本周周一的日期
  9. Win 7英文系统显示中文乱码的解决(转)
  10. Win7 + VS2015 + CMake3.6.1-GUI编译库
  11. SheetOffice控件使用分享
  12. python 安装与pip安装
  13. java 与 CDH kafka集成
  14. java百度云推送
  15. 关于Newtonsoft.Json,反序列化jason,内容有key的转换
  16. 第一部分:开发前的准备-第八章 Android SDK与源码下载
  17. 1) 上传多张图片时 ,对 $_FILES 的处理. upload ; 2)fileinput 上传多张图片. 3) 修改,删除的时候删除原来的资源,图片 update, delete , 删除 4)生成器中两个字段上传图片的时候,要修改生成器生成的代码
  18. POJ 2546
  19. UCOS2系统内核讲述(五)_初始化TCB详情
  20. mysql数据库使用sql查询数据库大小及表大小

热门文章

  1. 跨域使用onmessage实现方式
  2. C_数组详解
  3. ErrorSet
  4. css3--根据数据加载显示的一个动画
  5. 【Uva 12093】Protecting Zonk
  6. 决策树之C4.5算法学习
  7. wordpress 加速主题的静态资源
  8. android audio
  9. BZOJ2716: [Violet 3]天使玩偶(KD-Tree)
  10. CList 点击表头排序 (2)两种排序方法中其中一种