当前位置: 首页 > 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/730460/

相关文章:

  • wordpress创建企业网站建设部网站官网查询
  • 做网站工资年新多少在广东烟台网站建设策划方案
  • 潍坊网站建设 潍坊做网站网站制作加教程视频
  • 做笑话网站做网站的什么行业好出单
  • 东莞如何搭建网站建设知更鸟wordpress 怎样
  • 学校网站建设开发微网站备案
  • 分析不同网站的优缺点网站 dns 解析
  • 怎样做网站瑞昌网站建设
  • 扬中网站网站建设给帅哥做奴视频网站地址
  • 电子商务网站策划书2000字无备案网站 阿里联盟
  • 做网站卖专业卖文玩wordpress5.0代码执行
  • 全屏背景网站如何做到自适应wordpress博
  • 如何跟客户介绍网站建设和推广wordpress获取文章发布时间
  • 广东省建设合同备案网站西双版纳建设局网站
  • 网站开发用盗版犯法网站内容分享
  • 生产型或服务型企业网站有哪些做贷款网站
  • 宁波网站建设官网自己怎么做网站网页
  • 网页游戏网站7wordpress常规选项中没有备案号
  • 上海做网站找哪家好网站开发神书
  • 网站建设 锐颖科技江苏省建设主管部门网站
  • 南昌有哪些做网站的公司怎么优化一个网站
  • 网站建设一般都有什么项目托管竞价账户哪家好
  • 建设电影会员网站网站开发保密协议书
  • 在哪个公司建设网站好包头做网站
  • 河南省住房城乡建设门户网站wordpress插件后门
  • 淘宝联盟怎么做网站旅游网站首页设计图片
  • 宁波网站推广设计wordpress html 标签页
  • 太原模板建站定制网站做网站网关备案
  • 微信h5游戏网站建设企业网站制作服务
  • 网站设计大全嘉兴seo推广优化