这类带权的边的图,直接广搜不行,要加上优先队列,这样得到的结果才是最优的,这样每次先找权值最小的,代码如下 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 typedef struct No...
分类:
其他好文 时间:
2014-11-23 21:32:02
阅读次数:
240
题意:有个人,他在某个区域待了n天,这个区域有m个地方,有w种天气情况,先给出这个人行程的每天的天气情况,然后给出 从第i个地方到第j个地方的概率,也可以自身到自身,然后给出 某个地方 是某种天气的概率,问你 这个人最优可能的行程路线也就是每天待在哪个地方,
概率DP,求出哪些路线概率最大 再在其中取最小字典序的
假设方程 dp[i][j] 代表 第i天待在j城市,状态转移
dp[i][j]...
分类:
其他好文 时间:
2014-11-23 20:18:58
阅读次数:
234
给定一个源点,求最短路径,那么存在以源点为根的最短路径树因为最短路径具有最优子结构的性质,所以我们可以先求出树的第一层,然后再求出树的第二层,以此类推bellman_ford算法就是按照这种思想求最短路径的。因为树最多有n-1层,所以只要n-1次循环即可,每次循环i访问所有的边,然后松弛路径,就求出...
分类:
编程语言 时间:
2014-11-23 15:49:09
阅读次数:
191
题目链接:http://cstfs.gdufs.edu.cn:8080/JudgeOnline/problem.jsp?id=1237 简单来说,这道题目就是把一个数分解为若干个互不相同的数使得乘积最大。 分解为不相同的数确实有点难(若没这个限制的话直接就把它分成若干个3来解决即可,可以证明...
分类:
其他好文 时间:
2014-11-23 15:46:57
阅读次数:
343
贪心算法通过一系列的选择来得到问题的解。它所做的每一个选择都是当前状态下局部最好选择。从许多的贪心算法求解的问题可以看到可用贪心算法求解的问题一般具有两个重要的性质:贪心选择性质和最优子结构性质。1、贪心选择性质贪心选择性质是 指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到。与...
分类:
编程语言 时间:
2014-11-22 23:05:00
阅读次数:
376
贪心算法贪心算法通过一系列的选择来得到问题的解。它所做的每一个选择都是当前状态下局部的最好选择,即贪心选择。贪心选择的一般特征:贪心选择性质和最优子结构性质。贪心选择性质:所谓贪心选择性质是指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到。这是贪心算法可行的第一个基本要素,也是贪...
分类:
编程语言 时间:
2014-11-22 22:57:27
阅读次数:
572
暴力dp是n^2*m的……我们计算每棵树在每层的答案的时候,都需要计算出从那棵树转移过来最优。但是我们发现,对一棵树而言,从上面转移过来都是一样的,所以我们可以在计算每棵树在每层的答案的时候,先预处理出它应该从上面何处转移过来,消掉一个n。 1 #include 2 #include 3 using...
分类:
其他好文 时间:
2014-11-22 13:12:04
阅读次数:
138
转自Florian1. 三柱汉诺塔三柱汉诺塔是经典的汉诺塔问题,在算法设计中是递归算法的典型问题。其算法是这样的: 首先把A 柱上面的n- 1 个碟子通过C 柱移到B 柱上【T(n-1)步】,然后把A 柱剩下的一个碟子移到C 柱上【1步】, 最后把B 柱上所有的碟子通过A 柱移到C 柱上【T(n-1...
分类:
编程语言 时间:
2014-11-22 00:32:12
阅读次数:
343
这种样式的最优解问题一看就是贪心。如果一下不好看,那么可以按照由特殊到一般的思维方式,先看n==2时怎么选顺序(这种由特殊到一般的思维方式是思考很多问题的入口):有两个队时,若先选第一个,则ans=a1+a2+b2*a1;若先选第二个,则ans=a2+a1+b1*a2;所以选择顺序就比b2*a1和b...
分类:
其他好文 时间:
2014-11-21 23:13:35
阅读次数:
179
因为搜索关于CFRound277.5E题的题解时发现了这篇文章,很多地方都有值得借鉴的东西,因此转了过来原文:http://www.cnblogs.com/perseawe/archive/2012/05/03/01fsgh.html【关键字】0/1分数规划、最优比率生成树、最优比率环【背景】根据楼...
分类:
其他好文 时间:
2014-11-21 18:23:41
阅读次数:
306