码迷,mamicode.com
首页 >  
搜索关键字:最优解    ( 1254个结果
关于二级指针的认识
在链表操作中经常会遇到链表头的问题,如下图:在这个链表插入函数中,如果链表中第一个元素就小于newValue,则需要更新头指针。当然可以把头指针定义为全局变量,但这并不是最优解,所以我们需要在函数中更新头指针的值,如下图:当然Link*head这里的head就是struct**Node二级..
分类:其他好文   时间:2014-12-20 02:14:42    阅读次数:176
九度OJ; 题目1139:最大子矩阵
简单说明下思路 如果不会最大子数组的人,请先查看最大子数组如何求解再看本文; 本文最容易相到的思路是直接暴力,但是很明显会超时,那么就会想到用动态规划了,然后这个题目的子问题是什么,确实是一个比较难以想到的问题。 本文的思路是:我先假定我的最优解在第i行开始,此时就确定了开始行,然后再假设在j行结束,最后就需要确定列的起始位置了。 我们先看看i-j的时候,这个问题会不会求解: 从i行到j行,此时,只需要确定列的起始和结束位置,和行无关,则只需要讲i-j行相加,就得到了最大子数组的问题了; 到这里就发现,固...
分类:其他好文   时间:2014-12-18 18:53:33    阅读次数:177
uva--147Dollars +dp
背包类统计最优解个数问题 代码如下: #include #include #include using namespace std; long long sum[50000]; int main() { double d; int w[]={0,5,10,20,50,100,200,500,1000,2000,5000,10000},i,j; me...
分类:其他好文   时间:2014-12-17 14:36:16    阅读次数:136
HDU -2546饭卡(01背包+贪心)
这道题有个小小的坎,就是低于5块不能选,大于5块,可以任意选,所以就在初始条件判断一下剩余钱数,然后如果大于5的话,这时候就要用到贪心的思想,只要大于等于5,先找最大的那个,然后剩下的再去用背包去选择,这样的结果一定是最优的。因为最大的那个一定会被选中,剩下多少钱都无所谓,用背包可以获得剩下的最优解...
分类:其他好文   时间:2014-12-15 21:41:52    阅读次数:160
贪心算法一:最优装载问题
1.基本思想: 贪心算法是通过一系列的选择来得到问题的解,它所做的选择都是当前情况下最优的选择,即贪心算法并不考虑整体最优,而考虑的是当前情况下的局部最优,即贪心选择。 2.贪心算法的两个性质: 1)贪心选择性质:所求解的问题的整体最优解可以通过一系列局部最优的选择来,即贪心选择达到。贪心...
分类:编程语言   时间:2014-12-14 18:28:36    阅读次数:207
算法导论---------动态规划之钢条切割
动态规划方法通常用来求解最优化问题。动态规划算法设计步骤: 1.刻画一个最优解的结构特征。 2.递归定义最优解的值。 3.计算最优解的值,通常采用自底向上的方法。 4.利用计算出的信息构造一个最优解。 动态规划的实现方法: 带备忘的自顶向下法:此方法仍按自然的递归形式编写过程,但过程会保存每个子问题的解(通常保存在一个数组或散列表中)。当需要一个子问题的解时,过...
分类:编程语言   时间:2014-12-13 09:37:19    阅读次数:270
算法导论读书笔记之钢条切割问题
给定一段长度为n英寸的钢条和一个价格表 pi (i=1,2, …,n),求切割钢条的方案,使得销售收益rn最大。注意,如果长度为n英寸的钢条价格pn足够大,最优解可能就是完全不需要切割。 若钢条的长度为i,则钢条的价格为Pi,如何对给定长度的钢条进行切割能得到最大收益?...
分类:编程语言   时间:2014-12-12 22:14:00    阅读次数:302
分支界限法(BFS)
分支界限法类似回溯法,也是在问题的解空间上搜索问题解的算法,其求解目标是找出满足约束条件的一个解(回溯是找出所有的解)或是在满足条件的解中找出最优解。搜索策略:在扩展结点处,先生成其所有的儿子节点(分支),然后再从当前的活结点表中(根据每一活结点计算出的函数值)选..
分类:其他好文   时间:2014-12-12 01:32:44    阅读次数:368
Dijkstra单源最短路径(贪心选择)
贪心算法(又称贪婪算法Greedy):在对问题求解时,总是做出在当前看来是最好的选择。仅是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题他能产生整体最优解或者是整体最优解的近似解。可用贪心算法求解的问题一般有两个重..
分类:其他好文   时间:2014-12-10 18:17:12    阅读次数:161
杭电 2639 Bone Collector II【01背包第k优解】
解题思路:对于01背包的状态转移方程式f[v]=max(f[v],f[v-c[i]+w[i]]);其实01背包记录了每一个装法的背包值,但是在01背包中我们通常求的是最优解,即为取的是f[v],f[v-c[i]]+w[i]中的最大值,但是现在要求第k大的值,我们就分别用两个数组保留f[v]的前k个值...
分类:其他好文   时间:2014-12-09 08:08:56    阅读次数:278
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!