主页
搜索
最近更新
数据统计
申请密钥
批量保存
开发版网站(新前端)
系统公告
1
/
1
请查看完所有公告
2025.8.27 25-暑期-来追梦noip-卷11 总结
最后更新于 2025-08-28 08:56:12
作者
Stars_visitor_tyw
分类
个人记录
复制 Markdown
查看原文
转到新前端
删除文章
更新内容
# T1 我们直接 DP 即可。 $dp_i$ 表示最大值为 $i$ 的满足集合条件的最大可选数量。 ```cpp #include<bits/stdc++.h> using namespace std; int n, x, dp[10000005], cnt[10000005], ans; signed main() { cin>>n; int maxi=0; for(int i=1;i<=n;i++) { cin>>x; cnt[x]++; maxi=max(maxi,x); } for(int i=1;i<=maxi;i++) { if(cnt[i]) { dp[i]+=cnt[i]; for(int j=2*i;j<=maxi;j+=i)dp[j]=max(dp[i],dp[j]); ans=max(ans,dp[i]); } } cout<<ans; } ``` # T2 状态:$dp_{i,j}$ 表示从前面 $i$ 个数字之中删除 $j$ 个数字的方案的数量。
正在渲染内容...
点赞
0
收藏
0