
Floyd
文章平均质量分 61
PoPoQQQ
这个作者很懒,什么都没留下…
展开
-
BZOJ 1027 JSOI2007 合金 计算几何+Floyd
题目大意:给定一些合金,选择最少的合金,使这些合金可以按比例合成要求的合金首先这题的想法特别奇妙 看这题干怎么会想到计算几何 而且计算几何又怎么会跟Floyd挂边 好强大首先由于a+b+c=1 所以我们只要得到a和b即可 c=1-a-b 所以c可以不读入了然后我们把每种原料抽象成一个点 可知两个点能合成的合金一定在两点连线的线段上证明:设两个点为(x1,y1)和(x2,y2),新合原创 2014-10-28 14:34:38 · 2761 阅读 · 0 评论 -
BZOJ 1266 AHOI2006 上学路线route Floyd+最小割
题目大意:给定一张图,每条边有一个长度和一个花费,要求删掉一些边使1到n的最短路变长,求最小花销首先求出最短路(用什么求随便,反正数据范围小),然后将所有在最短路上的边连到新图中,求最小割就是答案图没有重边- - 数组开小WA了半篇- -#include #include #include #include #define M 510#define S 1#define T原创 2015-01-09 13:12:15 · 1941 阅读 · 0 评论 -
BZOJ 2165 大楼 倍增Floyd
题目大意:给定一张图,求从1开始到达m的权值至少需要遍历多少条边nf[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:10:01 · 2335 阅读 · 0 评论 -
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:02:01 · 2427 阅读 · 0 评论 -
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:18:10 · 2276 阅读 · 0 评论 -
BZOJ 2085 Poi2010 Hamsters Hash+倍增Floyd
题目大意:给定n个长度总和不超过10W的字符串,求一个最短的母串,使所有字符串的出现次数之和=m 这n个字符串保证不互相包含TM能不能好好翻译了令f[i][j]表示第i个字符串后面接上第j个字符串后会增加多少长度由于j一定不是i的子串,因此这实际上就是在求i的最长的后缀,该后缀同时也是j的前缀注意不能连出长度为0的边,因此当i=j时要保证这个长度怎么求呢?其实Hash一下,枚举原创 2015-03-05 08:20:15 · 2035 阅读 · 0 评论 -
BZOJ 2788 Poi2012 Festival 差分约束+Tarjan+Floyd
题目大意:给定nn个正整数变量和m1+m2m1+m2个限制条件,每个形如xi+1=yix_i+1=y_i或xi<=yix_i<=y_i,求这些变量最多能有多少个不同的取值首先我们可以根据差分约束建图,Floyd跑最短路,判断是否无解 然后Tarjan缩点,显然不同强连通分量之间互不影响 一个强连通分量内的最多取值个数等于强连通分量两两之间最短路的最大值+1+1证明: 由于边权只有{0,1,−1原创 2015-09-06 19:37:23 · 2434 阅读 · 0 评论 -
Cards Ext与中国邮路问题
这个题我大概永远都不会出出来了所以我就把它写在博客里吧 如果有人没题出可以拿走坑害同学题目大意:给定一个长度为n(n≤400)n(n\leq 400)的0101序列,每次你可以选择一个区间[l,r][l,r],将[l,r][l,r]区间翻转(即,00变成11,11变成00),并支付al,ra_{l,r}的代价。现在给定所有的al,ra_{l,r},求将整个序列变为00的最小代价题目来源:JOI20原创 2017-03-23 23:43:47 · 1888 阅读 · 2 评论