博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 2189
阅读量:7097 次
发布时间:2019-06-28

本文共 955 字,大约阅读时间需要 3 分钟。

题目链接:

思路:dp[i][j]表示用最大不超过i的素数组成整数j的最多的方法。

1、若i不是素数,则dp[i][j]=dp[i-1][j];

2、否则,dp[i][j]=d[i-1][j]+dp[i][j-i];

View Code
1 #include
2 #include
3 #include
4 const int N=170; 5 using namespace std; 6 int prime[N]; 7 int dp[N][N]; 8 9 void Initiate(){10 for(int i=2;i<=16;i++)if(!prime[i]){11 for(int j=i*i;j<=150;j+=i){12 prime[j]=1;13 }14 }15 }16 17 int main(){18 Initiate();19 int _case;20 scanf("%d",&_case);21 while(_case--){22 int n;23 scanf("%d",&n);24 memset(dp,0,sizeof(dp));25 dp[1][0]=1;26 for(int i=2;i<=n;i++){27 for(int j=0;j<=n;j++){28 dp[i][j]=dp[i-1][j];29 }30 if(prime[i])continue;31 for(int j=i;j<=n;j++){32 dp[i][j]+=dp[i][j-i];33 }34 }35 printf("%d\n",dp[n][n]);36 }37 return 0;38 }

 

转载地址:http://kkhql.baihongyu.com/

你可能感兴趣的文章
Java Gradle入门指南之依赖管理(添加依赖、仓库、版本冲突) (转)
查看>>
使用反射生成并操作对象
查看>>
开源jabber(XMPP)架设内部即时通讯服务的解决方案
查看>>
行为统计学第二章知识总结(未完)
查看>>
关闭注册表编辑器,重新启动计算机后生效。这样资源管理器重启后就不会自动重启了。...
查看>>
Knockout应用开发指南(完整版) 目录索引
查看>>
A example that using JQuery clone
查看>>
随机梯度下降(Stochastic gradient descent)和 批量梯度下降(Batch gradient descent )的公式对比、实现对比...
查看>>
Android 使用JSON格式与服务器交互 中文乱码问题解决
查看>>
_DataStructure_C_Impl:链串
查看>>
openvas
查看>>
SecureCRT同时向多个终端发送命令
查看>>
【IntelliJ】IntelliJ IDEA常用设置及快捷键以及自定义Live templates
查看>>
indexOf 和 lastIndexOf 的区别
查看>>
spring boot整合activemq消息中间件
查看>>
Spark:java api实现word count统计
查看>>
mqtt-jmeter
查看>>
PyTorch保存模型与加载模型+Finetune预训练模型使用
查看>>
js 获取当前日期时间 格式为 yyyy-mm-dd hh:MM:ss
查看>>
解决TextBox中, JS方法(DatePicker)改变Text内容后, 无法触发OnTextChanged事件的问题
查看>>