Description

一年一度的哈理工选美大赛开始了.来自各个院系的N个美女们都在一起排成一排,然后从左到右给他们标号(1-N),评委叫兽开始观摩,由于身高高低都不同, 叫兽想从中选出尽可能多的人使得他们的身高从左到右依次递增,你能帮助叫兽吗?

Input

输入数据第一行一个数据表示美女的个数N(0<N<100)

接下来有N个数据表示1-N标号的美女的身高,身高范围都在0-180之内

当N=0时候输入结束

Output

按照样例输出,首先The number is N:N是选出最多美女个数,然后后面输出N个数,代表选出美女的标号,从左到右依次输出.

题目保证答案唯一

Sample Input

3

2 1 2

3

1 2 3

0

Sample Output

The number is 2: 2 3

The number is 3: 1 2 3

想说,这道题目,求LIS不是问题,纠结在于记录路径,搞这个搞了半天,结果还是去看了大牛的博客T T,只能说,学习了。。。

 #include <cstdio>
#include <algorithm>
#include <cstring>
#include <iostream>
#include <stack> using namespace std;
const int MAX_SIZE = ;
int dp[MAX_SIZE];
int vis[MAX_SIZE];
int strat; int LIS(int arr[], int n)
{
memset(vis, , sizeof(vis));
for(int i = ; i <= n; ++i)
{
dp[i] = ;
} int ans = ;
dp[] = ; for(int i = ; i <= n; ++i)
{
ans = dp[i];
for(int j = ; j < i; ++j)
{
if(arr[i] > arr[j] && dp[j] > ans)
{
ans = dp[j];
vis[i] = j;
}
}
dp[i] = ans + ;
}
ans = ;
for(int i = ; i <= n; ++i)
{
if(dp[i] > ans)
{
ans = dp[i];
strat = i;
}
} return ans;
} ///dfs去找路径
void path(int strat)
{
if(strat != )
{
path(vis[strat]);
printf(" %d", strat);
}
} int main()
{
int n;
int arr[MAX_SIZE];
stack<int > s; while(~scanf("%d", &n) && n)
{
for(int i = ; i <= n; ++i)
{
scanf("%d", arr + i);
}
int ans = LIS(arr, n);
printf("The number is %d:",ans); path(strat);
puts("");
}
return ;
}

HLG1116-选美大赛的更多相关文章

  1. HURST 1116:选美大赛(LIS+路径输出)

    选美大赛 Time Limit: 1000 MS Memory Limit: 65536 K Total Submit: 1099(318 users) Total Accepted: 349(252 ...

  2. TOJ 4095: love168yk的选美大赛

    4095: love168yk的选美大赛  Time Limit(Common/Java):1000MS/3000MS     Memory Limit:65536KByteTotal Submit: ...

  3. Java蓝桥杯——排序练习:选美大赛

    选美大赛 在选美大奖赛的半决胜赛现场,有一批选手参加比赛,比赛的规则是最后得分越高,名次越低.当半决决赛结束时,要在现场按照选手的出场顺序宣布最后得分和最后名次,获得相同分数的选手具有相同的名次,名次 ...

  4. 微服务RPC框架选美

    原文:http://p.primeton.com/articles/59030eeda6f2a40690f03629 1.RPC 框架谁最美? Hello,everybody!说到RPC框架,可能大家 ...

  5. Web前端资源汇总

    本文地址:http://www.cnblogs.com/jihua/p/webfront.html 网页特效库 2017新年快乐特效 CSS3+jQuery实现时钟插件 Html5入门实例" ...

  6. 功能强大的滚动播放插件JQ-Slide

    查看效果:http://keleyi.com/keleyi/phtml/jqplug/4.htmJQ-Slide插件功能强大,滚动方式自由多样全部滚动方式 方式一 方式二 方式三 方式四 方式五 方式 ...

  7. GOF设计模式特烦恼

    这段时间,学习状态比较一般,空闲时基本都在打游戏,和研究如何打好游戏,终于通过戏命师烬制霸LOL,玩笑了.为了和"学习"之间的友谊小船不翻,决定对以往学习过的GOF设计模式做一个简 ...

  8. 设计模式C#实现(二)——适配器模式

    适配器模式:将一个类的接口,转换成客户期望的另一个接口.适配器让原本接口不兼容的类可以合作无间. 如果它走起路来像只鸭子,叫起来像只鸭子,那么它必定可能是一只鸭子包装了鸭子适配器的火鸡…… 最近有一个 ...

  9. jQuery弹出窗口完整代码

    jQuery弹出窗口完整代码 效果体验:http://keleyi.com/keleyi/phtml/jqtexiao/1.htm 1 <!DOCTYPE html PUBLIC "- ...

随机推荐

  1. code::blocks编译出错

    问题描述: 在windows xp 上编译的cbp项目(已经生成.obj文件),放到fedora上无法顺利编译.(build) collect2:error: ld returned 1 exit s ...

  2. css3 动画效果 定义和绑定执行

    首先要定义一个动画效果  keyframes 关键字 这里动画效果执行完毕后 恢复本身的css样式  有的动画效果 移动到位置 要保持 就需要写好css 元素的位置 css里直接写  (这里是一般的 ...

  3. 深入理解javascript原型和闭包(17)——补this

    本文对<深入理解javascript原型和闭包(10)——this>一篇进行补充,原文链接:http://www.cnblogs.com/wangfupeng1988/p/3988422. ...

  4. [NHibernate]基本配置与测试

    目录 写在前面 nhibernate文档 搭建项目 映射文件 持久化类 辅助类 数据库设计与连接配置 测试 总结 写在前面 一年前刚来这家公司,发现项目中使用的ORM是Nhibernate,这个之前确 ...

  5. .Net创建windows服务入门

    本文主要记录学习.net 如何创建windows服务. 1.创建一个Windows服务程序 2.新建安装程序 3.修改service文件 代码如下 protected override void On ...

  6. PHP数组

    PHP数组的遍历 使用for语句循环遍历数组 在PHP中,不仅可以指定非连续的数字索引值,而且还存在以字符串为下表的关联数组.所以在php中很少使用for语句循环来遍历数组.使用for语句遍历连续数字 ...

  7. 1、Jsp页面

    一.JSP(java server page):是以Java语言为基础的动态网页生成技术. 1.特点: a).以 .jsp 为后缀的文本文件,不需要编译(相对于程序猿来说不需要编译) b).以html ...

  8. nyoj 448 寻找最大数(贪心专题)

    寻找最大数 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 请在整数 n 中删除m个数字, 使得余下的数字按原次序组成的新数最大, 比如当n=920813467185 ...

  9. PHP中的错误处理、异常处理机制详解

    在编写PHP程序时,错误处理是一个重要的部分.如果程序中缺少错误检测代码,那么看上去很不专业,也为安全风险敞开了大门 例: <?php $a = fopen('test.txt','r'); / ...

  10. C和指针 第十二章 结构体 整体赋值 error: expected expression

    定义结构体后整体赋值时发生错误 typedef struct NODE { struct NODE *fwd; struct NODE *bwd; int value; } Node; //声明变量 ...