加载头像

2024-04-12竞赛笔记

2024/4/12

知识

最长上升子序列

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<bits/stdc++.h>
using namespace std;
int a[100001],f[100001];
int main(){
int n,ans;
cin>>n;
for(int i=1;i<=n;i++){
f[i]=1;
cin>>a[i];
}
for(int i=1;i<=n;i++){
for(int j=1;j<i;j++){
if(a[i]>a[j]){
f[i]=max(f[i],f[j]+1);
}
}
}
for(int i=1;i<=n;i++){
ans=max(ans,f[i]);
}
cout<<ans;
return 0;
}

题目

T1 P1853 投资的最大效益

pFjPNh4.jpg

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include<bits/stdc++.h>
using namespace std;
int k/*总共消耗的邮票数*/,n,s;
const int N=2e6,M=1e2,INF=0x3f3f3f3f;
int a[M],f[N];//f[i]表示构成面值为i至少需要的you票数
signed main(){
cin>>k>>n;
memset(f,INF,sizeof(f));
f[0]=0;//初始值
for(int i=1;i<=n;i++){
cin>>a[i];
for(int j=a[i];j<=N;j++){
if(f[j-a[i]]+1<=k){//在限制使用的范围内
f[j]=min(f[j],f[j-a[i]]+1);//min的
}
}
}
s=0;
for(int i=1;i<=N;i++){
if(f[i]==INF){ //找不出了
s=i-1;//记录
break;
}
}
cout<<s<<endl;
return 0;
}

pFjP8BV.jpg


avatar
status
这有关于产品、设计、开发相关的问题和看法,还有文章翻译分享
相信你可以在这里找到对你有用的知识教程
公告

Minecraft-Sep的博客已更新至v1.6.0版本!
基于CodebergVercelCloudflare的Sep博客已上线!详情见此处!
您正在浏览安全的Pages页面!

引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體