
图论
文章平均质量分 63
1E6
这个作者很懒,什么都没留下…
展开
-
[洛谷 P1361] 小M的作物 (最小割 好题)
[洛谷 P1361] 小M的作物 题目链接 大致题意: 懒癌 题是好题,题解不算是好题解 解题思路: 对于每一株作物,仅能种在 A/B 的一块田地里,也就是二选一 如果只有一个作物,我们肯定选择种在A或者种在B两者中最大的一条边,删掉小边 那多个作物呢,同理,去掉最小边,使其分成两个不相通的集合,到这里,不就是求最小割吗? 但是较为麻烦的是额外的收益怎么处理呢 对于这种情况,我们将这个组合里所有点作为一个点集,根据AB区,分别连向s,t,建立一个新点x 用s连向x,即 同样,建立一个新点y,连向原创 2021-11-19 20:01:55 · 513 阅读 · 0 评论 -
[vjudge UVA - 437] The Tower of Babylon (DAG上的DP)
[vjudge UVA - 437] The Tower of Babylon 题目链接 大致题意: 有 nnn 种砖块,已知三条边长,每种都有无穷多个。要求选一些立方体摞成一根尽量高的柱子(每个 砖块可以自行选择一条边作为高),使得每个砖块的底面长宽分别严格小于它下方砖块的底面长宽,求塔的最大高度。 解题思路: 建立DAG 由于每个砖块的底面长宽分别严格小于它下方砖块的底面长宽,因此不难将这样一种关系作为建图的依据,而本题也就转化为最长路问题 也就是说如果砖块$ j $能放在砖块 iii 上原创 2021-11-17 22:50:08 · 177 阅读 · 0 评论 -
G. How Many Paths? (Tarjan找连通块)
G. How Many Paths? 题目链接 大致题意: 给出一个有向图,问从顶点1开始,到每个点的边可重复路径数量是0,1,有限个,无限个 解题思路: 与1点不连通,结果为0 当存在环时(包括自环),环上的点必为无限个,因此,后面的点也是无限个,结果为-1 当一个点是有限个时,那么后面的点也是有限个,结果为2,否则就是1个,结果为1 一个和有限个通过dfs就可以得到,这里不懂的话可以自己画图理解,难理解的时环的情况 存在环,说明存在强连通分量(不是极大强连通分量) Tarjan算法的用途之一是,求一个原创 2021-07-13 11:16:57 · 316 阅读 · 0 评论 -
最优贸易(spfa和tarjan+拓扑排序+dp)
最优贸易 题目链接 大致题意: n个点m条边,每个点有一个权值代表在这个点买或者卖水晶球的价格 有一个人从1走到n问你能够赚的最多的差价是多少(只能买卖一次) 解题思路: 这道题有很多写法,这里提供两种:spfa和tarjan+拓扑排序+dp 第一种方法:跑两遍spfa 以i点进行讨论,我们需要知道从1到i点买水晶球的最小值以及从i到n卖水晶球的最大值,两者相减极为答案 所以我们要跑两遍spfa,第一遍正向跑,用dis表示从1到i的最小值,第二遍反向跑,用d表示从n到i的最大值,答案为d[i]-dis[i原创 2021-07-03 22:57:09 · 327 阅读 · 1 评论 -
Anna, Svyatoslav and Maps (图论)
Anna, Svyatoslav and Maps 题目链接 大致题意: 给出一个有向无环图DAG和一个序列表示路径,要求序列的一个最短子序列,使得子序列的每一个点到下一个点走最短路形成的序列就是原序列 解题思路: 考虑删掉哪些点后跑最短路形成的序列还是原序列 floyd求出任意两点间距离,p[1]和p[m]是必选的,剩下的点一个个考虑 设上一个选了的点为p[x],当前节点为p[i],那么当且仅当p[x]与p[i]之间的最短距离dis[p[x],p[i]]小于按路径p上的顺序走p[x]与p[i]的距离,我原创 2021-06-23 19:45:25 · 223 阅读 · 0 评论