[BZOJ 3233] 找硬币】的更多相关文章

Link: BZOJ 3233 传送门 Solution: 在本蒟蒻看来算是一道比较神的$dp$了 一开始转移方程都没看出来…… 首先,如果确定了最大面值,是能推出其他面值的所有可能值的 从而发现最大面值能由较小的面值转移过来: $dp[i]=min\{ dp[i/j]-sum\{ a[k]/i*(j-1)\} \}$ (其中$a[k]/i$是大面值需要的个数,$a[k]/(i/j)$是小面值需要的个数,余数不处理) 下面就要处理$j$的取值了, 首先要看到一个比较明显的性质:用$dp[i]$转…
BZOJ 3233: [Ahoi2013]找硬币 标签(空格分隔): OI-BZOJ OI-DP Time Limit: 10 Sec Memory Limit: 64 MB Description 小蛇是金融部部长.最近她决定制造一系列新的货币.假设她要制造的货币的面值为x1,x2,x3- 那么x1必须为1,xb必须为xa的正整数倍(b>a).例如 1,5,125,250就是一组合法的硬币序列,而1,5,100,125就不是.不知从哪一天开始,可爱的蛇爱上了一种萌物--兔纸!从此,小蛇便走上了…
dp(x)表示最大面值为x时需要的最少硬币数. 枚举x的质因数p,  dp(x) = min( dp(x/p) - (p-1) * sigma[a[i]/x] ). ---------------------------------------------------------------------------------- #include<cstdio> #include<cstring> #include<algorithm>   using namespac…
3233: [Ahoi2013]找硬币 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 924  Solved: 482[Submit][Status][Discuss] Description 小蛇是金融部部长.最近她决定制造一系列新的货币.假设她要制造的货币的面值为x1,x2,x3… 那么x1必须为1,xb必须为xa的正整数倍(b>a).例如 1,5,125,250就是一组合法的硬币序列,而1,5,100,125就不是.不知从哪一天开始,可爱的蛇…
[Ahoi2013]找硬币 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 348  Solved: 114[Submit][Status] Description 小蛇是金融部部长.最近她决定制造一系列新的货币.假设她要制造的货币的面值为x1,x2,x3… 那么x1必须为1,xb必须为xa的正整数倍(b>a).例如1,5,125,250就是一组合法的硬币序列,而1,5,100,125就不是.不知从哪一天开始,可爱的蛇爱上了一种萌物——兔纸!从此,小…
[BZOJ 4820] [SDOI2017] 硬币游戏(高斯消元+概率论+字符串hash) 题面 扔很多次硬币后,用H表示正面朝上,用T表示反面朝上,会得到一个硬币序列.比如HTT表示第一次正面朝上,后两次反面朝上. 选出n个同学,每个同学猜一个长度为m的序列,当某一个同学猜的序列在硬币序列中出现时(匹配时的序列必须连续),就不再扔硬币了,并且这个同学胜利.猜的n个序列两两不同. 假设硬币正反面朝上的概率相同,求每个同学胜利的概率. \(n \leq 300\) 分析 (注意,本题中不区分序列和…
Description 小蛇是金融部部长.最近她决定制造一系列新的货币.假设她要制造的货币的面值为x1,x2,x3… 那么x1必须为1,xb必须为xa的正整数倍(b>a).例如 1,5,125,250就是一组合法的硬币序列,而1,5,100,125就不是.不知从哪一天开始,可爱的蛇爱上了一种萌物——兔纸!从此,小蛇便走上了遇上兔纸娃娃就买的不归路.某天,小蛇看到了N只可爱的兔纸,假设这N 只兔纸的价钱分别是a1,a2…aN.现在小蛇想知道,在哪一组合法的硬币序列下,买这N只兔纸所需要的硬币数最少…
[题目 描述] 小蛇是金融部部长. 最近她决定制造一系列新的货币. 假设她要制造的货币 的面值为 x1, x2, x3… 那么 x1 必须为 1, xb 必须为 xa 的正整数倍(b>a). 例如 1, 5, 125, 250 就是一组合法的硬币序列, 而 1, 5, 100, 125 就不是. 不知从哪一天开始, 可爱的蛇爱上了一种萌物——兔子! 从此, 小蛇便走上 了遇上兔子娃娃就买的不归路. 某天, 小蛇看到了 N 只可爱的兔子, 假设这 N 只 兔子的价钱分别是 a1, a2…aN. 现…
题意: 求确定n种货币面额x1..xn满足 x1=1 且xi为xj的整数倍(i>j) 给定n个物品价格ai 求使用上面货币最少需要硬币数(不能找零) 题解: 动态规划 听说网上的题解都是搜索的做法- - 只有一个人有说能用dp 但是没说怎么做 我想了一晚上 终于想出了dp的做法orz f[i]表示最大货币面额为i 时 所需最少硬币数 转移方程: f[i]=f[j]-Σ(a[k]/i)*(i/j-1) (j为i的因数,/为整除) 其实这个方程也不难 意思就是求每个物品能用几次i 硬币支付 而没有i…
题目链接:BZOJ - 1042 题目分析 首先 Orz Hzwer ,代码题解都是看的他的 blog. 这道题首先使用DP预处理,先求出,在不考虑每种硬币个数的限制的情况下,每个钱数有多少种拼凑方案. 为了避免重复的方案被转移,所以我们以硬币种类为第一层循环,这样阶段性的增加硬币. 一定要注意这个第一层循环要是硬币种类,并且初始 f[0] = 1. f[0] = 1; for (int i = 1; i <= 4; ++i) { for (int j = B[i]; j <= MaxS; +…