蓝桥杯 算法提高 拿糖果
来源:互联网 发布:下载视频软件 编辑:程序博客网 时间:2024/05/08 00:38
题目分析
简单的dp,注意要构建素数表
#include <cstdio>#include <cstring>#include <iostream>#include <cmath>#include <algorithm>using namespace std;const int maxn = 100005;int vis[1005];int prime[1005];int dp[maxn];int init() //构建素数表{ memset(vis,0,sizeof(vis)); int cnt = 0,len = sqrt(maxn) + 1; for(int i = 2; i < len; i++) if(!vis[i]) { prime[cnt++] = i; for(int j = i*i; j < len; j += i) vis[j] = 1; } return cnt;}int main(){ int n; int cnt = init(); while(scanf("%d", &n) != EOF) { memset(dp, 0, sizeof(dp)); for(int i = 1; i <= n; i++) { for(int j = 0; j < cnt; j++) { if(prime[j] > sqrt(i)) break; else if(i%prime[j] == 0) dp[i]=max(dp[i], dp[i-2*prime[j]]+prime[j]); } } printf("%d\n", dp[n]); } return 0;}
0 0
- 蓝桥杯 算法提高 拿糖果
- 蓝桥杯算法提高 拿糖果
- 蓝桥杯 算法提高 拿糖果
- 蓝桥杯 算法提高 拿糖果
- 算法提高 拿糖果
- 算法提高 拿糖果
- 算法提高 拿糖果
- 算法提高 拿糖果
- 蓝桥杯练习:算法提高 拿糖果
- 蓝桥杯--算法提高:拿糖果(动态规划)
- 算法提高 拿糖果 DP
- 蓝桥杯 算法提高 拿糖果(筛法+动态规划)
- 蓝桥杯 ADV-205算法提高 拿糖果(动态规划)
- 蓝桥杯 ADV-205 算法提高 拿糖果 java版
- 蓝桥杯 算法提高 拿糖果(dfs+记忆化搜索)
- 蓝桥杯算法提高——拿糖果(数学+dp)
- 算法提高 拿糖果 线性DP
- 算法提高 拿糖果(动态规划)
- IOS开发-画直线
- TensorFlow Machine Learning with Financial Data on Google Cloud Platform
- 查询MySQL中某个数据库中有多少张表
- html总结
- leetcode笔记—map容器的使用
- 蓝桥杯 算法提高 拿糖果
- MySQL修改列名称或列的数据类型
- 深入理解Activity启动模式(一)–Activity与进程,线程的关系
- hdu 4709 Herding
- addLoadEvent应用方法
- 【c程序设计语言(第二版)】素数
- 建立Cocos2d-3.x版的HelloWorld
- 判断一个比较大的数是不是素数的方式(最简单的)
- UVA575 Skew Binary