首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
POJ 3181 Dollar Dayz ( 完全背包 && 大数高精度 )
】的更多相关文章
POJ 3181 Dollar Dayz ( 完全背包 && 大数高精度 )
题意 : 给出目标金额 N ,问你用面额 1~K 拼成 N 的方案有多少种 分析 : 完全背包的裸题,完全背包在 DP 的过程中实际就是列举不同的装填方案数来获取最值的 故状态转移方程为 dp[i] += dp[j-w[i]] 但是这题怎么可能那么简单呢! N 和 K 的上限导致答案过大,需要使用高精度加法来完成 所以无耻的用 JAVA 来搞定了 import java.io.*; import java.lang.reflect.Array; import java.util.*; impor…
POJ 3181 Dollar Dayz(全然背包+简单高精度加法)
POJ 3181 Dollar Dayz(全然背包+简单高精度加法) id=3181">http://poj.org/problem?id=3181 题意: 给你K种硬币,每种硬币各自是1美元,2美元-K美元且能够无限使用,问你用上面K种硬币构成n美元的话有多少种方法? 分析: 本题是一道明显的全然背包问题, 只是本题还能够换一种方法来看: 整数n由前K个自然数构造, 一共同拥有多少种方法? (尽管本题要用到高精度加法, 可是非常easy, 不要被吓到哦) 首先是DP部分: 令dp[i][…
POJ 3181 Dollar Dayz && Uva 147 Dollars(完全背包)
首先是 Uva 147:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=83 细心看完这题后发现还是完全背包,只不过需要对浮点数处理一下.即把所有硬币的面值都乘以100,化为整数,对输入的数据也作同样的处理,然后就是套完全背包的模板了,在输出时还要用格式和精度来卡一卡你……一开始我没想到用printf可以的,于是百度了cout的输出格式控制,…
poj 3181 Dollar Dayz(完全背包)
Dollar Dayz Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5419 Accepted: 2054 Description Farmer John goes to Dollar Days at The Cow Store and discovers an unlimited number of tools on sale. During his first visit, the tools are sell…
POJ 3181 Dollar Dayz 【完全背包】
题意: 给出两个数,n,m,问m以内的整数有多少种组成n的方法完全背包+大数划分 思路: dp[i][j] := 用i种价格配出金额j的方案数. 那么dp[i][0] = 1,使用任何价格配出金额0的方案个数都是1(什么都不用). 递推关系式: 实际上是完全背包问题,只是状态转移方程形式有所不同,不过状态转移的方向是完全相同的. dp[i][j] = dp[i – 1][j] + dp[i – 1][j – i] + dp[i – 1][j – 2 * i] + … + dp[i – 1][0]…
poj 3181 Dollar Dayz(求组成方案的背包+大数)
可能nyist看见加的背包专题我老去凑热闹,觉得太便宜我了.他们新加的搜索专题居然有密码. 都是兄弟院校嘛!何必那么小气. 回到正题,跟我写的上一篇关于求组成方案的背包思路基本一样,无非就是一个二维费用的背包换成了完全背包.如果说题目有什么亮点的话,那就是大数了.第一遍写的时候瞎了我的狗眼竟然没注意到,我的1A就这么没了. 关于组成方案的叙述,还是看我之前那篇结题报告吧:关于背包组成方案的讨论 #include<stdio.h> #include<string.h> #define…
POJ 3181 Dollar Dayz(高精度 动态规划)
题目链接:http://poj.org/problem?id=3181 题目大意:用1,2...K元的硬币,凑成N元的方案数. Sample Input 5 3 Sample Output 5 分析:这不是母函数是什么,不管你信不信,反正我是信了. 之前有过一篇,讲母函数的动态规划做法http://www.cnblogs.com/acm-bingzi/archive/2013/04/30/3051725.html 这道题目,坑就坑在高精度上了,刚开始怎么也没想到,而且做法也很奇特.就是将2个lo…
POJ 3181 Dollar Dayz (完全背包,大数据运算)
题意:给出两个数,n,m,问1~m中的数组成n,有多少种方法? 这题其实就相当于 UVA 674 Coin Change,求解一样 只不过数据很大,需要用到高精度运算... 后来还看了网上别人的解法,是将大数转化成高位和低位两部分处理 代码一:用数组存储数据的每个位 #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> using namespace std…
poj 3181 Dollar Dayz
题意:给定一个数p,要求用K种币值分别为1,2,3...K的硬币组成p,问方案数,1,2,2和2,2,1算一种方案即与顺序无关,n <= 1000,k <= 100// 用完全背包做了 这题也是母函数题目了 #include <iostream> #include <algorithm> #include <queue> #include <math.h> #include <stdio.h> #include <string.…
poj 3181 Dollar Dayz (整数划分问题---递归+DP)
题目:http://poj.org/problem?id=3181 思路:将整数N划分为一系列正整数之和,最大不超过K.称为整数N的K划分. 递归:直接看代码: 动态规划:dp[i][j]:=将整数i做j划分的方法数. dp[i][j]=dp[i][i]: if(j>i) dp[i][j]=dp[i-j][j]+dp[i][j-1]://分j出现不出现两种情况 dp[i][j]=dp[i][j-1]+1:if(i==j)//单独的一个j和另外一种不包含j #include <iostream&…