【题目描述:】

选取和不超过S的若干个不同的正整数,使得所有数的约数(不含它本身)之和最大。

【输入格式:】

输入一个正整数S。

【输出格式:】

输出最大的约数之和。



[算法分析:]

01背包,每个数的约数和为其价值,数的大小为其花费

注意1的价值应该为0



[Code:]

#include<iostream>
#include<cstdio>
using namespace std; int n, v[1001], f[1001]; int work(int x) {
if(x == 1) return 0;
int l = x/2, ret = 1;
for(int i=2; i<=l; ++i)
if(x % i == 0) ret += i;
return ret;
} int main() {
cin >> n;
for(int i=1; i<=n; ++i) v[i] = work(i);
for(int i=1; i<=n; ++i)
for(int j=n; j>=i; --j)
f[j] = max(f[j], f[j-i]+v[i]);
cout << f[n];
}

最新文章

  1. 如何在osg中删除EventHandler
  2. JavaScript的Date对象
  3. 破解Mysql数据库密码
  4. ActionErrors 使用说明 struts1 validate 处理流程 详细教程(转)
  5. Rhel6-haproxy+keepalived配置文档
  6. 第十篇、让UIScrollView的滚动条常显
  7. Android Studio 单刷《第一行代码》系列 04 —— Activity 相关
  8. HDU-2523 SORT AGAIN
  9. adb测试使用相关
  10. android 代码布局 记录
  11. 错误提示:在此上下文中不允许使用名称 &quot;***&quot;。有效表达式包括常量、 常量表达式和变量(在某些上下文中),不允许使用列名。
  12. java调用存储过程超时及DBCP参数配置说明
  13. this笔记
  14. JS可维护性代码
  15. [LeetCode] Wildcard Matching 题解
  16. win10彻底禁用自动更新,win10怎样彻底关闭自动更新,永久关闭win10自动更新,win10更新助手
  17. 爬虫 http原理,梨视频,github登陆实例,requests请求参数小总结
  18. 实现lodash.get功能
  19. java:根据利润表计算奖金所得
  20. Practical Node.js (2018版) 第4章: 模版引擎

热门文章

  1. [转]git提交代码时遇到代码库有更新以及本地有更新的解决方法
  2. Python 实现的 12306抢票脚本
  3. blfs(systemv版本)学习笔记-为桌面环境构建xorg服务
  4. Harbor api 操作
  5. AIMLBot (中文自动回复)文本自动回复机器人
  6. SD从零开始62-63,不完全日志,业务伙伴及业务伙伴确定
  7. 喜闻乐见-Activity生命周期
  8. Kotlin入门(7)循环语句的操作
  9. 工作中常用到的Vim命令
  10. 使用linq语句进行联表查询