![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
文章平均质量分 60
图论部分算法
SSL_DFT
这个作者很懒,什么都没留下…
展开
-
2021-08-10 SSL 模拟赛 T2
2021-08-10 SSL 模拟赛 T2 依旧是没有题目的一题 题面就不复制了,太长了。 思路: 显然,我们争取用最少的费用获取所有情报,那么每一条线路都必须是有用的,就是删掉这条线后将会出现一部分情报无法获得的情况。 那这不就是个最小生成树的模板题吗? 我们把派出一个人所需要的费用看做是向不存在图中的 0 号节点连一条边,那么这题就转化成了一道最小生成树的模板题。 我们用克鲁斯卡尔算法去解决。 最小生成树的实现就不写了,也比较简单,时间复杂度 O(m∗log m)O(m*log~m)O(m原创 2021-08-10 15:17:53 · 52 阅读 · 0 评论 -
【ybtoj高效进阶6-6-3】 路径长度/【luogu P4316】绿豆蛙的归宿
路径长度 【ybtoj高效进阶6-6-3】 题目大意: 给你一张有向图,告诉你点和边的关系,每条边有一个长度。每个点选择一条出边往另一个点走,每一条边选择的概率是一样的。问从1–>n的路径期望长度是多少? 思路: 设val[i]val[i]val[i]表示从 i-n 的路径期望长度,k[i]k[i]k[i]表示节点i的出边条数 那么假设 i->j 有一条连边,那么val[i]val[i]val[i]肯定要包含val[j]val[j]val[j],因为点i也可以通过点 j 走到 n 。 当点 j原创 2021-07-25 17:59:08 · 180 阅读 · 0 评论 -
负环 【luogu P3385】
判断负环【P3385 【模板】负环】 题目大意 给你一张n个点,m条边的有向图,让你判断图中有没有负环。 思路: 跑一遍SPFA,如果一个点入队次数超过了m次,则图中必有负环。 代码: #include<iostream> #include<cstdio> #include<algorithm> #include<cmath> #include<cstring> #include<queue> #include<vector>原创 2021-07-05 20:59:26 · 60 阅读 · 0 评论 -
【ybt高效进阶3-2-3】公路建设
【ybt高效进阶3-2-3】公路建设 题目大意: 在一个有n个点的图中,初始时图中没有任何一条边。每次加入一条边,每条边有一个权值,每次询问图中的最小生成树的大小是多少。 思路: 因为数据n<=500,m<=2000 n<=500,m<=2000~~n<=500,m<=2000 所以每加入一条边跑一次克鲁斯卡尔算法,得到答案,时间复杂度O(m2logm)O(m^2 logm)O(m2logm)可以毫无压力通过本题 当然,算法排序原创 2021-07-05 15:55:25 · 123 阅读 · 0 评论 -
洛谷 P1073 最优贸易
最优贸易 【luogu P1073 [NOIP2009 提高组] 最优贸易】 题目描述: C国有 n 个大城市和 m 条道路,每条道路连接这 n 个城市中的某两个城市。任意两个城市之间最多只有一条道路直接相连。这 m 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通行的道路在统计条数时也计为 1 条。 C 国幅员辽阔,各地的资源分布情况各不相同,这就导致了同一种商品在不同城市的价格不一定相同。但是,同一种商品在同一个城市的买入价和卖出价始终是相同的。 商人阿龙来到 C 国旅游。当他得知同一种原创 2021-07-06 08:33:49 · 149 阅读 · 0 评论 -
2020 [NOI Online #2 入门组] 荆轲刺秦王 [luogu P6474]
题目大意: 一个人在网格图中从起点’S’到终点‘T’,每次可以朝相邻八个格子前进。其中有一些格子无论如何都无法经过,有一些格子使用隐身技能后才可以通过,当然他还可以朝上下左右四个方向使用瞬移跨越多个格子。隐身和瞬移是有次数限制的。问如何在最短时间内到达目的地,且消耗技能次数最少? [洛谷 P6474 ] 思路分析: 广度优先搜索+二维差分&前缀和。 设(x,y,u,v)(x,y,u,v)(x,y,u,v)描述荆轲的状态,,表示他来到点(x,y)(x,y)(x,y)时用了u次隐身,v次瞬移 有四种转移原创 2021-07-02 16:16:12 · 124 阅读 · 0 评论 -
【ybt高效进阶3-1-4】【luogu P2024】食物链
【ybt高效进阶3-1-4】【luogu P2024】食物链 题目描述 题目描述 动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形。A 吃 B,B 吃 C,C 吃 A。 现有 N 个动物,以 1 - N 编号。每个动物都是 A,B,C 中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这 N 个动物所构成的食物链关系进行描述: 第一种说法是 1 X Y,表示 X 和 Y 是同类。 第二种说法是2 X Y,表示 X 吃 Y 。 此人对 N 个动物,用上述两种说法,一句接一句地说出原创 2021-07-05 11:14:17 · 106 阅读 · 0 评论 -
【ybt高效进阶3-2-2】新的开始
【ybt高效进阶3-2-2】新的开始 题目大意: 给你一张图,n个点,要求每个点所在的连通块都要有至少一个“标记点”。 两点相连有一定的费用,标记一个点也有一定的费用。 问最小费用是多少? 思路: 看到此题一堆什么连通块,全图要被“点亮”,一眼就想到并查集。 再仔细一看,貌似和最小生成树有关。 我们考虑将每个点打标记的费用表示成“自己和自己连一条边的费用”,那么我们就可以像做最小生成树一样去处理它。注意现在算法终止的条件不再只有生成树的边 tot==n−1 ~~t原创 2021-07-05 15:32:34 · 102 阅读 · 0 评论 -
最大半连通子图【ybt高效进阶3-4-3】【luogu P2272】
最大半连通子图【ybt高效进阶3-4-3】【luogu P2272】 题目大意: 给你一张图,让你求它的最大半连通子图的个数和大小,个数对一个给出的数取模。 一个子图是半连通子图,就是这个子图的任意两个点之间都有路径从一个点到另一个点。(只要能从任意一边到另一边即可,注意与强连通区分) 思路: 首先建图,然后Tarjan缩点,缩完点后图就变成了一个DAG(有向无环图?),强连通分量必然也是一个半连通子图。 这时我们发现,一条链也是一个合法的答案,所以缩点之后,因为没有环了,合法的答案必定是一条链(自己好好理原创 2021-07-07 15:02:05 · 133 阅读 · 0 评论 -
【ybt高效进阶3-4-2】【luogu P2341】受欢迎的牛
受欢迎的牛 【ybt高效进阶3-4-2】【luogu P2341】 题目大意: 给你一张n个点,m条边的有向图,问图中有几个点从任意一个点出发都可以达到。 思路: 这题有点绕这题有点绕这题有点绕 首先你得建一张有向图。(你可以每个点去跑一次dfs遍历,做标记,然后就TLE了) 思考后,发现每一个强连通分量中的牛一定互相喜欢(显而易见),所以我们考虑缩点 (Tarjan is runningTarjan ~~~is~~~ runningTar原创 2021-07-06 14:43:06 · 73 阅读 · 0 评论 -
Tarjan 模板
Tarjan 模板:有向图缩点 【luogu P3387】 对Tarjan的理解不是很深,这里贴出代码,方便以后运用(熟读并背诵) 代码: #include<iostream> #include<cstdio> #include<algorithm> #include<cmath> #include<cstring> #include<stack> #include<queue> #include<vector>原创 2021-07-06 10:58:51 · 114 阅读 · 0 评论