hdu 5748 Bellovin【最长上升子序列】
2024-08-26 10:29:54
题目链接:https://vjudge.net/contest/148584#problem/A
题目大意:
解题思路:
题目要求为:输出与已知序列的每一个元素的f(i)(f(i)的定义如题)相同的字典序最小的序列。稍微思考便知,其实就是叫我们求出原序列的f(i),这个很容易做到,只要在最长上升子序列的模板题上稍微做一些改动,记录下原序列每一个元素的f(i)即可。具体实现见代码。
#include <bits/stdc++.h>
using namespace std; const int N = 1e5+;
int rise[N],ans[N];
int n; int main(){
int T;scanf("%d",&T);
while(T--){
scanf("%d",&n);
int len=;rise[]=-;
for(int i=;i<=n;i++){
int data;scanf("%d",&data);
if(data>rise[len])rise[++len]=data,ans[i]=len; //记录以i为末尾的最长上升子序列的长度
else {
int loc=lower_bound(rise+,rise++len,data)-rise; //最长上升子序列用lower_bound
rise[loc]=data;
ans[i]=loc; //记录以i为末尾的最长上升子序列的长度
}
}
for(int i=;i<=n;i++)
i==n?printf("%d\n",ans[i]):printf("%d ",ans[i]);
}
}
最新文章
- Mac OS X上搭建伪分布式CDH版本Hadoop开发环境
- SQL Server 2014 Backup Encryption
- 灵活运用 SQL SERVER FOR XML PATH
- Flex布局教程及属性速查
- MVVM datatemplate 下button.contextmenu的command 失效解决方案
- 将text 文件转为List
- I.MX6 Ubuntu core porting
- 【稳定婚姻问题】【HDU1435】【Stable Match】
- Erp第二章:业务流程化、集成、规划
- HealthKit框架参考(转)
- chrome实现全浏览器跨域ajax请求
- System.getProperty(";catalina.home";)
- HDU 1017 A Mathematical Curiosity【水,坑】
- Vijos P1066 弱弱的战壕【多解,线段树,暴力,树状数组】
- 解放双手——Android的自动化构建及发布
- 用Python教你微信防撤回(文本、图片、语音、视频、名片等...)
- vue使用webapck的最基本最简单的开发环境配置
- Android中Bundle和Intent的区别
- C#/ASP.NET应用程序配置文件app.config/web.config的增、删、改操作,无法为请求的 Configuration 对象创建配置文件。
- [ML学习笔记] 回归分析(Regression Analysis)