Lolitan @ 2023-10-04 13:27:47
#include<bits/stdc++.h>
using namespace std;
int ans,n,maxn;
int a[10010];
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
sort(a,a+3);
for(int i=1;i<=n;i++){
if(maxn<a[i]) {
maxn=a[i],ans++;
}
}
cout<<ans;
return 0;
}
by DevilsFlame @ 2023-10-04 13:36:21
这是动态规划吧,不是排序
by Clost_Fynie @ 2023-10-04 13:39:00
很聪明
建议学一下动态规划
参考代码:
#include <iostream>
using namespace std;
const int N = 5010;
int n;
int a[N];
int f[N];
int main(){
scanf("%d",&n);
for(int i = 1;i <= n;i ++) scanf("%d",&a[i]);
for(int i = 1;i <= n;i ++){
f[i] = 1;
for(int j = 1;j <= i;j ++){
if(a[j] < a[i]) f[i] = max(f[i],f[j] + 1);
}
}
int res = -1;
for(int i = 1;i <= n;i ++) res = max(res,f[i]);
printf("%d\n",res);
return 0;
}
by Argvchs @ 2023-10-04 14:00:13
// Lolitan: 今天看到一个dp题但是我是大老我直接一个sort就能过好吧
#include<bits/stdc++.h>
using namespace std;
// 进行一个ansnmaxna的定义
int ans,n,maxn;
int a[10010];
int main(){
// 进行一个nai的入
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
// 我们这里对a0到a2进行了一个魔法排序MAGIC SORTT,我们通过这样神仙操作直接就保证了答案正确啊
sort(a,a+3);
for(int i=1;i<=n;i++){
// 这里我们直接写一个贪心好吧
// 哎贪心怎么能保证正确??,啊是因为我是贪心带师好吧
if(maxn<a[i]) {
// ??我们不是求最长怎么还出了个maxn,因为我是大佬,我一眼直接看出这两个等价的
// XD你们这些凡人是肯定看不懂的,但是我肯定是对的因为我是高贵的大老,咍咍
maxn=a[i],ans++;
}
}
// 进行一个nas的出
cout<<ans;
return 0;
}
by Lolitan @ 2023-10-04 14:49:16
@Argvchs 6