![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
文章平均质量分 64
AC__dream
道阻且长,行则将至;行而不辍,未来可期!
展开
-
(蓝桥真题)推导部分和(图论+并查集+bfs/带权并查集)
蓝桥真题原创 2023-03-04 19:30:21 · 290 阅读 · 0 评论 -
回文自动机(PAM)
回文自动机,也称回文树,是用来解决一些manacher算法不容易解决的回文串的问题,比如求解字符串s中以第i个字符结尾的回文串的个数。当然它还可以用于求解本质不同的回文子串的数目,所有的回文子串的数目,其复杂度也都是O(n)的,其中n是字符串的长度。原创 2022-08-27 15:00:00 · 1778 阅读 · 0 评论 -
2022牛客多校十 E-Reviewer Assignment(最小费用流)
给定n个人和m篇文章,然后给出一个n*m的矩阵,a[i][j]=1代表第i个人可以阅读第j篇文章,但是每个人最多只能阅读一篇文章,但是每篇文章可以被多个人阅读,问我们一种方案使得每篇文章被阅读次数不少于一次的文章数尽可能多,在此基础上要求文章被阅读次数不少于两次的 文章数尽可能多,依次类推,但是如果某个人不能阅读任何文章就直接输出-1.原创 2022-08-28 04:30:00 · 230 阅读 · 0 评论 -
2022杭电多校十 1001-Winner Prediction(最大流)
一场比赛有n名参与者,一共进行了m1+m2场比赛,其中m1场比赛我们已经知道了结果,m2场比赛我们还不知道结果,赢得最多比赛的参与者赢得整个锦标赛,如果有多名参赛者并列第一,那么他们都会赢得锦标赛,现在问1号参与者有没有可能赢得比赛,如果有可能就输出YES,否则输出NO。原创 2022-08-22 17:39:21 · 462 阅读 · 0 评论 -
网络流最大流----Dinic算法
先来回顾一下EK算法,我们在每次dfs求解增广路的时候都是只找到一条增广路,然后把这条增广路所带来的贡献计入答案,一直按照这个方法循环,最后当bfs无法找到一条新的增广路的时候算法就结束了...原创 2022-08-22 09:09:38 · 941 阅读 · 2 评论 -
网络流最大流----EK算法
网络是指一个有向图G=(V,E),有两个特殊节点:源点S和汇点T。每条有向边(x,y)都有一个权值c(x,y),称为边的容量。如果(x,y)不在图中,那么就有c(x,y)=0.原创 2022-08-21 23:34:26 · 1867 阅读 · 0 评论 -
2022牛客多校十 F-Shannon Switching Game?(博弈+bfs)
先给定一张无向图,Join和Cut在玩游戏,给定起点和终点,两个人轮流操作,Join每次操作是从当前所在位置走一条边并将该边删除,而Cut每次操作是直接删一条与当前位置相连的一条边,问最后Join能否从起点走到终点,如果能就是Join赢,否则Cut赢原创 2022-08-20 21:15:00 · 214 阅读 · 0 评论 -
2022牛客多校十 E-Reviewer Assignment(匈牙利算法)
给定n个人和m篇文章,然后给出一个n*m的矩阵,a[i][j]=1代表第i个人可以阅读第j篇文章,但是每个人最多只能阅读一篇文章,但是每篇文章可以被多个人阅读,问我们一种方案使得每篇文章被阅读次数不少于一次的文章数尽可能多,在此基础上要求文章被阅读次数不少于两次的 文章数尽可能多,依次类推,但是如果某个人不能阅读任何文章就直接输出-1.原创 2022-08-20 20:45:00 · 306 阅读 · 0 评论 -
二分图最大匹配(匈牙利算法)
匈牙利算法原创 2022-07-05 16:13:06 · 726 阅读 · 0 评论 -
二分图判定
二分图判定原创 2022-07-05 15:42:03 · 349 阅读 · 0 评论 -
(POJ-3249)Test for Job(拓扑+动态规划)
题目链接:3249 -- Test for Job样例输入:6 51223341 21 32 43 45 6样例输出:7简化题意:给定一个图,让求从入度为0的点到出度为0的点的一条路径,使得路径上的节点值之和最大。这道题给定的图是由多个拓扑图组成的。所以出度为0的点不止一个,每次遇到出度为0的点都要更新当前的最大值,不知道拓扑图如何遍历的小伙伴可以看下这里:拓扑排序详解_AC__dream的博客-CSDN博客_拓扑序列怎么求设f[i]表示到节点i的所原创 2022-05-04 19:00:00 · 366 阅读 · 0 评论 -
(L2-035)完全二叉树的层序遍历(dfs)
题目链接:PTA | 程序设计类实验辅助教学平台分析:这道题目我们没必要真正建一棵树,我们只需要按照后序遍历的序列来找相应地对应于层次遍历的节点即可,详情见代码:#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#include<set>#include<vector>#include<map>#includ原创 2022-04-16 10:30:42 · 20 阅读 · 0 评论 -
(校赛)排队(并查集+思维)
题目链接:OnlineJudge思路:我们把可以交换的两个点放入一个连通块,经过这样的原创 2022-03-07 21:17:18 · 222 阅读 · 0 评论 -
P4778 Counting swaps(图论+组合数)
题目链接:Counting swaps - 洛谷给你一个1~n的排列p,可进行若干次操作,每次选择两个整数x,y,交换px,py,问用最少次数将给定排列变为单调上升的序列的方案数。分析:这道题有一个基础题,是问将给定序列变为单调上升的序列的最少交换次数,我当时仔细分析了求最少交换次数的方法,详情看这里:交换瓶子(图论+思维)_AC__dream的博客-CSDN博客就是我们把每个点与其最终位置连一条边,就按照这样的思路建完图后,会发现图中存在一些环,如果我们交换一个环内部的两个点,那么会把环一原创 2022-03-06 11:32:51 · 341 阅读 · 0 评论 -
(2021上海站icpc)Life is a game(Kruscal重构树)
题目链接:登录—专业IT笔试面试备考平台_牛客网题意:给你一个图,图上有点权和边权,然后给你一个初始位置和初始能量,你每到达一个点都会获得该点的能量(也就是点权),但是你经过某条边的条件是你当前所拥有的能量大于等于该边权(你经过这条边后你的能量并不会减少,但是你的能量要大于等于该边权才能经过该边,每条边可以重复经过),给你多个询问,每个询问给你一个初始位置和初始能量,然后问你最多能获得的能量。分析:先来贪心地想一下这个问题,就是把我们当前可以到达的点看成一个连通块,那么我们现在拥有的能量就是整个连通原创 2022-03-05 19:34:59 · 824 阅读 · 0 评论 -
(POJ - 1511)Invitation Cards(最短路+反向建边)
题目链接:1511 -- Invitation Cards简化版题意:T组样例,每组样例先给出点的个数n和边的个数m,然后给出m条边的信息a,b,c表示a到b有一条长为c的单向边,现在我们每次都需要从1号点跑到其他点然后再跑回来,问我们最少需要走的距离。这道题需要注意的一点是题目中所给的边是单向边,如果是双向边的话那么1到其他点所需的最短距离与从其他点回来的最短距离是相等的,就是我们只需要从1号点跑一个最短路,然后加上所有距离的二倍即可。我们求的是1号点到其他所有点的最短距离的和+所有其他点到1原创 2022-02-17 13:15:00 · 297 阅读 · 0 评论 -
交换瓶子(图论+思维)
输入样例1:53 1 2 5 4输出样例1:3输入样例2:55 4 3 2 1输出样例2:2这道题目的思路比较难想,他是与图论相结合的一道题,我们把这n个位置看成n个点,对于第i个点的值a[i],让第i个点向第a[i]个点连一个有向边代表第i个点上的值最终位置是第a[i]个点,因为每个点只会有一个最终位置且所在位置只会是一个点的最终位置,所以按照上述方法连完边后对于每个点只会有一条出边以及一条入边,也就是会形成若干个环,先按照样例1进行画边并进行分析:..原创 2022-02-13 19:43:32 · 690 阅读 · 0 评论