随笔分类 - 图论-生成树
摘要:题目链接 "BZOJ3118" 题解 少有的单纯形好题啊 我们先抽离出生成树 生成树中的边只可能减,其它边只可能加 对于不在生成树的边,其权值一定要比生成树中其端点之间的路径上所有的边都大 然后就是一个最小化的线性规划 为了防止限制过多 我们只需对原先生成树中的比该边大的边建立限制即可 然后就是单纯
阅读全文
摘要:题目链接 "BZOJ2322" 题解 鉴于 "BZOJ2115" ,要完成此题,就简单得多了 对图做一遍,形成树,从根到每个点的路径形成一个权值,而每个返祖边形成一个环 我们从根出发去走一个环再回到根,最终会异或上环的权值而又回到根 所以环是可以任意选的 我们把环的权值丢进线性基
阅读全文
摘要:题目链接 "BZOJ4144" 题解 这题好妙啊,,orz 假设我们在一个非加油站点,那么我们一定是从加油站过来的,我们剩余的油至少要减去这段距离 如果我们在一个非加油站点,如果我们到达不了任意加油站点,我们一定废了 那么我们在一个非加油站点,就一定可以到达最近的加油站,而由于我们剩余的油是要减去到
阅读全文
摘要:题目链接 "BZOJ3714" 题解 我们如果知道了所有的数,同样就知道了所有的前缀和 相反,我们如果求出了所有前缀和,就知道了所有的数,二者是等价的 对于一个区间如果我们知道了前缀和,我们就知道了 所以区间相当于连接和
阅读全文
摘要:题目链接 "BZOJ2001" 题解 CDQ分治神题。。。 难想难写。。 比较朴素的思想是对于每个询问都求一遍,这样做显然会爆 考虑一下时间都浪费在了什么地方 我们每次求实际上就只有一条边不同,我们实际浪费了很多时间在处理相同的边上 那就考虑分治 对于一个待修改的边集,我们将其权
阅读全文
摘要:题目链接 "BZOJ2753" 题解 完了我连裸题都做不出来了。。 题目是求最小树形图,即有向图最小生成树 我们不能直接上,而要保证先加入前面的点, 所以我们排序的时候第一关键字改为高度即可 C++ include include include include
阅读全文
摘要:题目链接 "BZOJ2395" 题意:无向图中每条边有两种权值,定义一个生成树的权值为两种权值各自的和的积 求权值最小的生成树 题解 如果我们将一个生成树的权值看做坐标,那么每一个生成树就对应一个二维平面上的坐标 在同一个反比例函数图像上的点权值相同,反比例函数越小的点越贴近坐标轴 所以答案
阅读全文
摘要:题目 给你一个无向带权连通图,每条边是黑色或白色。让你求一棵最小权的恰好有need条白色边的生成树。 题目保证有解。 输入格式 第一行V,E,need分别表示点数,边数和需要的白色边数。 接下来E行,每行s,t,c,col表示这边的端点(点从0开始标号),边权,颜色(0白色1黑色)。 输出格式 一行
阅读全文