140709

今天讲了动态规划。非常重要的一个点。

刚开始不太明白,然后后来看了看网上的01背包问题。看到一篇帖子写的不错。


http://blog.csdn.net/mu399/article/details/7722810


我只能说我是看懂了01背包的问题,别的话,真的需要训练。


大概描述一下把。有一些物品,以i属于[1,n]编号,他们的价值分别是Pi,重量是Wi。背包容纳的最大重量是m;

怎么样才能保证这个包装的价值最大。


用动态规划这么来做。


设一个函数,c(i,m),表示了前i个物品的时候,放出的最大价值。


那么,c(i,m) = max{ c(i-1,m-Wi)+Pi, c(i-1,m) } 我觉得这个理解障碍最大就在于,他们写的都是放了,,其实真的只是选了


对于第i个物品,他或者放(如果放得下的话),或者不放,因此得出上面的式子


其他的点的话,参考那些图什么的,就能看懂了~




然后做了几个水题,,最近没有什么激情。。今天和zsh聊了聊。明白了一些事情。然后,别的没有什么。今天还看了看深搜,,


大概这也是个神奇,困难的东西吧,加油加油~~

原文地址:https://www.cnblogs.com/shengrang/p/3843479.html