问题描述
妈妈给小B买了N块糖!但是她不允许小B直接吃掉。
  假设当前有M块糖,小B每次可以拿P块糖,其中P是M的一个不大于根号下M的质因数。这时,妈妈就会在小B拿了P块糖以后再从糖堆里拿走P块糖。然后小B就可以接着拿糖。
  现在小B希望知道最多可以拿多少糖。
输入格式
  一个整数N
输出格式
  最多可以拿多少糖
样例输入
15
样例输出
6
数据规模和约定
N <= 100000

分析:动态规划问题~~首先呢~创建一个满足不大于根号下最大值MAXN的素数表,然后对素数表里面的数逐个遍历~
构建一个dp[i]数组,表示当糖果数量为i的时候所能拿的最多的糖果数量~
对于dp[i]的值:因为小B只能每次拿不大于根号下i的质因数,遍历素数表中满足条件的素数(prime[j] <= sqrt(i) && i % prime[j] == 0),更新dp[i]的值为(dp[i-2*prime[j]] + prime[j])的最大值~
即:dp[i] = max(dp[i], dp[i-2*prime[j]] + prime[j]);

#include <iostream>
#include <cmath>
using namespace std;
int prime[50000];
int dp[100005];
int book[100005];
int cnt = 0;void create() {int len = sqrt(100005);for(int i = 2; i <= len; i++) {if(book[i] == 0) {prime[cnt++] = i;for(int j = i * i; j <= len; j = j + i)book[j] = 1;}}
}int main() {create();int n;cin >> n;for(int i = 1; i <= n; i++) {for(int j = 0; j < cnt; j++) {if(prime[j] > sqrt(i))break;if(i % prime[j] == 0)dp[i] = max(dp[i], dp[i-2*prime[j]] + prime[j]);}}cout << dp[n];return 0;
}

蓝桥杯 ADV-205算法提高 拿糖果(动态规划)相关推荐

  1. [蓝桥杯]测试题 E 算法提高 我们的征途是星辰大海 题解和C++示例代码

    E 算法提高 我们的征途是星辰大海 时间限制:1.0s   内存限制:256.0MB 最新的火星探测机器人curiosity被困在了一个二维迷宫里,迷宫由一个个方格组成. 共有四种方格: '.' 代表 ...

  2. 蓝桥杯题库 算法提高非vip部分(C++、Java)代码实现(251-280)

    文章目录 ADV-251 Petri Net Simulation cpp: java: ADV-252 Navigation cpp: ADV-256 The Sky is the Limit cp ...

  3. 【蓝桥杯练习】算法提高 贪吃的大嘴

    问题描述 给定N个物品,每个物品有一个重量W和一个价值V.你有一个能装M重量的背包.问怎么装使得所装价值最大.每个物品只有一个. 输入格式 输入的第一行包含两个整数n, m,分别表示物品的个数和背包能 ...

  4. 【预览】蓝桥杯竞赛python算法笔记 代码模板|吐血总结|蓝桥杯省赛国赛

    [预览]蓝桥杯竞赛python算法笔记 代码模板|吐血总结 完整版链接 文章目录 [预览]蓝桥杯竞赛python算法笔记 代码模板|吐血总结 1 二分算法求分界值 2 双指针算法 2.1 求最长的不包 ...

  5. 蓝桥杯:试题 算法训练 Remember the A La Mode

    蓝桥杯:试题 算法训练 Remember the A La Mode 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 Hugh Samston经营着一个为今年的ICPC世界总决赛的参 ...

  6. 【完整版】蓝桥杯竞赛python算法笔记 代码模板|吐血总结|蓝桥杯省赛国赛

    蓝桥杯竞赛python算法笔记 代码模板|吐血总结 文章目录 蓝桥杯竞赛python算法笔记 代码模板|吐血总结 1 二分 1.1 二分求最大满足(check红色条件) 1.2 二分求最小满足(che ...

  7. 蓝桥杯 蓝肽子序列 python(2020动态规划)

    蓝桥杯 蓝肽子序列 python(2020动态规划) 题目描述 L 星球上的生物由蛋蓝质组成,每一种蛋蓝质由一类称为蓝肽的物资首尾连接成一条长链后折叠而成. 生物学家小乔正在研究 L 星球上的蛋蓝质. ...

  8. 蓝桥杯之Python算法设计系列(二)

    目录 基础算法案例 全套资源点击此处下载 1.特殊回文数 2.特殊回文数 3.A+B案例 4.数组排序 5.序列求和 6.十六进制转八进制 7.十六进制转十进制 8.查找数字出现次数 9.水仙花 10 ...

  9. 【蓝桥杯】什么算法才是版本答案?近三年(2019-2021)蓝桥杯省赛涉及算法出现频率分析

    2022年的蓝桥杯比赛已经基本报名结束,寒假来临,如何抓住重点,快速掌握各种算法知识,在4月份的蓝桥杯省赛中取得好成绩呢?本文收集了近三年的4场蓝桥杯省赛题目,(2019年,2020年第二场,2020 ...

  10. 蓝桥杯,ACM算法视频及文档资料『免费送』

    欢迎大家加入CSDN-蓝桥杯竞赛社区 https://bbs.csdn.net/forums/lanqiaobei 以下介绍为蓝桥杯参赛视频学习教程资料,以及ACM等高级算法竞赛的高级算法进阶课程(看 ...

最新文章

  1. scala定义抽象类与抽象字段
  2. 哪种 Python IDE 最适合你?这里有一份优缺点列表
  3. movie bookmark
  4. 云存储之对象存储性价比小谈
  5. Python】Scrapy抓取多玩Gif图片
  6. Android studio 打包 uni App 修改apk名称,app名称及图标
  7. 贝茜放慢脚步(二路归并)
  8. 电脑桌面计算机找不到,电脑桌面没有了怎么恢复?电脑桌面没有了的恢复方法...
  9. DAMS峰会:解读ES搜索平台、AI中台、DataOps、机器学习等大数据技术精要
  10. 1407. 排名靠前的旅行者
  11. 清华大学的同学,究竟有多难?
  12. 原生Servlet的编写
  13. Webgis 打印实现技术细节
  14. 软件测试—第八章黑盒测试之决策表法
  15. php实现采集电影数据
  16. 从开发零基础到登上Steam和Oculus:一个VR游戏开发者的自述
  17. 88、基于STM32单片机的指纹考勤机指纹识别签到系统设计
  18. XBee3 zigbee AT命令集
  19. python海伦公式_python使用海伦公式Python 入门指南翻译
  20. 计算机组成原理实验输出大小写字母,计算机组成原理实验指导书-201511修订.doc...

热门文章

  1. git创建仓库,并提交代码(第一次创建并提交)
  2. Java list.remove( )方法需要注意的地方
  3. 服务器常用的状态码及其对应的含义如下
  4. 自定义video控制栏,移动端可行
  5. Apple 如何知道你使用了私有API
  6. [Servletamp;JSP] 从JSP到Servlet
  7. OpenERP 中的on_change方法总结
  8. 奇安信代码安全实验室帮助谷歌修复 Chrome 沙箱外高危漏洞,获官方致谢
  9. 雇佣黑客组织利用 3Ds Max 恶意软件攻击全球企业
  10. Linux开源系统OpenWrt被曝RCE 漏洞已存在3年,数百万网络设备受影响