首页 > 其他分享 >最长非递减子序列--顺丰2020校招笔试题

最长非递减子序列--顺丰2020校招笔试题

时间:2022-10-26 20:40:39浏览次数:50  
标签:-- 复杂度 bound int 2020 校招 include INF dp


n的范围是[0,100000]

DP版本(O(n^2))时间复杂度(LTE):

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
#define N 100
int main()
{
int A[N],dp[N],n;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>A[i];
}
for(int i=0;i<n;i++)
{
dp[i]=1;
}
for(int i=0;i<n;i++)
{
for(int j=0;j<i;j++)
{
if(A[j]<=A[i])
dp[i]=max(dp[i],dp[j]+1);
}

}
int m=dp[0];
for(int i=0;i<n;i++)
{
m=max(m,dp[i]);
}
cout<<m;

return 0;
}

O(n)复杂度

#include<iostream>
#include<algorithm>
#include<cstdio>

using namespace std;

const int N = 1000000;
const int INF = 1e9;
int a[N],dp[N],n;

void solve(){
fill(dp,dp + n,INF);
for(int i = 0;i < n;i ++){
*upper_bound(dp,dp + n,a[i]) = a[i];
}
printf("%d\n",lower_bound(dp,dp + n,INF) - dp);
}

int main(){
scanf("%d",&n);
for(int i = 0;i < n;i ++){
scanf("%d",&a[i]);
}
solve();
return 0;
}

 

标签:--,复杂度,bound,int,2020,校招,include,INF,dp
From: https://blog.51cto.com/u_13121994/5798369

相关文章

  • 字符串--移除k个数使得剩下的数最大
    有一十进制正整数,移除其中的K个数,使剩下的数字是所有可能中最大的。假设:字符串的长度一定大于等于K字符串不会以0开头 输入描述:一行由正整数组成的数字字符串,和......
  • DP--爬楼梯1
    题目描述前几个月放映的头号玩家简直火得不能再火了,作为一个探索终极AI的研究人员,月神自然去看了此神剧。由于太过兴奋,晚上月神做了一个奇怪的梦,月神梦见自己掉入了一个被施......
  • DP--字符串变换
    给定两个字符串,已知可以使用三种方式进行变换1.插入一个字符2.删除一个字符3.更改一个字符请设计一个算法,找到两个字符串之间的经历几次最小变换,可以字符串1转换成字......
  • DFS--同一个方向找出所有子字符串的个数
     字符迷阵是一种经典的智力游戏。玩家需要在给定的矩形的字符迷阵中寻找特定的单词。在这题的规则中,单词是如下规定的:1.在字符迷阵中选取一个字符作为单词的开头;2.选取......
  • map记录下标
    题目描述小云正在参与开发一个即时聊天工具,他负责其中的会话列表部分。会话列表为显示为一个从上到下的多行控件,其中每一行表示一个会话,每一个会话都可以以一个唯一正整数id......
  • DFS(全排列)--相同序号不能相邻
     小多想在美化一下自己的庄园。他的庄园毗邻一条小河,他希望在河边种一排树,共M棵。小多采购了N个品种的树,每个品种的数量是Ai(树的总数量恰好为M)。但是他希望任意......
  • N-叉树--遍历N-叉树所有从顶点到叶子节点的路径
    Shopee的OrangeDayShopee每个月都有属于大家的节日,每到这个时候,大家都会穿着橙色的T恤,吃着水果蛋糕,做着游戏。瞧,今天又是OrangeDay了,吃货小虾同学早早的来到现场,看看有没......
  • N-叉树--给定顶点求N叉树的最大深度
    #include<iostream>#include<vector>usingnamespacestd;vector<int>Vec[100005];intResult;voiddfs(intChild,intParent,intPathLength){for(inti=0;i<Vec......
  • 暴力--建物流中转站
     Shopee物流会有很多个中转站。在选址的过程中,会选择离用户最近的地方建一个物流中转站。假设给你一个二维平面网格,每个格子是房子则为1,或者是空地则为0。找到一个空地修......
  • 字符串--字符串替换模板
    请你实现一个简单的字符串替换函数。原串中需要替换的占位符为"%s",请按照参数列表的顺序一一替换占位符。若参数列表的字符数大于占位符个数。则将剩下的参数字符添加到字......