hdu 1160 FatMouse's Speed(最长不下降子序列+输出路径)
题意:
FatMouse believes that the fatter a mouse is, the faster it runs. To disprove this, you want to take the data on a collection of mice and put as large a subset of this data as possible into a sequence so that the weights are increasing, but the speeds are decreasing.
要求输出哪些FatMouse被选中了,按顺序输出。
思路:
最长不下降子序列,且要记录路径。
看代码
代码:
struct node{
    int weight, speed, index;
}
mice[10005];
int dp[10005];
int path[10005];
int finalPath[10005];
bool cmp(node a,node b){
    if(a.weight==b.weight)
        return a.speed>b.speed;
    return a.weight<b.weight;
}
int main(){
    int cn=0;
    int t1,t2;
    while(scanf("%d%d",&t1,&t2)!=EOF){
        ++cn;
        mice[cn].weight=t1;
        mice[cn].speed=t2;
        mice[cn].index=cn;
    }
    sort(mice+1,mice+1+cn,cmp);
    rep(i,1,cn){
        dp[i]=1;
        path[i]=i;
    }
    rep(i,2,cn){
        int temp=0;
        int tempPos=i;
        rep(j,1,i-1) if(mice[j].weight<mice[i].weight && mice[j].speed>mice[i].speed){
            if(dp[j]>temp){
                temp=dp[j];
                tempPos=j;
            }
        }
        dp[i]=temp+1;
        path[i]=tempPos;
    }
    int ans=-1;
    int ansPos=-1;
    rep(i,1,cn){
        if(dp[i]>ans){
            ans=dp[i];
            ansPos=i;
        }
    }
    printf("%d\n",ans);
    int cn2=0;
    while(path[ansPos]!=ansPos){
        finalPath[++cn2]=mice[ansPos].index;
        ansPos = path[ansPos];
    }
    printf("%d\n",mice[ansPos].index);
    rep2(i,cn2,1) printf("%d\n",finalPath[i]);
    return 0;
}
hdu 1160 FatMouse's Speed(最长不下降子序列+输出路径)的更多相关文章
- HDU 1160 FatMouse's Speed (最长上升子序列)
		题目链接 题意:n个老鼠有各自的重量和速度,要求输出最长的重量依次严格递增,速度依次严格递减的序列,n最多1000,重量速度1-10000. 题解:按照重量递增排序,找出最长的速度下降子序列,记录序列 ... 
- hdu 1160 FatMouse's Speed (最长上升子序列+打印路径)
		Problem Description FatMouse believes that the fatter a mouse is, the faster it runs. To disprove th ... 
- HDU 1160 FatMouse's Speed(要记录路径的二维LIS)
		FatMouse's Speed Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ... 
- HDU 1160 FatMouse's Speed (动态规划、最长下降子序列)
		FatMouse's Speed Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ... 
- HDU 1160  FatMouse's Speed 动态规划 记录路径的最长上升子序列变形
		题目大意:输入数据直到文件结束,每行两个数据 体重M 和 速度V,将其排列得到一个序列,要求为:体重越大 速度越低(相等则不符合条件).求这种序列最长的长度,并输出路径.答案不唯一,输出任意一种就好了 ... 
- HDU 1160 FatMouse's Speed (DP)
		FatMouse's Speed Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Su ... 
- HDU 1160 FatMouse's Speed (sort + dp)
		题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1160 给你一些老鼠的体重和速度,问你最多需要几只可以证明体重越重速度越慢,并输出任意一组答案. 结构体 ... 
- HDU - 1160 FatMouse's Speed 动态规划LIS,路径还原与nlogn优化
		HDU - 1160 给一些老鼠的体重和速度 要求对老鼠进行重排列,并找出一个最长的子序列,体重严格递增,速度严格递减 并输出一种方案 原题等于定义一个偏序关系 $(a,b)<(c.d)$ 当且 ... 
- HDU - 1160  FatMouse's Speed  【DP】
		题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1160 题意 给出一系列的 wi si 要找出一个最长的子序列 满足 wi 是按照升序排列的 si 是按 ... 
随机推荐
- 5.10学习总结——Activity的跳转和传值
			使用sharedpreference是对信息的存储,也可以进行传值,今天通过查找资料,学习了Activity的跳转和传值方法. 跳转 1.显示跳转 4种方法 1 2 3 4 5 6 7 8 9 10 ... 
- Hyper-V + WSL2与 VirtualBox 共存
			Hyper-V + WSL2与 VirtualBox 共存 这样的教程网上有很多,我先简单复述一下.真正麻烦的是我遇到的问题--开启 Hyper-V 后我的电脑会多出几个删不掉的虚拟显示器来,会在文章 ... 
- TP5框架下实现数据库的备份功能-tp5er/tp5-databackup
			1.安装扩展 方法一: composer require tp5er/tp5-databackup dev-master 方法二 composer.json: "require": ... 
- Windows系统如何找到占用端口的进程并杀掉
			1.先建立用户环境变量:C\WINDOWS/system32 2.输入:cmd,打开命令控制台,然后输入ipconfig 3.再输入:netstat -ano(可以找到所有的进程连接端口及对应PID) ... 
- 《使用Jmeter进行批量发送http请求》
			本文主要针对批量接口发送数据 一:接口测试的环境准备 1:JDK的安装:网上下载即可>1.6.0版本以上 2:jemeter工具的下载 (免安装):网上下载即可 3:插件的下载安装地址:http ... 
- yum 安装 php 环境
			如此简单 第一步: sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7. ... 
- [转载20131024]Nginx服务器漏洞的利用和修复方法
			本文主要分为两大部分,第一部分介绍了Nginx的一些常见安全漏洞的形成原因.利用方法,并给出了相应的解决办法;第二部分介绍了Nginx安全加固时需要关注的主要内容. Nginx(发音同engine x ... 
- 深入理解JAVA虚拟机《二》
			对象.内存回收和垃圾收集算法 一.引用计数算法(不可靠) 现在很多比较普遍的判断对象是否存活的算法就是引用计数算法,其大概原理是:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1:当 ... 
- 沈抚示范区·“华为云杯”2021全国AI大赛圆满落
			摘要:以赛促学,赛教结合!驱动AI产业繁荣发展 本文分享自华为云社区<云聚沈抚 · 智赢未来!沈抚示范区·"华为云杯"2021全国AI大赛圆满落幕>,作者:灰灰哒. 近 ... 
- 使用CEF(二)— 基于VS2019编写一个简单CEF样例
			使用CEF(二)- 基于VS2019编写一个简单CEF样例 在这一节中,本人将会在Windows下使用VS2019创建一个空白的C++Windows Desktop Application项目,逐步进 ... 
