当前位置: 首页 > news >正文

怎么做宣传网站建设网站平台费

怎么做宣传网站,建设网站平台费,微网站界面设计基础,杭州下沙网站建设P1734 最大约数和 - 洛谷 | 计算机科学教育新生态 题目描述 选取和不超过 S 的若干个不同的正整数,使得所有数的约数(不含它本身)之和最大。 输入格式 输入一个正整数 S。 输出格式 输出最大的约数之和。 输入输出样例 输入 #1复制 …

P1734 最大约数和 - 洛谷 | 计算机科学教育新生态

题目描述

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

输入格式

输入一个正整数 S。

输出格式

输出最大的约数之和。

输入输出样例

输入 #1复制

11

输出 #1复制

9

说明/提示

【样例说明】

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

【数据规模】

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

思路:

题目的意思是选取诺干个数,这些数之和小于n,求出这些数的约数最大和。

我们预处理把每个数的约数写出来。然后就是背包问题了。

注意只有dp会满分

代码如下:

暴力:
#include <iostream>
#include<algorithm>
#include<string>
using namespace std;
typedef long long ll;
const ll N = 2001;
ll cnt[N];
ll num[N];
ll n;
int is_number(ll x)
{int sum = 0;for(ll i = 1 ; i < x ; i++){if(x % i == 0)sum += i;}return sum;
}
ll dfs(ll x,ll sp)
{if(x > n-1)return 0;if(sp >= num[x])return max(dfs(x+1,sp-num[x])+cnt[x],dfs(x+1,sp));elsereturn dfs(x+1,sp);}int main()
{cin >> n;for(ll i = 1 ; i <= n-1 ; i++){cnt[i] += is_number(i);//求出1~n-1的各个约数之和 
//    	cout << i << "的约数之和:" << arr[i] << endl;num[i] = i; }cout << dfs(1,n);return 0;}
记忆化搜索:
#include <iostream>
#include<algorithm>
#include<string>
using namespace std;
typedef long long ll;
const ll N = 2001;
ll cnt[N];
ll num[N];
ll n;
ll mem[N][N];
int is_number(ll x)
{int sum = 0;for(ll i = 1 ; i < x ; i++){if(x % i == 0)sum += i;}return sum;
}
ll dfs(ll x,ll sp)
{ll sum = -1e9;if(mem[x][sp])return mem[x][sp];if(sp <= 0)return 0;if(x > n-1)return 0;if(sp >= num[x])sum = max(dfs(x+1,sp-num[x]) + cnt[x],dfs(x+1,sp));elsesum = dfs(x+1,sp);mem[x][sp] = sum;return sum;
}int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin >> n;for(ll i = 1 ; i < n ; i++){cnt[i] += is_number(i);//求出1~n-1的各个约数之和 
//    	cout << i << "的约数之和:" << arr[i] << endl;num[i] = i; }cout << dfs(1,n);return 0;}

dp:
 

#include <iostream>
#include<algorithm>
#include<string>
using namespace std;
typedef long long ll;
const ll N = 2001;
ll cnt[N];
ll num[N];
ll n;
ll f[N][N];
int is_number(ll x)
{int sum = 0;for(ll i = 1 ; i < x ; i++){if(x % i == 0)sum += i;}return sum;
}int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin >> n;for(ll i = 1 ; i < n ; i++){cnt[i] += is_number(i);//求出1~n-1的各个约数之和 
//    	cout << i << "的约数之和:" << arr[i] << endl;num[i] = i; }for(ll i = n-1 ; i >= 1 ; i--){for(ll j = 0 ; j <= n ; j++){if(j >= num[i])f[i][j] =  max(f[i+1][j-num[i]] + cnt[i],f[i+1][j]);elsef[i][j] = f[i+1][j]; 	}	}cout << f[1][n];return 0;}

http://www.yayakq.cn/news/464651/

相关文章:

  • 暗色系网站重庆建设工程造价管理协会
  • 做养生哪个网站有客人武昌做网站报价
  • 教育网站制作论文学生建设网站
  • 小网站广告投放网站怎么做用户体验
  • 做旅游网站的数据怎么来灰色调网站
  • 免费微网站建设襄阳谷城网站建设
  • 买东西的网站香奈儿网站建设策划书
  • 天津制作企业网站报价深圳公司招聘
  • 建设网站是什么关系桂阳局网站建设方案
  • 网站建设 品牌塑造计划中石油第七建设公司官网
  • 大连做网站优化价格网站域名301设置
  • 中国建设银行网站首页初次安装宽带要多少钱
  • 深圳住房和建设管理局官方网站跨境电商被骗血本无归
  • 网站属于什么公司中建三局
  • 盖州网站优化西宁网站建设官网
  • 成都建设网站分享上海专业的网站建设
  • 成都企业网站建设公司怎样套用wordpress模板
  • 几百块钱可以做网站吗深圳龙岗区坂田街道
  • 响应式模板网站模板WordPress rpc 通知
  • 网站建设与管理规范玉泉路网站制作
  • 网站开发的主要内容网络推广优化网站
  • 可以做试卷并批改的网站建筑工程人才招聘网
  • 看网站的浏览器多媒体艺术设计
  • 网站运营可以转行做网站设计吗网站建设费如何入账怎么摊销
  • 什么是优化型网站获取网站目录下所有文件
  • 山东建设人才网站wordpress默认邮件文件
  • 漳州建设企业网站网站的管理
  • 建个网站费用大概多少钱一年怎么把网站制作成安卓
  • 上海免费网站建设服务贵州建设监理协会网站
  • 找做模型方案去哪个网站青岛外贸网站建站公司