题目:FatMouse’s Speed

题解:采用O(n^2)的LIS算法,用path记录路径

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int>P;
const int N = 1e5+10;
const int inf = 0x7FFFFFFF;struct str{int index;int x,y;
}a[N];
int dp[N],n,path[N];/*
1000 4000
1100 3000
6000 2100
500 2000
6000 2000
2000 1900
8000 1400
6008 1300
6000 1200
*/
bool cmp(str a,str b){return a.y>b.y||((a.y==b.y&&a.x<b.x));
}
void solve(){stack<int>st;sort(a,a+n,cmp);int t,len = 0;/*for(int i = 0;i < n;i++){cout<<a[i].x<<" "<<a[i].y<<" "<<a[i].index<<endl;}cout<<endl;for(int i = 0;i < n;i++){printf("%3d",i);}cout<<endl;*/for(int i = 0;i < n;i++){dp[i] = 1;path[i] = i;for(int j = 0;j < i;j++){if(a[j].x < a[i].x && a[j].y > a[i].y){if(dp[j]+1 > dp[i]){dp[i] = dp[j]+1;path[i] = j;}}}if(dp[i] > len){len = dp[i];t = i;}//    printf("%3d",dp[i]);}/*cout<<endl<<endl;for(int i = 0;i < n;i++){printf("%3d",path[i]);}cout<<endl;*/while(t != path[t]){st.push(t);t = path[t];}st.push(t);cout<<len<<endl;while(!st.empty()){t = st.top();st.pop();cout<<a[t].index<<endl;}
}
int main(){int x,y;while(~scanf("%d%d",&x,&y)){a[n].index = n+1;a[n].x = x;a[n++].y = y;}solve();return 0;
}/*
6008 1300
6000 2100
500 2000
1000 4000
1100 3000
6000 2000
8000 1400
6000 1200
2000 19001000 4000
1100 3000
2000 1900
8000 1400
*/

FatMouse's Speed(LIS+路径记录)相关推荐

  1. LIS路径记录(UVA481)

    出自一次很失败的开学测试 LIS自然会做 可以参见:https://blog.csdn.net/Radium_1209/article/details/79704234 由于对于LIS的nlogn算法 ...

  2. HDU1160 FatMouse's Speed —— DP

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

  3. 基于STM32跑步路径记录

    基于STM32跑步路径记录   随着科技不断进步,电子化设备不断进入涌入我们的日常生活.生活水平的提高,各项健身运动应运而生,然后,健身运动不能盲目进行,科学的健身方式才能有效的提升我们自身的身体素质 ...

  4. J - FatMouse's Speed

    J - FatMouse's Speed 题目入口:J - FatMouse's Speed 解题思路 这道题要求我们排出最大的体重越来越大速度越来越慢的老鼠序列. 首先我们需要一个结构体存放每个老鼠 ...

  5. floyd和迪杰斯特拉算法的路径记录方法。

    先说迪杰斯特拉,先看题目吧. 题目1 这题就是迪杰斯特拉的路径记录算法题啊,还记录了最小路径个数. 代码如下 #include<iostream> #include<cstdio&g ...

  6. 序列输出ZOJ1108 FatMouse's Speed

    PS:今天上午,非常郁闷,有很多简单基础的问题搞得我有些迷茫,哎,代码几天不写就忘.目前又不当COO,还是得用心记代码哦! ZOJ1108 FatMouse's Speed 最长下落子序列,这题挺好的 ...

  7. poj--3984--迷宫问题(bfs+路径记录)

    迷宫问题 Time Limit: 1000MS   Memory Limit: 65536KB   64bit IO Format: %I64d & %I64u Submit Status D ...

  8. 01背包、完全背包、多重背包问题的C++实现及路径记录

    这里主要实现路径记录,只求最值问题移步 01背包.完全背包.多重背包问题的C++实现 以下均打印输出路径,即装入背包的物品序号,和最大值. 01背包问题 #include <iostream&g ...

  9. FatMouse's Speed

    FatMouse's Speed // File Name: hdu1160.cpp // Author: rudolf // Created Time: 2013年04月25日 星期四 14时47分 ...

最新文章

  1. Notepad++ 搜索功能学习总结
  2. 01_Nginx安装,nginx下部署项目,nginx.conf配置文件修改,相关文件配置
  3. pci总线定时协议_汽车总线测试的“解忧杂货店”
  4. C++调用Python函数
  5. 阿里云:助力数字经济新基建,打造物联网安全基石
  6. 前端主流的 Javascript,缺失了哪些技能?
  7. 2012年10月国庆长假天津-内蒙古自驾游之我们在路上
  8. 【基础】吴恩达机器学习笔记 - 线性回归 代价函数 梯度下降
  9. 洛谷P2024 [NOI2001]食物链
  10. mysql备份恢复_mysql常用的备份和恢复方法
  11. 线性表——顺序表——时间复杂度计算
  12. 反相高低频技术磨皮法
  13. JS数组ES3-ES6常用方法
  14. 计算机的声卡怎么安装教程,外置声卡怎么连接电脑 外置声卡安装教程【图文】...
  15. 网络地址转换--PAT配置
  16. 使用搜狗浏览器的教育网代理进行下载
  17. 金蝶KIS商贸版实现'条码标签打印'功能进行商品条码打印
  18. kube-apiserver准入
  19. Android Studio Chipmunk 正式版下载地址
  20. 我的Java学习之路(第十九天)------ 排序算法(冒泡排序、快速排序)

热门文章

  1. 数据预处理第6讲:正态变换
  2. [Android踩坑]解决百度定位无法自动定位的问题
  3. STM32WB55无限固件库升级文档说明和脚本文件升级程序免输入命令
  4. 【python】提高图像质量
  5. Google天气预报API
  6. 【笔记】SQL 6-2
  7. 灵魂有香气的女子李筱懿:张弛有度做事,努力也需理智
  8. 【历史上的今天】11 月 9 日:TensorFlow 问世;Mozilla Firefox 发布标准版;Intel 和微软分道扬镳
  9. 用计算机进行会计核算与手工会计核算,计算机会计核算与手工会计核算有哪些异同...
  10. Python3进阶--正则表达式、json、logging日志配置、数据库操作、枚举、闭包、匿名函数和高阶函数、time、datetime