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

1A 破题敲了一个多小时 最长上升子序列和最长下降子序列合起来 并把路径保留下来 题中是可以打乱顺序去找的 先按W上升或S下降排下序 再按最升和最降做

View Code

 1 #include <iostream>
 2 #include<cstdio>
 3 #include<string.h>
 4 #include<algorithm>
 5 using namespace std;
 6 struct node
 7 {
 8     int w,s,xu;
 9 }q[1011];
10 bool cmp(node a,node b)
11 {
12     return a.w<b.w;
13 }
14 int dp[1011],da[1011][1011];
15 int main()
16 {
17     int i = 0,j,k,n,m,g,x;
18     while(scanf("%d%d",&q[i].w,&q[i].s)!=EOF)
19     {
20         if(q[i].w==0)
21         break;
22         q[i].xu = i+1;
23         i++;
24     }
25     sort(q,q+i,cmp);
26     for(j = 0;  j <i ; j++)
27         da[j][1] = q[j].xu;
28     dp[0] = 1;
29     x = 0;
30     int max = 1;
31     for(j = 1 ; j < i ; j++)
32     {
33         int tmax = 1;
34         for(k = 0 ; k < j ; k++)
35         if(q[k].w<q[j].w&&q[k].s>q[j].s&&dp[k]+1>tmax)
36         {
37             tmax = dp[k]+1;
38             for(g = 1 ; g <= dp[k] ; g++)
39             da[j][g] = da[k][g];
40             da[j][tmax] = q[j].xu;
41         }
42         dp[j] = tmax;
43         if(tmax>max)
44         {
45             max = tmax;
46             x = j;
47         }
48     }
49     printf("%d\n",max);
50     for(i = 1 ; i <= max ; i++)
51     printf("%d\n",da[x][i]);
52     return 0;
53 }

转载于:https://www.cnblogs.com/shangyu/archive/2012/09/05/2672431.html

hdu1160FatMouse's Speed(DP)相关推荐

  1. HDU1160 FatMouse's Speed —— DP

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1160 FatMouse's Speed Time Limit: 2000/1000 MS ...

  2. HDU 1160 FatMouse#39;s Speed DP题解

    本题就先排序老鼠的重量,然后查找老鼠的速度的最长递增子序列,只是由于须要按原来的标号输出,故此须要使用struct把三个信息打包起来. 查找最长递增子序列使用动态规划法.主要的一维动态规划法了. 记录 ...

  3. 4.15 每周作业 —— 简单DP

    免费馅饼 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submissi ...

  4. self_drive car_学习笔记--第10课:路径规划

    前言:这节课围绕无人车的路径规划开讲,包含规划时采用的一些算法思路.一些规划方式,最后以Apollo项目规划部分为例子,介绍一下其中所使用的一些规划算法以及方式.很菜现在,有些理解错误地方,还望大大们 ...

  5. 【自动驾驶规划】综述(一)

    无人驾驶规划概要 Overview What is motion planning? Motion planning 的三个领域 如何解决一个Motion Planning问题? 基本Planning ...

  6. Codeforces Gym 100338H High Speed Trains 组合数学+dp+高精度

    原题链接:http://codeforces.com/gym/100338/attachments/download/2136/20062007-winter-petrozavodsk-camp-an ...

  7. 动态规划——区间dp

    在利用动态规划解决的一些实际问题当中,一类是基于区间上进行的,总的来说,这种区间dp是属于线性dp的一种.但是我们为了更好的分类,这里仍将其单独拿出进行分析讨论. 让我们结合一个题目开始对区间dp的探 ...

  8. NYOJ 309 BOBSLEDDING(dp)

    BOBSLEDDING 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 Dr.Kong has entered a bobsled competition because ...

  9. hdu1160 dp

    hdu1160 题意:给出很多老鼠的数据,分别是它们的体重和跑速,为了证明老鼠越重跑得越慢,要找一组数据,由若干个老鼠组成,保证老鼠的体重依次增加而跑速依次减小,问这组数据最多能有多少老鼠,并按体重从 ...

最新文章

  1. 用完U盘忘记安全退出了,会造成数据丢失吗
  2. linux内核编译 menuconfig详解,Linux内核编译menuconfig介绍
  3. Day 4 - PB级规模数据的Elasticsearch分库分表实践
  4. 经典C语言程序100例之九一
  5. postgis启动_postgresql的安装和启动方法
  6. Nginx负载均衡策略之least_conn
  7. matlab常用函数——文件操作函数
  8. [Leetcode][第461题][JAVA][汉明距离][位运算][Brian Kernighan]
  9. 【转】Word 2010 取消拼写/语法检查,隐藏红线/绿线
  10. sql server 常用语句
  11. linux jdk1.7 tomcat
  12. jQuery之创建节点
  13. 一天不学习我浑sen难受(一)—一致性哈希/Hash环学习笔记
  14. 基于局部自适应阈值的图像二值化
  15. Pyhon 获取文件夹的大小统计
  16. 服务启动类型:自动、自动(延时启动)、手动、禁用
  17. 野路子玩Qt,第十集,八音盒
  18. 分布式系统上下层概念抽象-(2)
  19. Windows10下查看网卡MAC地址的方法
  20. 人生是一场独自的修行

热门文章

  1. 2022-2028年全球与中国人字拖市场研究及前瞻分析报告
  2. 数据结构(04)— 线性顺序表实战
  3. 揭富人与穷人21个不同思维 看富豪如何脱颖而出
  4. pytorch实现BiLSTM+CRF用于NER(命名实体识别)
  5. tf.reduce_sum()函数
  6. 服务化部署框架Paddle Serving
  7. 视频系列:RTX实时射线追踪(下)
  8. 图像零交叉点,视频生成,视频识别,视频摘要,视频浓缩
  9. Django入门之开发环境搭建1.1
  10. C++ 重载运算符 operator