XURUIFAN @ 2024-08-13 08:59:26
Python代码如下:
n=int(input())#有len,用不着
n=[int(i) for i in input().split(" ")]
def DP(num):
dp = [1]*num
ans=0
for i in range(num):
for j in range(i):
if n[i] > n[j]:
dp[i] = max(dp[i], dp[j]+1)
ans=max(ans,dp[i])
return ans
print(DP(len(n)))
会TLE一个点
by ZMQ_Ink6556 @ 2024-08-13 09:18:15
@XURUIFAN python 就是容易 TLE,因为一些未知的语言问题 评测机的锅。
by AqrDAD @ 2024-08-13 09:19:05
改后这样包过的
# include<bits/stdc++.h>
using namespace std;
const int N = 5005;
int n, a[N], sta[N], len;
int main(){
ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
cin>>n;
for(int i=1; i<=n; i++){
cin>>a[i];
}
for(int i=1; i<=n; i++){
if(a[i] > sta[len]) sta[++len] = a[i];
else{
int x = lower_bound(sta+1, sta+1+len, a[i]) - sta;
sta[x] = a[i];
}
}
cout<<len;
return 0;
}
by XURUIFAN @ 2024-08-13 10:08:13
@AqrDAD 那我C++也能过啊,我是麻烦各位大佬帮忙调一下这个Python的 (C++提交记录)
by XURUIFAN @ 2024-08-13 10:10:05
@ZMQ_Ink6556 谢谢大佬指点,老老实实回去搞C++了
洛谷你给我解释一下为什么Python不行