题目链接:https://vjudge.net/problem/UVA-315 题目:求割点. #include <iostream> #include <cstdio> #include <algorithm> using namespace std; ; ; int head[N],dfn[N],low[N],poi[N]; struct node{ int to; int nxt; }e[N*N]; void init(){ ; i <= n; ++i){…
判断割点的性质: 如果点y满足 low[y]>=dfn[x] 且不是根节点 或者是根节点,满足上述式子的有两个及其以上. 就是割点 如果是起点,那么至少需要两个子节点满足上述条件,因为它是根节点,那么必须有至少两个节点的以及其儿子节点的时间戳是比这个值小的,如图,否则根节点也只是 一个叶子节点. #include<iostream> #include<string.h> #include<algorithm> #include<stdio.h> usi…
题意:给一个无向连通图,求出割点的数量. 首先输入一个N(多实例,0结束),下面有不超过N行的数,每行的第一个数字代表后面的都和它存在边,0表示行输入的结束(很蛋疼的输入方式). 分析:割点的模板题 ****************************************************************** #include<stdio.h> #include<; ;     ; i<=N; i++)     {         Head[i] = -;  …
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <queue> #include <vector> #define mem(a, b) memset(a, b, sizeof(a)) using namespace std; , INF = 0x7fffffff; int pre[maxn], low[maxn…
题意: 给你一个无向图,你需要找出来其中有几个割点 割点/割项: 1.u不为搜索起点,low[v]>=dfn[u] 2.u为搜索起点,size[ch]>=2 3.一般情况下,不建议在tarjan中直接输出答案(可能会有重复) 4.在有重边的情况下,将tarjan传值中的father改为其编号,由于存边的连续性    只要判断 (当前编号)i != (father编号)pre^1 代码: 1 #include<stdio.h> 2 #include<string.h> 3…
    ID Origin Title   76 / 163 Problem A POJ 1236 Network of Schools   59 / 177 Problem B UVA 315 Network   49 / 151 Problem C UVA 796 Critical Links   28 / 109 Problem D POJ 3694 Network   39 / 98 Problem E POJ 3177 Redundant Paths   33 / 230 Proble…
layout: post title: 「kuangbin带你飞」专题十九 矩阵 author: "luowentaoaa" catalog: true tags: mathjax: true - kuangbin - 矩阵 传送门 A.CodeForces - 450B Jzzhu and Sequences 题意 水题,主要是拿来试试模板 题解 F[i]=f[i-1]-f[i-2] #include<bits/stdc++.h> using namespace std;…
D - D Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status Practice UVA 315 uDebug Description   A Telephone Line Company (TLC) is establishing a new telephone cable network. They are connecting several places numbered…
题目链接:https://vjudge.net/problem/POJ-3694 题目:给定一个连通图,求桥的个数,每次查询,加入一条边,问加入这条边后还有多少个桥. 思路:tarjan + 并查集 + lca(朴素) 先用tarjan缩点(成环缩点),并存下桥,把每个scc都存下一个源点(源点(boss):以这个点代表这个scc). 用存下的桥,用并查集重新建图,为了方便之后的操作,并查集建立一颗树,dfn小的在上,dfn大的在下. lca,用每个点的boss的dfn去跑lca,因为我们建树的…
题目链接:https://vjudge.net/problem/POJ-1236 题目:有向图,有若干个连通图,点之间有单向边边就可以单向传递信息,问: (1)至少需要发送几份信息才能使得每个点都传递到信息 (2)至少需要加几条边,才能使得“把一份信息发送到任意某个点就能传播到其他所有点”成立 思路:tarjan求强连通分量,强联通分量可以相互传递消息,然后,按强联通编号重构图, 统计每个强联通分量的入度出度情况.第一个答案,就显然是入度为0的点,第二个就是max(p,q),构成一个强联通图 这…