https://vjudge.net/contest/68966#problem/J

#include<map>
#include<set>
#include<list>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define ll long long using namespace std; const int N=,inf=0x3f3f3f;
struct edge{
int w,v;//w重量,v速度
int in;//记录位置
}e[N];
int pre[N];
void print(int x)
{
if(x!=-)print(pre[x]);
else
return ;
printf("%d\n",x+);
}
bool comp(const edge &a,const edge &b)
{
if(a.w!=b.w)return a.w<b.w;
return a.v>b.v;
}
int main()
{
int a,b,cnt=,dp[N];
while(scanf("%d%d",&a,&b)!=EOF){
e[cnt].w=a;
e[cnt].v=b;
e[cnt].in=cnt;
cnt++;
}
sort(e,e+cnt,comp);
memset(pre,-,sizeof(pre));
int ans=,index=;
for(int i=;i<cnt;i++)
{
dp[i]=;
for(int j=;j<i;j++)
{
if(e[i].w>e[j].w&&e[i].v<e[j].v)
if(dp[i]<dp[j]+)
{
dp[i]=dp[j]+;
pre[e[i].in]=e[j].in;
}
}
if(ans<dp[i])
{
ans=dp[i];
index=e[i].in;
}
}
printf("%d\n",ans);
print(index);
return ;
}

输出技巧很重要,也可以使用栈来保存后输出。

刚开始做就是没想到要排序

hdu1160dp的更多相关文章

随机推荐

  1. C中运算符优先级

    总体规则: 特殊运算符>单目运算符>双目运算符>三目运算符>赋值运算符>逗号运算符 只有单目运算符是右结合,其余的均为左结合

  2. 浅谈HashMap的内部实现

    权衡时空 HashMap是以键值对的方式存储数据的. 如果没有内存限制,那我直接用哈希Map的键作为数组的索引,取的时候直接按索引get就行了,可是地价那么贵,哪里有无限制的地盘呢. 如果没有时间限制 ...

  3. 对于用div+css随心所欲布局的思考

    在div+css取代Table成为主流的时代,学会用其进行随心所欲的布局是一个不可回避的技能.那么,重点掌握哪几个要点呢? 整体布局:从整体到局部的顺序进行布局,逐步定义div集css样式: 灵活运用 ...

  4. Git 入门和常用命令详解

    git 使用使用教程   git 使用简易指南  常用 Git 命令清单 下载   https://git-scm.com/downloads 工作流 本地仓库由三部分组成. 工作区:保存实际的文件( ...

  5. 2017-3-28 JavaScript 基础、语法

    前端三剑客:  html+css+js(html 决定网页上有什么,css决定东西是怎么摆放的,js决定东西的功能) js定义: js是一个脚本语言,需要有宿主文件,它的宿主文件是html文件. js ...

  6. Git 远程分支的pull与push

    Git 远程分支的pull与push 远程分支信息查看 git branch -r #查看远程分支 git branch -a #查看所有分支,本地和远程 git remote show [remot ...

  7. js前端获取页面传递的参数

    转载的,先记下: UrlParm = function () { // url参数 var data, index; (function init() { data = []; index = {}; ...

  8. Fiddler抓取https原理?

    参考:http://blog.csdn.net/xoopx/article/details/51577039 首先fiddler截获客户端浏览器发送给服务器的https请求, 此时还未建立握手.第一步 ...

  9. 第4章Zabbix监控实践

    p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; t ...

  10. 在Android中使用am和input命令在实际使用中的注意事项以及小技巧

    在Android使用到am和进行一些操作是非常方便的,比如一个重复自动的操作,具体用来实现一些什么是看个人需求了,接下来说对于am和input的使用. 本文适用于已经大概去了解了am和input的朋友 ...