
图论
吴俊达9812
这个作者很懒,什么都没留下…
展开
-
codeforces 1214D (DAG必经点与必经边)
#include <bits/stdc++.h>using namespace std;typedef long long LL;const LL mod1 = 998244353;const LL mod2 = 1004535809;const LL mod3 = 1000000009;const int N = 1000005;const int maxn = 10...原创 2019-11-07 18:54:41 · 322 阅读 · 0 评论 -
codeforces 295B
大意是n点有边权有向图,第i次操作删除图中的a[i]号节点以及其入边和出边,询问每次删除操作前剩余的点对间的最短路的权值的和。n<=500n=500,明显floyd因为最后一个点也没有,离线后倒序处理操作不断往图中加入点,并更新最短路这道题加深了我对floryd的理解,外部循环加一其实是多考虑一个点的加入对图的最短路造成的影响,无所谓循环的顺序。#include ...原创 2019-09-25 23:20:06 · 185 阅读 · 0 评论 -
匈牙利(字典序版本)
思路:如果要求字典序最小。 左侧从后向前遍历,每个点枚举边的顺序为从小到大。如果要求字典序最大。左侧从后向前遍历,每个点枚举边的顺序为从大到小。#include <bits/stdc++.h>using namespace std;const int maxm = 2000;const int maxn = 2000;int he[maxn],ver[10000],n...原创 2019-09-19 18:32:44 · 138 阅读 · 0 评论 -
Educational Codeforces Round 72 (Rated for Div. 2) D - Coloring Edges
题意:给一个无向图进行染色。使得不存在同色的环。问最小的颜色数并输出方案。思路:首先 可以明确 有环的话颜色数为2,无环的话颜色数为1。然后就是判环 ,这里总结一下有向图和无向图判环的方法。有向图:图中存在4种边,树边,反向边,横向边和前向边。有向图中任意一个环,至少含有一条反向边。所以有向图有环的充要条件是至少含有一条反向边。无向图:图中存在2种边,树边,反向边。无向图中的任意...原创 2019-09-06 12:30:01 · 212 阅读 · 2 评论 -
「BZOJ2115」[Wc2011] Xor
这题真的妙啊。首先,我们不难发现,所有的复杂环都可以拆成若干个简单环异或的结果。所以我们只需考虑简单环即可。引理:任意一条 1 到 n 的路径的异或和,都可以由任意一条 1 到 n 路径的异或和与图中的一些环的异或和来组合得到。而对于含有两条以上 返祖边的 环,我们可以把他拆成 多个 只含有一条 返祖边的 异或和。所以dfs 找环的时候我们可以只考虑只含一条返祖边的环。#incl...原创 2019-09-05 22:23:49 · 115 阅读 · 0 评论 -
图论知识点
边覆盖:最小的边集使得每个点都与至少一个点相连点覆盖:最小的点集使得每个点都与至少一条边相连匹配数 定义为 边独立数对于任意图: 边覆盖数 = 点独立数 边覆盖数 + 点覆盖数 = 节点数 所以 点覆盖数 + 点独立数 = 节点数对于二分图:点独立数 + 最...原创 2019-08-01 19:08:42 · 724 阅读 · 0 评论 -
图论 cactus 专题
一 . 有向图cactus判定uva 10510思路:方法一: 1.不能有横向边(也就是不指向祖先也不指向子孙节点的边) 2.设 y1 为 x 的儿子节点,满足 low[ y1 ] < dfn[x] 的 y1的个数为 m 设 y2为 x 的父亲节点 ,个数为n 则 ...原创 2019-03-09 15:20:16 · 419 阅读 · 0 评论 -
Codeforces Round #571 (Div. 2)
A温暖的签到#include <bits/stdc++.h>using namespace std;typedef long long LL;int main(){ LL n,m,k; scanf("%I64d%I64d%I64d",&n,&m,&k); if( min( m,k ) >= n ){ ...原创 2019-06-29 20:40:08 · 248 阅读 · 0 评论 -
B2 - The Doctor Meets Vader (Medium)
贴这题的题解有两个目的:1.匈牙利算法O(nm)是一个很松的上届2.匈牙利算法的建边和建点可以缩小为一半。 #include <bits/stdc++.h> using namespace std; typedef long long LL; typedef int lint; const lint inf= 0x3f3f3f3f...原创 2019-07-13 22:05:59 · 346 阅读 · 0 评论 -
BAPC2018 K kingpin escape
题意:添加最少的边使树中无桥思路:结论1:每个度数为一的点至少连一条边结论2:连接 i 和 i + 叶子节点个数的上取整可以保证不存在只在一颗子树内连边的情况#include<bits/stdc++.h>using namespace std;typedef long long LL;const LL maxn = 200000 + 100;const LL ...原创 2019-05-03 11:27:00 · 557 阅读 · 0 评论 -
POJ 2449 K短路(A*)
POJ 2449复杂度O(nk)注意图不连通 起始点终点为同一点的情况#include <cstdio>#include<queue>#include<cstring>using namespace std;typedef long long LL;const LL maxn = 1000 + 100;const LL maxm = 2000...原创 2019-04-23 19:43:33 · 184 阅读 · 0 评论