UVA 674 - Coin Change
来源:互联网 发布:风靡网络 编辑:程序博客网 时间:2024/06/09 19:54
题目大意:
用5种面额的硬币找钱(钱恰好),求方法数。
要注意 1.Note that we count that there is one way of making change for zero cent.
2. Your program should be able to handle up to 7489 cents.
题目类型: dp
分析:
记di 为要找i元钱的方法数,则di= { ∑(dj)| j=i-ck, k = 0~4 } ck 为硬币面额。
①开始的时候单纯这样做,发现会有重复,如d11 = d10+d6+d1 , 而d10 和 d6里包含 1 5 11111、 5 111111 重复。所以,把
d 指标升级到二维, 加入pre 指之前一个取的硬币,循环 k下标 则从pre开始,即总是先取大面额的硬币,于是对于上例只会出现 5 111111这种情况了。 (详见代码注释)
②开始的时候竟然TLE了,测试的数据应该有7489组(7490的ans就会超出int32了)。最后发现是不该把vis数组再清空的。因为针对的是同一个问题(都是那五种面额),则指标 d值应该都是一样的。改后 0.02s AC。
代码:
- UVA 674 - Coin Change
- UVa 674 - Coin Change
- uva 674 Coin Change
- uva:674 - Coin Change
- Uva 674 Coin Change
- uva 674 Coin Change
- uva 674 - Coin Change
- UVa 674 - Coin Change
- Uva - 674 - Coin Change
- UVa 674 - Coin Change
- uva 674 Coin Change
- UVa 674 - Coin Change
- UVa 674 - Coin Change
- UVA-674-Coin Change
- UVA 674 coin change
- UVa 674: Coin Change
- UVA - 674 Coin Change
- uva 674 Coin Change
- Hibernate分布式缓存问题解决(Swarmcache)
- 李彦宏:我不是传奇(网络转载)
- wireless.sh
- oracle日期函数IW和WW 的区别 oracle求当前日期是今年第几天,第几周,第几月,第几季度?
- GridView中对日期时间字段进行格式化
- UVA 674 - Coin Change
- 插件
- 滑动菜单效果javaScript
- 汉诺塔问题
- Android 源代码结构
- perl 时间
- 不要忽视BI的应用环境
- 新开通,欢迎光临
- arm 交叉编译工具链(IXP425 大端)