![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
悭吝韶华
在学习Unity和图形学.
展开
-
矩阵树定理(生成树计数)学习笔记
度数矩阵对于一个图GGG,定义其度数矩阵为D(G)D(G)D(G).D(G)D(G)D(G)是一个n∗nn*nn∗n大小的对角线矩阵.对角线上元素d(i,i)d_{(i,i)}d(i,i)为顶点iii的度数。(非对角线上的元素d(i,j)d_{(i,j)}d(i,j)为0)邻接矩阵对于一个图GGG,定义其临接矩阵为A(G)A(G)A(G).a(i,j)a_{(i,j)}a(i,j)为viv_ivi和vjv_jvj之间邻接的边数(注意可以有重边,即大于1)Kirchoff矩阵树定理Ki原创 2020-08-08 11:17:41 · 224 阅读 · 0 评论 -
二分图匹配
模板1.如何找到二分图的最大匹配匈牙利算法时间复杂度(L*(R+M))L为左部点数,R为右部点数,M为边数。核心思想巧妙利用递归去寻找增广路径。对每个左部点X进行处理,看能不能在右部找到匹配点。如果该右部点已经使用过,那么对和它匹配的那个左部点Y进行搜索,看能不能找到一个替换,如果找到则表明可以让X抢占Y之前的匹配点.AC代码:#include<bits/stdc++.h>using namespace std;#define ll long long#define M原创 2020-07-30 20:46:26 · 460 阅读 · 0 评论 -
牛客多校第一场I1 or 2(网络流)
传送门源点sss为111,汇点ttt为2∗n+22*n+22∗n+2一个点xix_ixi拆成xi1,xi2x_{i1},x_{i2}xi1,xi2,xi1和1相连,xi2和2∗n+2相连x_{i1}和1相连,x_{i2}和2*n+2相连xi1和1相连,xi2和2∗n+2相连.对于边(i,j)(i,j)(i,j),连接xi1x_{i1}xi1和xj2x_{j2}xj2,xj1x_{j1}xj1和xi2x_{i2}xi2.#include <cstdio>#include原创 2020-07-12 19:20:48 · 238 阅读 · 0 评论 -
Dasha Code Championship - SPb Finals Round(C. Kamil and Making a Stream)(树上gcd的传递)
最关键的性质是一个节点的值往下传递,最多只会改变log1e12log1e12log1e12次,约等于40.这表明向下搜索的过程中,传递到每个节点的不同值的个数不会超过40。#include<bits/stdc++.h>using namespace std;#define fore(i, l, r) for(int i = int(l); i < int(r); i++)#define MAXN 100005#define ll long longint n;ll a[原创 2020-07-01 17:23:44 · 143 阅读 · 0 评论 -
Educational Codeforces Round 84 (Rated for Div. 2)D. Infinite Path(循环节+图论)
传送门原创 2020-07-01 12:28:00 · 129 阅读 · 0 评论 -
ACM区域赛「徐州2019」M. Kill the tree
题意很简单,类似于找树的重心,代码如下.#include<bits/stdc++.h>using namespace std;#define ll long long#define MAXN 200005#define rep(n) for(int i=1;i<=n;i++)#define rall(x) for(int i=(x).size()-1;i>=0;i--)#define all(x) for(int i=0;i<(x).size();i++)int原创 2020-06-30 20:27:29 · 224 阅读 · 0 评论 -
Codeforces Round 649 (Rated for Div. 2)D. Ehab s Last Corollary详细题解(图论+简单环)
树边:树边:树边:深度优先森林中的边。如果结点v是因对(u,v)的探索而首先被发现,则(u,v)是一条树边。后向边:后向边:后向边:后向边(u,v)是将结点u连接到其在深度优先树中一个祖先节点v的边.(本文我就称之为反向边了,问题不大)前向边:前向边:前向边:是将结点u连接到其在深度优先树中一个后代结点v的边(u,v).横向边:横向边:横向边:指其他所有的边,这些边可以连接同一颗深度优先树中的结点,只要其中一个结点不是另外一个结点的祖先,也可以连接不同深度优先树的两个结点。其实就是找出无向图中的简原创 2020-06-21 16:24:30 · 442 阅读 · 0 评论