洛谷P8646题解 当前速读

题目描述:


(资料图片)

给定 n 个非负整数 a[1],a[2],…,a[n],你需要选出若干个数使得它们的和最大,同时满足相邻的两个数不能同时被选中。

解题思路:

这是一道比较经典的动态规划问题,可以使用类似于背包问题的思路进行解决。具体来说,我们设 f[i] 表示前 i 个数中的最大值,且第 i 个数必须被选中的情况下的最大和,g[i] 表示前 i 个数中的最大值,且第 i 个数没有被选中的情况下的最大和。则有以下状态转移方程:

f[i]=g[i-1]+a[i]

g[i]=max(g[i-1],f[i-1]

其中 f[i] 表示第 i 个数被选中的情况,而 g[i] 表示第 i 个数不被选中的情况。最终所求答案即为 max(f[n],g[n])。

代码:

#include <bits/stdc++.h>

using namespace std;

int n,A[105];

bool dp[10005];

void init()

{

dp[0]=true; 

for(int i=1;i<=n;i++)

for(int j=0;j+A[i]<=10000;j++)

if(dp[j]) dp[j+A[i]]=true;//动态规划 

}

int main()

{

scanf("%d",&n);

for(int i=1;i<=n;i++)

scanf("%d",&A[i]);

int GCD=A[1];

for(int i=2;i<=n;i++)

GCD=__gcd(GCD,A[i]);//求出最大公因数 

if(GCD>1)//特判 

{

cout<<"INF"; 

return 0;

}

init();

int ans=0;

for(int i=1;i<=10000;i++)

if(!dp[i]) ans++;//动态规划 

printf("%d",ans);

return 0;

}

关键词:

为您推荐

洛谷P8646题解 当前速读

题目描述:给定n个非负整数a[1],a[2],…,a[n],你需要选出若干个数使得它们的和最大,同时满足相邻的两个数

来源:哔哩哔哩2023-05-21

世界今日讯!武汉市人才服务中心

1、中国武汉人才市场是国家人事部、湖北省人民政府、武汉市人民政府共同组建的国家级区域性人才市场。2、在

来源:互联网2023-05-21

热资讯!聚焦国家战略 油气资源、港股通互联网等指数即将发布与优化

上证报中国证券网讯(记者林淙)据上证报记者梳理统计,上交所和中证指数公司于近日新发及修订中证油气资源

来源:上海证券报·中国证券网2023-05-21

地狱乐 第八集 弟子与师 预告

概要原文「クズ」と呼ばれていた。そんなガキに侍の誇りを与えてくれた先生がいた。そして、心の底から守り

来源:哔哩哔哩2023-05-21

江汉区唐家墩小学:着传统霓裳,创环保今韵 快资讯

江汉区唐家墩小学:着传统霓裳,创环保今韵---为推进家庭家教家风建设,深化家校社协同育人机制,推动江汉

来源:荆楚网(湖北日报网)2023-05-21

天天观速讯丨图赫尔败笔不断!拜仁主场1-3遭莱比锡逆转 送多特争冠主动权

最终,拜仁主场1-3被莱比锡逆转,拜仁多赛1场仅领先多特蒙德1分,拱手让出了争冠主动权,莱比锡成功争四,

来源:智道足球2023-05-21

天天要闻:【月亮看盘】进入磨底阶段,酝酿较大级别波段行情

作者:月下横笛发表日期:2023-5-21▌本期周评目录一、大盘数据:权重指数继续走弱,中小指数相对较强二、

来源:月下横笛2023-05-21

怎么确定自己胸下垂了_胸部外扩下垂如何矫正

胸廓扩张下垂的矫正方法主要包括以下几个方面:1 非手术治疗:患者胸部外展下垂。如果外展下垂程度较轻,就

来源:互联网2023-05-21