题意是仅仅求一次的顺序。先依照速度从大到小排序,速度想等到按体重增序排列。

然后基本就变成了求已定顺序序列的最长递增序列递增,跟那个求一致最大序列和的基本一致。

dp【i】里存储的是到当前i最大的递增序列个数最大的数。

dp[i+1]就是在a【i+1】大于前面的a【j】的情况下,dp【i+1】=dp【j】+1;

输出的就是从最大的dp【】值从后往前输出,所以用了个栈改成从前往后。

以为题意仅仅输出一个正确序列就好。

思路是从開始的结构体排序。打一打就想出来的。bug,调了一天。确定dp【】最大值得时候和

须要记录角标。開始就弄混了,这个bug也是通过出数据找出来的。

第一次交没有输出序列个数,wa了2次。

ac代码:

#include<cstdio>
#include<algorithm>
#include<stack>
using namespace std;
stack<int > s; struct mice
{
int x,y,z;
bool operator < (const mice&b ) const{ if(y==b.y) return x<b.x;
return y>b.y;
}
}a[1010];
int dp[1010];
int main()
{
int i=0;
while(scanf("%d%d",&a[i].x,&a[i].y)!=EOF) { a[i].z=i+1; i++; }
// printf("\n"); // printf("i==%d\n",i); sort(a,a+i); // for(int j=0;j<i;j++) printf("%d %d %d\n",a[j].x,a[j].y,a[j].z); int maxx = 0,maxIndex=0; for(int j=0;j<i;j++)
for(int k=0;k<j;k++){
if(a[k].x<a[j].x ) dp[j]=max(dp[k]+1,dp[j]);
if(dp[j]>maxx) { maxx = dp[j]; maxIndex = j; } }
// printf("maxx==%d\n",maxx); // for(int j=0;j<i;j++) printf("%d ",dp[j]);
// printf("\n"); // printf("%d\n",a[maxx].z);
// printf("%d\n",dp[maxx]+1);
s.push(a[maxIndex].z);
printf("%d\n",dp[maxIndex]+1);
// printf("%d\n",a[maxIndex].z);
dp[maxIndex]-=1;
for(int k=maxIndex-1;k>=0;k--){ if(dp[k]==dp[maxIndex]){
// printf("%d\n",dp[k]);
// printf("%d\n",a[k].z); s.push(a[k].z);
dp[maxIndex]-=1;
}
} while(!s.empty()){
printf("%d\n",s.top());
s.pop();
} return 0;
}
/**
1 5
1 3
2 4
2 2
3 3
4 4
1 3
4 2
5 1
^Z 1 5 1
2 4 3
4 4 6
1 3 2
1 3 7
3 3 5
2 2 4
4 2 8
5 1 9
0 1 2 0 0 2 1 3 4
4
5
3
1
*/
/**
1 5
1 3
2 4
2 2
3 3
4 4
1 3
4 2
5 1
^Z 1 5 1
2 4 2
3 3 3
4 2 4
5 1 5
0 1 2 3 4
5
1
2
3
4
5 */

