Ingenuous Cubrency

又是dp问题,我又想了2 30分钟,一点思路也没有,最后又是看的题解,哎,为什么我做dp的题这么烂啊!

【题目链接】Ingenuous Cubrency

【题目类型】dp

&题意:

21种硬币,第i种的价值是i* i* i,给出一个数额,问有几种方法能组成这个数额。
比如这个数额是21,那么输出3,有3种方法:
1:21个1
2:1个8,13个1
3:2个8,5个1

&题解:

每次dp,要先想到dp的对象,这次就是要枚举输入的n。
dp数组也要想到边界,这次的边界就是dp[0]=1;
外层要枚举21种数,内层枚举n。注意顺序,21种数是从1开始到21的,因为前面的总是比后面小,这样就能为后面的服务,不会缺少情况了。内层是从coin[i]到n,因为你要注意dp方程的顺序,它用到了前面的值,所以要正着枚举。

【时间复杂度】O(n)

&代码:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int INF = 0x3f3f3f3f;
#define cle(a,val) memset(a,(val),sizeof(a))
#define SI(N) scanf("%d",&(N))
#define SII(N,M) scanf("%d %d",&(N),&(M))
#define SIII(N,M,K) scanf("%d %d %d",&(N),&(M),&(K))
#define rep(i,b) for(int i=0;i<(b);i++)
#define rez(i,a,b) for(int i=(a);i<=(b);i++)
#define red(i,a,b) for(int i=(a);i>=(b);i--)
const ll LINF = 0x3f3f3f3f3f3f3f3f;
#define PU(x) puts(#x);
#define PI(A) cout<<(A)<<endl;
#define DG(x) cout<<#x<<"="<<(x)<<endl;
#define DGG(x,y) cout<<#x<<"="<<(x)<<" "<<#y<<"="<<(y)<<endl;
#define DGGG(x,y,z) cout<<#x<<"="<<(x)<<" "<<#y<<"="<<(y)<<" "<<#z<<"="<<(z)<<endl;
#define PIar(a,n) rep(i,n)cout<<a[i]<<" ";cout<<endl;
#define PIarr(a,n,m) rep(aa,n){rep(bb, m)cout<<a[aa][bb]<<" ";cout<<endl;}
const double EPS = 1e-9 ;
/*     C o d i n g  S p a c e     */
const int MAXN = 10000 + 5 ;
int coin[50],n;
ll dp[MAXN];
void Solve()
{while(~SI(n)){cle(dp,0);dp[0]=1;for(int i=1;i<=21;i++){for(int j=coin[i];j<=n;j++){dp[j]+=dp[j-coin[i]];}}PI(dp[n])}
}
int main()
{
#ifndef ONLINE_JUDGEfreopen("1.in", "r", stdin);freopen("1.out","w",stdout);
#endif
//iostream::sync_with_stdio(false);
//cin.tie(0), cout.tie(0);// int T;cin>>T;while(T--)rez(i,1,21) coin[i]=i*i*i;Solve();return 0;
}

转载于:https://www.cnblogs.com/s1124yy/p/5942439.html

