随笔分类 - 玄学图论
摘要:原题链接:https://www.luogu.org/problemnew/show/3388 割点的tarjan算法:选定一个节点为根节点,遍历整个图,形成一棵树 根节点若有两个子树,则其一定是割点。对于不是根节点的节点,维护两个数组dfn与lowdfs[u]表示节点u第几个被访问,low[u]表
阅读全文
摘要:原题链接:https://www.luogu.org/problem/show?pid=2055 其实本题除了建边之外几乎与二分图最大匹配模板题没什么区别。 二分图的一边的人,一边为床。。。 如果本校学生且回家,那么就没他什么事情了,他并不需要床铺。如果是本校学生但不回家,那么就可以向自己的床连一条
阅读全文
摘要:原题链接:https://www.luogu.org/problem/show?pid=1525 并查集的补集问题。 首先将所有的事件按影响力从大到小排序,依次试图避免这些事件。 建立一个2*n的并查集,用来代表两个监狱。 如果涉及当前事件的两个罪犯已经在前面的处理中被分配在同一个监狱中,那么这个冲
阅读全文
摘要:原题链接:https://www.luogu.org/problem/show?pid=1991 首先此题给出的边并不是常规的形式,而是坐标式,所以要枚举所有的点的情况,求出所有的边的边长。 很显然,用最小生成树能够求出所有点联通时的最长边的距离,但是因为有无线电收发器的情况,所以可以免去一些边的选
阅读全文
摘要:原题链接:https://www.luogu.org/problem/show?pid=1661 虽然此题并没有非常明显的边的概念,甚至只从数据无法直接得到任意点的距离。 但是经过模拟之后,就能发现,假设两点同时沿着一条线外扩散,他们共同走过的距离,就是他们纵坐标之差与横坐标之差的和。 因为两边是同
阅读全文
摘要:原题链接: 一道巧妙的最小生成树。 与最小生成树不同的是,本题因为有打井的存在,所以可以不只有一棵生成树,但是克鲁斯卡尔算法依然十分好用。 首先按照题目要求读入边,虽然题目中给出的是近似邻接矩阵的写法,但是因为要使用克鲁斯卡尔算法,要将其转换成类似邻接表的写法。 对于每一组(i<j)就可以将(i,j
阅读全文
摘要:原题链接:https://www.luogu.org/problem/show?pid=2784 可能,今天是spfa专场? 基本上是一道spfa的裸题,与其他的spfa不同的是,这道题是乘而非加,所以dis[s]要设为1而不是0,否则就全都是0了,而且也不必把dis预处理为无穷大了。 其次还有一点
阅读全文
摘要:原题链接:https://www.luogu.org/problem/show?pid=1194 本题首先要注意三个地方: 第一行先输入a,再输入b,因为看反活活TLE了3次 边权为0的时候是没有优惠的,不能加边,如果边权超过a(这是个假的优惠),加边的时候加入a。 假如整张图都是0,那么就没有边读
阅读全文
摘要:原题链接:https://www.luogu.org/problem/show?pid=1396 刚一看到这个题,马上就想起来前几天刚做的货车运输,于是迅速地敲了个最小生成树+lca求路径上最长边,写完后一看标签和难度,咦,为什么没有lca的标签啊,为什么这个题的难度只有普及/提高减啊,这个不是和货
阅读全文
摘要:原题链接:https://www.luogu.org/problem/show?pid=2009 做这道题的时候,看了一眼数据范围,n<=20,额,一般的Floyd不应该是100—200左右的吗,这个不会是有什么其他算法吧。。。 仔细审题后,好像没啥问题,直接字符转数字,Floyd直接上,然后就华丽
阅读全文
摘要:原题链接:https://www.luogu.org/problem/show?pid=2419 这个题看一眼数据范围,100,嗯。。。。。。n^3做法,想了想会的算法,Floyd(太弱不会别的算法)。 luogu的题解,很多人直接写了考虑边权的Floyd,而这道题,我们只需要考虑两点之间能否到达就
阅读全文
浙公网安备 33010602011771号