码迷,mamicode.com
首页 >  
搜索关键字:倍增floyd    ( 34个结果
BZOJ 2306 Ctsc2011 幸福路径 倍增Floyd
题目大意:给定一张有向图,每个点有权值,蚂蚁从某个节点出发,初始体力值为1,每走一条边体力值*=p,每经过一个点会获得幸福值为点权*体力值,求最大幸福值 令f[i][j][t]为从点i走到点j花2^t步的最大幸福值 那么有f[i][j][t]=max{f[i][k][t-1]+f[k][j][t-1]*p^(2^t)} 迭代多次即可得到答案的近似值 注意蚂蚁可能卡死在某个点不动,因此初始要...
分类:其他好文   时间:2015-02-24 19:54:43    阅读次数:405
BZOJ 1706 usaco2007 Nov relays 奶牛接力跑 倍增Floyd
题目大意:给定一张无向图,求从s出发恰好经过n条边到达e的最短路 倍增Floyd……为何大家都管这个叫做矩阵乘法- - 算了为何要纠结这种事- - 令f[p][i][j]表示走2^p步从i到达j的最短路 有f[p][i][j]=min{f[p-1][i][k]+f[p-1][k][j]} 将n进行二进制拆分 用矩阵g记录答案矩阵 对于每一位p 用f[p]和g两个矩阵搞出h 再将h的值赋给g ...
分类:其他好文   时间:2014-12-30 09:16:28    阅读次数:212
BZOJ 1706 usaco 2007 Nov relays 奶牛接力跑/POJ 3613 Cow Relays 倍增Floyd
题目大意:求恰好走k步从S到T的最短路。 思路:设f[p][i][j]为从i到j恰好走2^p步的最短路,DP方程十分简单:f[p][i][j] = min(f[p][i][j],f[p - 1][i][k] + f[p - 1][k][j]); 对总步数T进行二进制拆分,在T有1的位置上,假如这个位置为p,那么就用f[p][][]来更新答案g[][],最后得到的g[][]就是答案矩阵。...
分类:其他好文   时间:2014-12-30 09:16:17    阅读次数:184
BZOJ 2165 大楼 倍增Floyd
题目大意:给定一张图,求从1开始到达m的权值至少需要遍历多少条边 n f[temp][i][j]表示经过2^temp条边从i走到j的最大权值 更新时f[temp[i][j]=max{f[temp-1][i][k]+f[temp-1][k][j]} 然后用矩阵g[i][j]记录当前走的权值,初始主对角线为0,其余为-∞ 从大到小枚举temp,利用f[temp]和g得到矩阵h 如果h中1到...
分类:其他好文   时间:2014-12-26 09:40:29    阅读次数:171
34条   上一页 1 2 3 4
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!