【题目大意】

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

输入一个正整数S。

输出最大的约数之和。

样例输入 Sample Input

11

样例输出 Sample Output

9

样例说明
取数字4和6,可以得到最大值(1+2)+(1+2+3)=9。

数据规模对于30%的数据,S≤10;

对于100%的数据,S≤1000。

【思路】

水题,普通的01背包问题,唯一需要注意的一点是,1的所有约数之和是0!我一开始就因为1没有单独判断而导致了错误。

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
const int MAXN=+;
int s;
int w[MAXN],f[MAXN]; int main()
{
freopen("mr359.in7","r",stdin);
freopen("mr359.ou7","w",stdout);
scanf("%d",&s);
memset(w,,sizeof(w));
w[]=;
for (int i=;i<=s;i++)
{
for (int j=;j<=sqrt(i);j++)
if (i%j==)
{
w[i]+=j;
if (j*j!=i && j!=) w[i]+=i/j;
}
} f[]=;
for (int j=;j<=s;j++) f[j]=-0x7fffffff;
for (int i=;i<=s;i++)
for (int j=s;j>=i;j--)
{
f[j]=max(f[j],f[j-i]+w[i]);
}
cout<<f[s]<<endl;
return ;
}

最新文章

  1. 在iOS中实现一个简单的画板App
  2. Best way to add Gradle support to IntelliJ Project
  3. 复习排序with javascript
  4. Excel转Json,Json转CSharp
  5. 解决WAMP搭建PHP环境后后局域网其他机器无法访问的问题
  6. Sublime Text 之运行 ES6 (基于babel)
  7. 在x86转x64的开发过程会遇到各种意外的问题,比如MSScriptControl 在x64下
  8. 深入浅出ExtJS 第二章 Ext框架基础
  9. BZOJ1264: [AHOI2006]基因匹配Match
  10. php中实现快排与冒泡排序
  11. iOS、真机调试
  12. iOS多线程中performSelector
  13. Spring MVC + Spring + Mybitis开发Java Web程序基础
  14. python在linux中用setproctitle自定义进程名
  15. django安装及简单使用
  16. Javascript 函数声明先提升还是变量先提升
  17. Jmeter(十九) Md5加密操作之-------BeanShell PreProcessor(转载)
  18. tty linux 打开和设置范例
  19. 2018.06.30 BZOJ1857: [Scoi2010]传送带(三分套三分)
  20. c++中引用的用法(转)

热门文章

  1. 换行符 \r \n \r\n 在不同系统下的区别
  2. 【HNOI】 lct tree-dp
  3. Ubuntu安装pip
  4. Django 1.10中文文档-第一个应用Part3-视图和模板
  5. dev_cpu_dead
  6. linux 设备树【转】
  7. java===java基础学习(3)---数据类型转换,运算符级别,枚举类型
  8. lsb_release查看当前系统的发行版信息
  9. popup menu案例,无说明只代码
  10. C#调用Excel报 error CS1969: 找不到编译动态表达式所需的一个或多个类型。是否缺少引用?