dp
SineyCoder
以算法和JAVA为主
展开
-
硬币问题 经典dp
题目描述: 给出一些面额硬币,求构成N的最少硬币数量。如2,3,5 3枚硬币,求给出N=11的最少硬币数量。 如果用贪心算法,那么有一定几率可以正确,但是有时候会有例外: 比如贪心是一直取最大,那么就会发现取不到11组成,但是的确存在—-3+3+5或3+3+3+2取最少,为3. dp[i] = min{dp[i-a1]+1,dp[i-a2]+1……}. 这里a1,a2是可以使用原创 2017-03-12 11:20:37 · 533 阅读 · 0 评论 -
取数 dp
问题描述: 取数 从键盘上输入两个自然数n和k(n<=100,k<=10),从1,2,。。。,n中任取k个数,要求所取的k个数中,任意两个数不能相差1。编程求有多少种取法。 如:n=6 ,k=3,,从1,2,3,4,5,6中取3个数,任意两个数不能相差1,取法如下: (1 3 5) (1 3 6) (1 4 6) (2 4 6) 共有4种取法。 思路:我用动规做法原创 2017-03-31 10:47:38 · 811 阅读 · 0 评论 -
hdu2089 不要62 数位基础dp
Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。 不吉利的数字为所有含有4或62的号码。例如: 62315 73418 88914 都属于不吉利号码。但是,61152虽然含有6和2原创 2017-03-16 13:47:03 · 378 阅读 · 0 评论 -
抢金块(gold) 基础dp
抢金块(gold) 【问题描述】 地面上有一些格子,每个格子上面都有金块,但不同格子上的金块有不同的价值,你一次可以跳S至T步(2≤S<T≤10)。例如S=2,T=4,你就可以跳2步、3步或4步。你从第一个格子起跳,必须跳到最后一个格子上,请你输出最多可以获得的金块的总价值。 【输入格式】 第一行是格子个数n(n<1000);第二行是S和T,保证T大于S(2≤S<T≤10); 第三行是每个原创 2017-03-16 14:06:58 · 2578 阅读 · 2 评论