POJ 3132
2016-09-19 22:34
323 查看
【题目分析】
素数筛+DP
【代码】
素数筛+DP
【代码】
#include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; bool have[1201]; int pri[1200],top=0; int dp[1121][15],n,m; int main() { memset(have,false,sizeof have); for (int i=2;i<=1200;++i) { if (!have[i]) pri[++top]=i; for (int j=1;j<=top&&(pri[j]*i)<=1200;++j) { // cout<<"out"<<pri[j]*i<<" "<<endl; have[pri[j]*i]=true; if (i%pri[j]==0) break; } } memset(dp,0,sizeof dp); dp[0][0]=1; for (int i=1;i<=top;++i) for (int j=1120;j>=pri[i];--j) for (int k=1;k<=14;++k) dp[j][k]+=dp[j-pri[i]][k-1]; while (scanf("%d%d",&n,&m)!=EOF&&n&&m) printf("%d\n",dp [m]); }
相关文章推荐
- 初学ACM - 组合数学基础题目PKU 1833
- POJ ACM 1001
- POJ ACM 1002
- 1611:The Suspects
- POJ1089 区间合并
- POJ 2159 Ancient Cipher
- POJ 2635 The Embarrassed Cryptographe
- POJ 3292 Semi-prime H-numbers
- POJ 2773 HAPPY 2006
- POJ 3090 Visible Lattice Points
- POJ-2409-Let it Bead&&NYOJ-280-LK的项链
- POJ-1695-Magazine Delivery-dp
- POJ1523 SPF dfs
- POJ-1001 求高精度幂-大数乘法系列
- POJ-1003 Hangover
- POJ-1004 Financial Management
- [数论]poj2635__The Embarrassed Cryptographer
- [二分图匹配]poj2446__Chessboard
- [强连通分量]poj2186_Popular Cows
- POJ1050 最大子矩阵和