UVA 11137 Ingenuous Cubrency(dp)相关推荐

  1. Uva 1625 - Color Length(DP)

    题目链接 https://cn.vjudge.net/problem/UVA-1625 [题意] 输入两个长度分别为n和m的颜色序列(n,m<=5000),要求按一定规则合并成一个序列,规则是每 ...

  2. 【UVa】Wavio Sequence(dp)

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  3. UVA 662 Fast Food(dp)

    题意: 一条直线马路上有n个餐馆,各个餐馆的坐标为di. 现在要在这n个餐馆中选择k个餐馆用来建造仓库. 没有仓库的餐馆,只能使用附近最近的一个仓库. 问总距离最少的建造方案,并输出. 思路: 先进行 ...

  4. 求三角形最大面积(DP)

    求三角形最大面积(DP) 在OJ上奇迹般WA了:WA:70. Why? #include <iostream> #include <string.h> using namesp ...

  5. LeetCode 编辑距离 II(DP)

    1. 题目 给你两个单词 s 和 t,请你计算出将 s 转换成 t 所使用的最少操作数. 你可以对一个单词进行如下两种操作: 删除一个字符 替换一个字符 注意: 不允许插入操作 题目保证有解 示例: ...

  6. LeetCode 1220. 统计元音字母序列的数目(DP)

    文章目录 1. 题目 2. 解题 1. 题目 给你一个整数 n,请你帮忙统计一下我们可以按下述规则形成多少个长度为 n 的字符串: - 字符串中的每个字符都应当是小写元音字母('a', 'e', 'i ...

  7. LeetCode 265. 粉刷房子 II(DP)

    文章目录 1. 题目 2. 解题 1. 题目 假如有一排房子,共 n 个,每个房子可以被粉刷成 k 种颜色中的一种,你需要粉刷所有的房子并且使其相邻的两个房子颜色不能相同. 当然,因为市场上不同颜色油 ...

  8. LeetCode 256. 粉刷房子(DP)

    文章目录 1. 题目 2. 解题 1. 题目 假如有一排房子,共 n 个,每个房子可以被粉刷成红色.蓝色或者绿色这三种颜色中的一种,你需要粉刷所有的房子并且使其与相邻的两个房子颜色不能相同. 当然,因 ...

  9. LeetCode 1223. 掷骰子模拟(DP)

    1. 题目 有一个骰子模拟器会每次投掷的时候生成一个 1 到 6 的随机数. 不过我们在使用它时有个约束,就是使得投掷骰子时,连续 掷出数字 i 的次数不能超过 rollMax[i](i 从 1 开始 ...

  10. LeetCode 1155. 掷骰子的N种方法(DP)

    1. 题目 这里有 d 个一样的骰子,每个骰子上都有 f 个面,分别标号为 1, 2, -, f. 我们约定:掷骰子的得到总点数为各骰子面朝上的数字的总和. 如果需要掷出的总点数为 target,请你 ...

最新文章

  1. 刀片服务器提升三要点
  2. HTML5实例教程:OL标签的start属性和reversed属性
  3. Java黑皮书课后题第7章:**7.19(是否排好序了?)编写以下方法,如果参数中的list数组已经排好序了则返回true。编写一个测试程序,提示用户输入一个列表,显示该列表是否已经排好序
  4. 【最新合集】编译原理习题(含答案)_1 绪论_MOOC慕课 哈工大陈鄞
  5. python最快的循环方法_【转】【Python效率】五种Pandas循环方法效率对比
  6. WPF的样式(Style)继承
  7. 涡轮增压扫地机器人_帮着做家务,好坏在哪里,科沃斯T5扫地机器人
  8. Python编写只允许实例化一个对象的类
  9. ruby+selenium-webdriver一步一步完成自动化测试(5)—–多个测试用例
  10. orb特征 稠密特征_特征点的基本概念和如何找到它们
  11. ORACLE报错(5)ORA-01102: cannot mount database in EXCLUSIVE mode
  12. python中非法变量名_第10p,Python中变量名的命名规则与引用
  13. 当Analyzer 2007 遇上.Net 3.0时,可能会秀才爱上兵
  14. itunes无法安装到win7系统更新服务器失败怎么办啊,Win7系统安装iTunes失败出错无法安装的解决方法...
  15. Mac 配置远程服务器 - 免密登陆
  16. 【Python绘图】pyecharts绘制南丁格尔玫瑰图
  17. 关于中医把脉的一点想法
  18. Python:实现similarity search相似性搜索算法(附完整源码)
  19. c# 开发winform控件
  20. 2020-10-20 任务三(一) RTOS系统初识

热门文章

  1. macos复制粘贴快捷键 快速_Mac复制粘贴快捷键怎么修改 Mac复制粘贴快捷键修改步骤...
  2. USACO3.4 “破锣摇滚”乐队 Raucous Rockers - DP
  3. python安装jupter在线ide
  4. 道哥亲笔:谈谈为什么要做弹性安全网络
  5. 2020.10期权合约产品研究报告 | TokenInsight
  6. 研究生数学建模经验分享
  7. 开源 MQTT 服务器
  8. POJ 3684 Physics Experiment(弹性碰撞)
  9. python绘制小狗_SAI教程:绘画小狗手绘板教程
  10. Stack Frame JAVA运行时数据区域之栈帧