题目大意

      选取和不超过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;
}

大水

最新文章

  1. asp TreeView控件的使用
  2. 【POJ 1228】Grandpa&#39;s Estate 凸包
  3. (备忘)android清单文件中&lt;meta-data&gt;标签,以及&lt;intent-filter&gt;下的&lt;data&gt;标签及其他标签
  4. 淘宝(阿里百川)手机客户端开发日记第六篇 Service详解(四)
  5. 浅谈网络爬虫爬js动态加载网页(二)
  6. iOS10相册相机闪退bug-b
  7. 关于快速排序的Java代码实现
  8. WindowManage与Window的在Activity的一点小应用
  9. JavaScript中的call()、apply()与bind():
  10. 前端面试angular 常问问题总结
  11. robots书写说明:
  12. C#调用C++导出类的一个实例
  13. 强化学习-Q-Learning算法
  14. 【王者荣耀之IT大神版】1.1版本升级之“投降机制”
  15. 2017&quot;百度之星&quot;程序设计大赛 - 资格赛-度度熊与邪恶大魔王(dp+后缀最小值)
  16. linux比较两个文件的差异
  17. 菜刀连接webshell
  18. HDU.5692 Snacks ( DFS序 线段树维护最大值 )
  19. 「Nosql」Redis小记-内存解析&amp;内存消耗篇
  20. 修改Tomcat默认端口号,避免与IDEA冲突

热门文章

  1. HDU 1072 Nightmare 题解
  2. python cookie登录DVWA,phpstudy搭建DVWA参考https://www.jianshu.com/p/97d874548300
  3. oracle 行转列~列转行(几种方法)
  4. minio select api 试用
  5. Codeforces Round #549 (Div. 2) D 数学
  6. [LeetCode] 95. Unique Binary Search Trees II 独一无二的二叉搜索树之二
  7. Mac上Hive安装配置
  8. Scala Http 请求调用 - scalaj-http
  9. jenkins 更新插件使用代理
  10. Zuul的使用,路由访问映射规则