SPOJ 25000 BOKAM143SOU
来源:互联网 发布:js怎么调用类库 编辑:程序博客网 时间:2024/05/30 04:24
Description
给出一个正整数n,问把n拆成至多五个立方数的和的方案数
Input
一个整数n(1<=n<=125000)
Output
输出把n拆成至多五个立方数的和的方案数
Sample Input
64
Sample Output
2
Solution
dp[i][j]表示把i拆成j个立方数的方案数,则有转移方程dp[i+k*k*k*][j]+=dp[i][j-1]
k至多50,dp[n][5]即为答案(因为把0也看作立方数所以dp[n][5]其实就是把n拆成至多5个立方数的方案数)
Code
#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>#include<cmath>#include<vector>#include<queue>#include<map>#include<set>#include<ctime>using namespace std;typedef long long ll;#define INF 0x3f3f3f3f#define maxn 125125int n,dp[maxn][6];int main(){ while(~scanf("%d",&n)) { memset(dp,0,sizeof(dp)); dp[0][0]=1; for(int i=0;i<=50;i++) for(int j=0;j+i*i*i<=n;j++) for(int k=0;k<5;k++) dp[j+i*i*i][k+1]+=dp[j][k]; printf("%d\n",dp[n][5]); } return 0;}
阅读全文
0 0
- SPOJ 25000 BOKAM143SOU
- SPOJ BOKAM143SOU dp
- SPOJ
- SPOJ
- SPOJ
- SPOJ
- SPOJ
- SPOJ
- SPOJ
- SPOJ
- SPOJ
- SPOJ
- SPOJ
- SPOJ
- SPOJ
- SPOJ
- SPOJ
- SPOJ
- onClickRow
- 3 、shiro与Web集成
- 树形DP,计数DP,概率DP(HDU 5378,Leader in Tree Land)
- C语言之内存管理(一)
- spring+mybatis+ajax上传下载文件
- SPOJ 25000 BOKAM143SOU
- 完后转账的案例
- ueditor在bootstrap的modal中显示,高度无法自适应
- 数组的简单实现
- bzoj 2286: [Sdoi2011]消耗战
- javaEE之request&response
- IntelliJ IDEA 部署Tomcat及创建一个web工程
- java项目打包成exe
- Android——UI篇:android省市区三级联动控件的使用