dp
文章平均质量分 54
Jackson-p
相信命运,自律自由.
展开
-
hdu 2546 01背包1
其实刚接触到动态规划的时候就应该试一试背包问题,挺经典的入坑一年了再开始好好练一练背包九讲毕竟动态规划经典问题: 这道题的意思就是给你一定的钱,然后去买菜,每个菜都有价格,只能买一次(这里应该想到背包),然后小于等于5的时候不能买。仔细想想能感觉到,我们要把钱先花到5然后在买最贵的菜剩的钱最少。(因为如果钱数留的小于5就花不了了hh).所以先把5从总数里减去,剩下的钱数就是我们要装的背包容量。然原创 2017-02-28 17:54:45 · 163 阅读 · 0 评论 -
hdu 2955 01背包
这种题已经带了脑子了,感觉不是直接套模板的题,根据背包的遍历性质这里不能把被抓概率当成是背包容量,而是要把抢银行能抢来的所有钱的最大值作为背包容量,定义一种量叫安全率=1-被抓率,每抢一个银行安全率相乘代表安全率降低,用背包模型求出抢到不同钱数状况的最大安全率并与原安全率比较:其中数学思维感觉挺难得,主要是告诫自己不要死套模板,要理解应用【笑哭】 AC: #include #include #原创 2017-03-01 16:00:01 · 175 阅读 · 0 评论 -
hdu 1028 Ignatius and the Princess III
这道题不水,是一道非常经典的dp题,有兴趣的同学也可以考虑用母函数来做,非常方便,但要注意有模板哦。 #include #include #define maxn 130 int dp[maxn][maxn];//第一个数表示要分解的数,第二个数表示分解结果中最大数的值 int calc(int x,int y) { if(dp[x][y]!=-1) return dp[x][y]; if(原创 2017-03-09 14:58:39 · 151 阅读 · 0 评论