poj 3132简单dp
来源:互联网 发布:python 保存日志文件 编辑:程序博客网 时间:2024/05/18 15:07
只要把每个素数筛出来,并用三维dp一下,dp[n][t][k],表示前k个素数表示出的n、t元素,转移方程为:dp[n][t][k]=dp[n][t][k-1]+dp[n-prim[k]][t-1][k-1].无坑点。
#include<stdio.h>#include<iostream>#include<algorithm>#include<string.h>using namespace std;int dp[1125][15][188];int prim[188];int vis[1125];int main(){ int i,j,n,m,k,p,t; int tot=0; for(i=2;i<=1120;i++) { if(!vis[i]) { prim[tot++]=i; for(j=2*i;j<=1120;j+=i) vis[j]=1; } } for(i=0;i<tot;i++) dp[0][0][i]=1; dp[2][1][0]=1; for(i=2;i<=1120;i++) { for(j=1;j<=14;j++) { for(k=0;k<tot;k++) { if(k>0&&prim[k]<=i) dp[i][j][k]=dp[i][j][k-1]+dp[i-prim[k]][j-1][k-1]; if(k>0&&prim[k]>i) dp[i][j][k]=dp[i][j][k-1]; } } } while(1) { cin>>k>>p; if(!k&&!p) break; printf("%d\n",dp[k][p][tot-1]); } return 0;}
0 0
- poj 3132简单dp
- POJ 2181简单DP
- POJ-2004 简单DP..
- poj 2385 简单dp
- poj 3486 简单dp
- poj 2353 简单dp
- poj-2355-简单dp
- poj-2479 简单DP
- poj 3267 简单dp
- poj 3280 简单dp
- poj 2948 简单dp
- POJ 3176 简单DP
- POJ 3176 简单DP
- poj 3616(简单dp)
- poj 3920(简单dp)
- poj 2355(简单dp)
- POJ 2479 (简单dp)
- poj 3616 简单dp
- SQL PRIMARY KEY 约束
- IOS 运用dispatch_once 创建单例 MARK
- 【转载】.so文件打包进apk方法
- KMP算法
- Hibernate实现分页
- poj 3132简单dp
- 单例设计模式
- SQL FOREIGN KEY 约束
- HTTP和Java
- 软件开发未来前景怎么样?学软件开发有前途吗?
- 【仿乐享微信源码】利用第三方微信营销托管平台快速增加粉丝,形成良好互动,打造精美微信APP
- android 读写文件示例
- virsh 命令搜集
- java创建哈夫曼树和实现哈夫曼编码