码迷,mamicode.com
首页 >  
搜索关键字:最优解    ( 1254个结果
GCJ——Minimum Scalar Product(2008 Round1 AA)
题意: 给定两组各n个数,可任意调整同一组数之中数字的顺序,求 sum xi*yi i=1..n的最小值。Small: n2时: 假设最优解中,存在 ya,yb,有b>a且ya>yb(不是按照降序排列的),显然根据n=2,交换他们的位置,就会得到更小的答案。所以,假设正确。 另外,还有很重要的...
分类:其他好文   时间:2014-10-20 16:47:48    阅读次数:131
BZOJ1367 [Baltic2004]sequence
现学的左偏树。。。这可是道可并堆的好题目。首先我们考虑z不减的情况:我们发现对于一个区间[l, r],里面是递增的,则对于此区间最优解为z[i] = t[i];如果里面是递减的,z[l] = z[l + 1] = ... = z[r] = 这段数的中位数,不妨叫做w。(此处我们定义中位数为第(r -...
分类:其他好文   时间:2014-10-18 22:18:42    阅读次数:283
简单理解算法篇--动态规划
动态规划方法通常用来求解最优化问题,这些问题有很多种解,但我们希望寻求最优解。 满足两个条件既可以使用动态规划1.具有最优子结构 2.子问题重叠至于这两点是什么意思?先看个问题现在有个钢筋长度和价格对应的表,问:给你个长度为n的钢筋怎么卖最划算? 长度...
分类:编程语言   时间:2014-10-13 00:28:38    阅读次数:297
HDU 1026 bfs与dfs
一般来说,广搜常用于找单一的最短路线,或者是规模小的路径搜索,它的特点是"搜到就是最优解",而深搜用于找多个解或者是"步数已知(比如3步就必须达到条件)"的问题,它的空间效率高,但是找到的不一定是最优解,必须记录并完成整个搜索,故一般情况下,深搜需要非常高效的剪枝(优化).像搜索最短路径这些的很明显...
分类:其他好文   时间:2014-10-12 16:46:18    阅读次数:222
佳佳的魔杖 (vijos 1283)
题目大意:一根树枝有N段,每一段有一个分数,可以选取一些不完全包含(可以相交)的区间,每次选取可以得到区间里所有数之和的分数。求最大得分。解题过程:1.很明显的dp,默认选取区间的顺序是从左往右,F[i][j]表示最后选的区间为[i,j]的最优解(ij g[i][j]=max{g[i-1][j],F...
分类:其他好文   时间:2014-10-12 11:07:17    阅读次数:120
HDU2822 Dogs
一般来说走一步不固定加上的权值的时候最好用优先队列,可以保证最优解;做题目的时候先预先自己走一下路线,如果自己都不会走程序肯定写不出来的啦.要好好分析走的过程,这样才可以一步到位; 1 #include 2 #include 3 #define maxn 1005 4 int n,m; 5 int ...
分类:其他好文   时间:2014-10-12 01:42:07    阅读次数:217
LeetCode-Next Permutation-下一个排列-扫描+排序(不是最优解)
https://oj.leetcode.com/problems/next-permutation/我这个解法并不很好,是O(n^2),这个在STL实现里应该是O(n)的。不过我的方法比较简单。想法是首先需要找到一个left边界l,这个边界需要跟其后面的某个元素r交换使序列增大。然后在l前面的部分不...
分类:编程语言   时间:2014-10-10 22:39:24    阅读次数:177
最优化算法 (一)
最速下降法采用负梯度方向进行一维搜索,总体上看搜索速度应该是比较快,但是当迭代进行到靠近精确最优点时,会出现锯齿形搜索路径,这样就会大大降低搜索效率,所以通常在搜索前期采用最速下降法,当接近精确最优解时,改用牛顿法等其他在最优解附近搜索效率更高的方法。但是牛顿法也有缺点:一方面需要计算Hesse矩阵...
分类:其他好文   时间:2014-10-09 15:03:43    阅读次数:181
石子合并问题
类型1有N堆石子,现要将石子有序的合并成一堆,规定如下:每次只能移动任意的2堆石子合并,合并花费为新的一堆石子的数量。设计一个算法,将这N堆石子合并成一堆的总花费最小(或最大)。 此类问题比较简单,就是哈夫曼编码的变形,用贪心算法即可求得最优解。即每次选两堆最少的,合并成新的一堆,直到只剩一堆为止。...
分类:其他好文   时间:2014-10-07 14:15:13    阅读次数:241
01背包问题
动态规划的基本思想:将一个问题分解为子问题递归求解,且将中间结果保存以避免反复计算。通经常使用来求最优解,且最优解的局部也是最优的。求解过程产生多个决策序列,下一步总是依赖上一步的结果,自底向上的求解。动态规划算法可分解成从先到后的4个步骤:1. 描写叙述一个最优解的结构,寻找子问题,对问题进行划分...
分类:其他好文   时间:2014-10-07 12:14:33    阅读次数:121
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!