【JZOJ】2126. 最大约数和
2024-09-04 06:06:45
题目大意
选取和不超过S的若干个不同的正整数,使得所有数的约数(不含它本身)之和最大。
分析
把我们分解出来的因数进行合并,存在一个不知名的数组里,然后我们大可开始我们的迪屁!!(bag),我们可以
把它转化成0 1背包:
f[j]=max(f[j],f[j-1]+sum[i]);
于是:
code
#include<cstdio>
#include<iostream>
using namespace std; int f[];
int ans;
int n;
int sum[];
int main(){
freopen("maxsum.in","r",stdin);
freopen("maxsum.out","w",stdout);
cin>>n;
for(int i=;i<=n/;i++){
for(int j=i*;j<=n;j+=i){
sum[j]+=i;
}
}
for(int i=;i<=n;i++){
for(int j=n;j>=;j--){
if(j>=i)
f[j]=max(f[j],f[j-i]+sum[i]);
ans=max(ans,f[j]);
}
}
cout<<ans;
}
大水
最新文章
- asp TreeView控件的使用
- 【POJ 1228】Grandpa&#39;s Estate 凸包
- (备忘)android清单文件中<;meta-data>;标签,以及<;intent-filter>;下的<;data>;标签及其他标签
- 淘宝(阿里百川)手机客户端开发日记第六篇 Service详解(四)
- 浅谈网络爬虫爬js动态加载网页(二)
- iOS10相册相机闪退bug-b
- 关于快速排序的Java代码实现
- WindowManage与Window的在Activity的一点小应用
- JavaScript中的call()、apply()与bind():
- 前端面试angular 常问问题总结
- robots书写说明:
- C#调用C++导出类的一个实例
- 强化学习-Q-Learning算法
- 【王者荣耀之IT大神版】1.1版本升级之“投降机制”
- 2017";百度之星";程序设计大赛 - 资格赛-度度熊与邪恶大魔王(dp+后缀最小值)
- linux比较两个文件的差异
- 菜刀连接webshell
- HDU.5692 Snacks ( DFS序 线段树维护最大值 )
- 「Nosql」Redis小记-内存解析&;内存消耗篇
- 修改Tomcat默认端口号,避免与IDEA冲突
热门文章
- HDU 1072 Nightmare 题解
- python cookie登录DVWA,phpstudy搭建DVWA参考https://www.jianshu.com/p/97d874548300
- oracle 行转列~列转行(几种方法)
- minio select api 试用
- Codeforces Round #549 (Div. 2) D 数学
- [LeetCode] 95. Unique Binary Search Trees II 独一无二的二叉搜索树之二
- Mac上Hive安装配置
- Scala Http 请求调用 - scalaj-http
- jenkins 更新插件使用代理
- Zuul的使用,路由访问映射规则