dp求顺序hdu1160的更多相关文章

  1. HDU3853-LOOPS(概率DP求期望)

    LOOPS Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 125536/65536 K (Java/Others) Total Su ...

  2. HDU 4514 - 湫湫系列故事——设计风景线 - [并查集判无向图环][树形DP求树的直径]

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4514 Time Limit: 6000/3000 MS (Java/Others) Memory Li ...

  3. 浅谈关于树形dp求树的直径问题

    在一个有n个节点,n-1条无向边的无向图中,求图中最远两个节点的距离,那么将这个图看做一棵无根树,要求的即是树的直径. 求树的直径主要有两种方法:树形dp和两次bfs/dfs,因为我太菜了不会写后者这 ...

  4. Poj 2096 (dp求期望 入门)

    / dp求期望的题. 题意:一个软件有s个子系统,会产生n种bug. 某人一天发现一个bug,这个bug属于某种bug,发生在某个子系统中. 求找到所有的n种bug,且每个子系统都找到bug,这样所要 ...

  5. hdu4035 Maze (树上dp求期望)

    dp求期望的题. 题意: 有n个房间,由n-1条隧道连通起来,实际上就形成了一棵树, 从结点1出发,开始走,在每个结点i都有3种可能: 1.被杀死,回到结点1处(概率为ki) 2.找到出口,走出迷宫 ...

  6. POJ2096 Collecting Bugs(概率DP,求期望)

    Collecting Bugs Ivan is fond of collecting. Unlike other people who collect post stamps, coins or ot ...

  7. POJ 2096 (dp求期望)

    A - Collecting Bugs Time Limit:10000MS     Memory Limit:64000KB     64bit IO Format:%I64d & %I64 ...

  8. loj 1038(dp求期望)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=25915 题意:求一个数不断地除以他的因子,直到变成1的时候 除的次 ...

  9. 数位DP 求K进制下0~N的每个数每位上出现的数的总和

    好久没写博客了,因为感觉时间比较紧,另一方面没有心思,做的题目比较浅也是另一方面. 热身赛第二场被血虐了好不好,于是决定看看数位DP吧. 进入正题: 如题是一道经(简)典(单)的数位dp. 第一步,对 ...

随机推荐

  1. javascript前端下载

    <html> <head> <title>测试标题</title> </head> <body> <div> 测试页 ...

  2. iOS学习笔记20-地图(二)MapKit框架

    一.地图开发介绍 从iOS6.0开始地图数据不再由谷歌驱动,而是改用自家地图,当然在国内它的数据是由高德地图提供的. 在iOS中进行地图开发主要有三种方式: 利用MapKit框架进行地图开发,利用这种 ...

  3. 【bzoj4408】[Fjoi 2016]神秘数 主席树

    题目描述 一个可重复数字集合S的神秘数定义为最小的不能被S的子集的和表示的正整数.例如S={1,1,1,4,13},1 = 12 = 1+13 = 1+1+14 = 45 = 4+16 = 4+1+1 ...

  4. 2016 ACM-ICPC China Finals #F Mr. Panda and Fantastic Beasts

    题目链接$\newcommand{\LCP}{\mathrm{LCP}}\newcommand{\suf}{\mathrm{suf}}$ 题意 给定 $n$ 个字符串 $s_1, s_2, \dots ...

  5. BZOJ 3669 [Noi2014]魔法森林 ——SPFA / Link-Cut Tree

    [题目分析] 大意就是有一张图,边权有两个值,ai和bi 找到一条路径,使得路径上的max(ai)+max(bi)最小. 遇到有两个权值或者多个权值的时候,如果他们互相影响,试着用分块搞一搞. 如果互 ...

  6. BZOJ2457 [BeiJing2011]双端队列 【贪心】

    题目 Sherry现在碰到了一个棘手的问题,有N个整数需要排序. Sherry手头能用的工具就是若干个双端队列. 她需要依次处理这N个数,对于每个数,Sherry能做以下两件事: 1.新建一个双端队列 ...

  7. Heritage of skywalkert

    Heritage of skywalkert skywalkert, the new legend of Beihang University ACM-ICPC Team, retired this ...

  8. ElasticSearch集群状态查看命令大全

    Elasticsearch中信息很多,同时ES也有很多信息查看命令,可以帮助开发者快速查询Elasticsearch的相关信息. _cat $ curl localhost:9200/_cat =^. ...

  9. SGU 106 在区间范围内的线性方程解个数

    题意:求解方程ax+by+c=0,在区间x1->x2和y1->y2的解的个数. 看似简单,真心a的不容易啊! 开始跪于第8组数据,原因是没用long long !后来改了,跪于12组,超时 ...

  10. (9)C#连mysql

    1官网下载 dll 2. using MySql.Data.MySqlClient; 3. <add key="con_MES" value="server=192 ...