码迷,mamicode.com
首页 >  
搜索关键字:最优    ( 6439个结果
用贪心算法来解决沙袋装箱问题
这是一个百度知道上的沙袋装箱问题。我解决这个问题的基本思路是使用贪心算法,也叫做贪婪算法。贪心算法的原则是找出当前看来是最优的解决方案。问题描述如下:有一堆沙袋,每个沙袋中都转有从1到100不等的沙子。现在要求把这堆沙袋装入容积为100的箱子中。问题是,如何用最少的箱子装这些沙袋?我的思路是这样的:...
分类:编程语言   时间:2015-03-17 12:21:26    阅读次数:163
算法导论-动态规划-钢条切割
动态规划通常用于解决最优化问题,在这类问题中,通过做出一组选择来达到最优解。在做出每个选择的同时,通常会生成与原问题形式相同的子问题。当多于一个选择子集都生成相同的子问题时,动态规划技术通常就会很有效,其关键技术就是对每个这样的子问题都保存其解,当其重复出现时即可避免重复求解。钢条切割问题Serli...
分类:编程语言   时间:2015-03-17 00:31:51    阅读次数:265
UVa 10747 - Maximum Subsequence
题目大意:给出n个数,从中选取k个,使得乘积最大,并且尽量使和最大分析:首先按照数的绝对值大小排序。然后就要分三大类情况讨论:(1)前k个中选到0:如果选到0的话,乘积一定是0,所以尽量选大的数,让和变大。(2)前k个中选到负数的个数为偶数:这样的话直接输出答案(一定为最优解)(3)前k个中选到的负...
分类:其他好文   时间:2015-03-15 16:30:30    阅读次数:103
Linked List Cycle
/* 开始用hash做的,但这明显不是最优的*//** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : v...
分类:其他好文   时间:2015-03-15 15:11:29    阅读次数:93
例题1.16 长城守卫 UVa1335
1.题目描述:点击打开链接 2.解题思路:本题是一道思维题。这种题一般需要先自己在演草纸上多尝试几种情况,并总结出一般的规律解决。尝试后,可以发现,如果n为偶数时,那么结果就是max{r[i]+r[i+1]}(规定r[n+1]=r[1])。如果n为奇数时,上述方法不再奏效。这个时候需要利用二分查找,假设共有p种礼物,设第一个人的礼物是1~r[1]。不难发现最优解的策略一定是这样的:如果i为偶数,...
分类:其他好文   时间:2015-03-15 09:31:59    阅读次数:115
Hamming Weight的算法分析
看代码时遇到一个求32bit二进制数中1的个数的问题,感觉算法很奇妙,特记录学习心得于此,备忘。计算一个64bit二进制数中1的个数。解决这个问题的算法不难,很自然就可以想到,但是要给出问题的最优解,却很有难度。通常,最容易想到的算法是除余法,继而考虑到除法的代价较高,而且除数是2,会想到使用向右移...
分类:编程语言   时间:2015-03-14 22:56:43    阅读次数:369
算法专题——贪心算法
贪心算法正确性证明:1.证明贪心选择性质:经过贪心选择,可以获得最优解2.最优子结构:证明子问题最优解与贪心选择组合,结果依然是最优解?All we really need to do is argue that an optimal solution to the subproblem, comb...
分类:编程语言   时间:2015-03-14 16:46:02    阅读次数:200
例题1.15 网络 UVALive 3902
1.题目描述:点击打开链接 2.解题思路:本题要求放置尽可能少的服务器,使得所有的客户端到最近的服务器的距离都不超过k。由于已经放置了一个服务器,不妨把它当做根结点,先把无根树转化为有根树,然后我们考虑最深的叶子,那么不难证明,该叶子结点的最优服务器的放置位置是它的k级祖先。这样本题的算法便不难想出:从最深的叶子开始枚举,并在它的k级祖先处放置一个服务器,同时标记该服务器能覆盖到的所有结点,这样...
分类:其他好文   时间:2015-03-14 09:40:44    阅读次数:122
拉格朗日乘数法
目录(?)[-] 介绍 拉格朗日乘数的运用方法 例子 很简单的例子 另一个例子 经济学 在数学最优化问题中,拉格朗日乘数法(以数学家约瑟夫·路易斯·拉格朗日命名)是一种寻找变量受一个或多个条件所限制的多元函数的...
分类:其他好文   时间:2015-03-13 22:30:04    阅读次数:192
模拟退火算法
一. 爬山算法 ( Hill Climbing ) 介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。 爬山算法实现很简单,其主要缺点是会陷入局部最优解,而不一定能搜索到全局最优解。如图1所示:假设C点...
分类:编程语言   时间:2015-03-13 22:19:47    阅读次数:213
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!