ICode9

精准搜索请尝试: 精确搜索
  • 2022/2/17 思考。2022-02-17 22:33:46

    其实是 Solution Set. 「GXOI / GZOI2019」旅行者 显然考虑超源超汇一类东西。要找到一些染色方法使得所有 \(\forall (u,v),u \neq v,c_u = 1,c_v = 0\) 都被包含。 这个可以说是典中典,枚举二进制下每一位是 \(1\) 还是 \(0\),第一次是 \(1\) 的位置的点连源点,第二次连汇点,跑 \(O(

  • tarjan22022-02-15 20:31:28

    反过来调过去,我还是感觉没学明白缩点 讲一个有向图中的所有强连通分量缩成一个点后,构成的新图是一个DAG。 一个点所在的强连通分量一定被该点所在DFS搜索树所包含 树上的边大致分为:树枝边,前向边(从上往下指),后向边(从下往上指),横叉变。其中前向边肉眼可见地没什么卵用 接下来开始算

  • 图的遍历2022-02-11 08:31:22

    图的遍历 ​ 同树的遍历,图的遍历也是从一个顶点开始,逐个顶点遍历;但是图的结构相比树要复杂的多,在遍历的过程中,相比树也要复杂的多,因为图的每个顶点都有可能和其他顶点邻接,多以在比那里图的时候,需要注意的就包含是否该顶点被重复遍历了;所以这里就通过建立一个辅助数组,来记录每个顶

  • 1126 Eulerian Path (25 分)2022-02-10 14:32:39

    题目大意:判断一个无向图,是欧拉图还是半欧拉图 1.所有点连通,且度数都为偶数:欧拉图 2.所有点连通,有两个点度数为奇数,其余为偶数:半欧拉图 不满足1,2就是非欧拉图 这道题扩展一下还可以找欧拉回路或者欧拉路径,有奇点就从奇点开始找,没有就从任意点开始找。 言归正传,本题邻接矩阵建图,然

  • YbtOJ-连通的图【结论,线性基】2022-02-08 21:04:35

    正题 题目大意 给出\(n\)个点\(n+k-1\)条边的一张图,求有多少种删除若干条边的方案使得图依旧联通。 \(1\leq n\leq 10^5,1\leq k\leq 10\) 解题思路 注意到\(k\)很小,我们考虑先搞出一棵\(dfs\)树然后剩下的做非树边。 这里有个结论是,我们将第\(i\)条非树边权值定为\(2^i\),树边权

  • [SDOI2012]吊灯(结论)2022-02-08 15:04:26

    problem 洛谷链接 solution 显然,颜色相同的灯泡形成一个连通块,且连通块的大小 i ∣ n i\mid n i∣n。 这道题要能发现一个结论:一定至少

  • 2022-02-08 02:31:45

    6.1 图的定义和基本术语 6.1.1 图的定义 图(Graph) G由两个集合V和E组成,记为G=(V,E) V:顶点的有穷非空集合 E:是V中顶点偶对的有穷集合,这些顶点偶对称为边 V(G):图G的顶点集合 E(G):图G的边集合(可以为空集)——若E(G)为空,则图G只有顶点而没有边 有向图:对于图G,若边集E(G)为有向边的集合

  • 2022-02-08 01:04:29

    目录 第六章 图 第六章 图 6.1 图的定义与基本术语 图(Graph) G由两个集合V和E组成,记为G=(V,E) , 其中V是顶点的有穷非空集合, E是V中顶点偶对的有穷集合,这些顶点偶对称为边。 图的基本术语(用n表示图中顶点数目,用e表示边的数目) 对于图G,若边集E(G)为有向边的集合,则称该图为有

  • 数据结构--图的基础知识2022-02-07 17:32:20

    图 定义 图(Graph), 又V和E两个非空集合构成,表示为G = (V,E); 其中,V表示的是图G中的顶点的又穷非空集合;E表示的是图G中的两个顶点之间连接的边的有穷集合; V(G),E(G)通常分别表示G的顶点集,边集; ps: 一个图,可以没有边,也就是E(G)可以为空,但是V(G)不能 图的基本术语 无向边: 若顶点vi

  • 最强连通分量(Tarjan)笔记2022-02-07 14:04:23

    引言 在静态分析技术中, 我们常用会将代码转成抽象语法树(AST), 然后采用深度遍历(DFS)来完成对语法树的遍历和查询,找到潜在的问题缺陷。 对于语义的分析,我们采用的控制流和数据流也都无一例外的采用了以图为基础的算法, 通过图的可达性, 来完成变量、表达式的可达分析, 以及变量的

  • 寒假:Day262022-02-06 14:01:37

    Day26 有向图的强连通分量 1174. 受欢迎的牛 - AcWing题库 T a r j a n Ta

  • #4973. [Lydsy1708月赛]比特战争2022-02-04 22:32:47

    4973. [Lydsy1708月赛]比特战争 这个题确实是有点妙... 首先我们可以考虑最终的答案是怎么样的,肯定是若干个连通块,和一些单独的点,考虑它们对答案的贡献分别是什么,单独的点肯定是\(a_i*b_i\),连通块的话考虑所有的点和所有的边都被占领了,所有贡献为\(max(maxa_i,maxc_i)*minb_i\),简

  • 【题解】ABC234Ex - Distinct Multiples2022-02-03 20:00:24

    如果不考虑 \(A_i\neq A_j\) 的条件非常好做,不难想到将这个条件容斥掉。 这等价于从 \(\dfrac{N(N - 1)}{2}\) 个二元组中钦定一些使得对应两端相同,表现在图中就是求连通块个数和对应的 \(\rm lcm\)。 所以我们不难设计 DP,\(f_{S}\) 表示集合为 \(S\) 的所有点的答案,我们枚举包含

  • 洛谷P1522 [USACO2.4]牛的旅行 Cow Tours 题解2022-02-03 18:58:58

    洛谷P1522 [USACO2.4]牛的旅行 Cow Tours 题解 题目链接:P1522 [USACO2.4]牛的旅行 Cow Tours 题意:给定一张无向图,有至少 2 2 2 个连通分量,定义直径为每个连通分量中任意两结

  • LeetCode -1319 连通网络的操作次数2022-02-02 20:58:52

    class Solution { public int makeConnected(int n, int[][] connections) { int len = connections.length; if(len < n-1) return -1; UnionFind uf = new UnionFind(n); for(int i=0;i<len;i++){

  • 算法基础课——连通块中点的数量2022-01-29 23:07:11

    连通块中点的数量 问题描述 给定一个包含 n 个点(编号为 1∼n)的无向图,初始时图中没有边。 现在要进行 m 个操作,操作共有三种: C a b,在点 a 和点 b 之间连一条边,a 和 b 可能相等; Q1 a b,询问点 a 和点 b 是否在同一个连通块中,a 和 b 可能相等; Q2 a,询问点 a 所在连通块中点的数量;

  • C++基础:图的连通性算法2022-01-29 23:05:44

    目录 一.割点和点双连通分量 1.割点 2.点双连通图(点双) 3.点双连通分量(点双)  二.桥和边双连通分量 1.桥 2.边双连通图(边双)  3.边双连通分量(边双)  4.强连通分量(代码单独为一博文)  二.连通性的理解 三.求割点与点双连通分量 三.桥和边双连通分量 一.割点和点双连通分量 1.

  • 4216. 图中的环2022-01-29 22:00:23

    题目链接 4216. 图中的环 给定一个 \(n\) 个点 \(m\) 条边的无向图。 点的编号从 \(1\) 到 \(n\)。 图中不含重边和自环。 请你对给定图进行判断,如果该图是一个有且仅有一个环的连通图,则输出 YES,否则输出 NO。 输入格式 第一行包含两个整数 \(n,m\)。 接下来 \(m\) 行,每行包含两个

  • [NOI2018] 归程,Kruskal 重构树2022-01-27 23:33:00

    给出一张点数为 \(n\),边数为 \(m\) 的无向连通图,每个边 \(e\) 的属性是一个二元组 \((l,a)\)。 接下来给出 \(q\) 次询问,每次给出一个出发点 \(v\) 以及约束 \(p\),求出从 \(v\) 至 \(1\) 号节点的最小花费。 花费的计算是这样的:将 \(p(v,1)\) 分为两段 \(p(v,u)\),\(p(u,1)\)。 \(p

  • Kosaraju 求强连通分量2022-01-26 19:34:15

    感觉比 Tarjan 好写多了!虽然正确性可能不如 Tarjan 好理解。 先求出 dfs 树,然后按照出栈序倒序在反图上 dfs,每次 dfs 所有能走到的点都构成了一个强连通分量,然后将它们在图上删去。 代码(来自 oi-wiki) 时间复杂度 \(\mathcal{O}(|V|+|E|)\). // C++ Version // g 是原图,g2 是反图 v

  • P4380 [USACO18OPEN]Multiplayer Moo S 题解2022-01-26 17:03:30

    思路 第一问可以直接在给的地图上 Flood-Fill,可以 BFS 也可以并查集找连通块,时间复杂度差不多。 第二问比较难。首先可以想到的是暴力,对于一个连通块找与它相连的另一个连通块,然后试图把这两个连通块组合,每次去计算一下。 但时间复杂度非常高,所以考虑时间复杂度低的做法。接下来介

  • ATC ** 练习2022-01-23 18:33:21

    要正视自己的 ** ,所以。。。 AGC056A 题意: 给定一个 \(n\ (n \ge 6)\),构造一个 \(n\times n\) 的矩阵,由 . 和 # 组成,这个矩阵满足: 每行每列都有且仅有 \(3\) 个 # 。 定义两个 # 在上下左右四个方向相连则为连通,若 \(a\) 和 \(b\) 连通,\(b\) 和 \(c\) 连通,那么 \(a\) 和 \(c\) 也

  • [学习笔记]2-SAT2022-01-23 09:00:26

    2-SAT的定义 \(2-SAT\)是对于一类限制问题类似于\(a_1 or a_2 = 0\)之类的每个限制只有两个元素,求解一个合法的全体序列问题。 解法 发现此类条件具有指向性。 拆点。 连\(u\to v\),表示若\(u\)成立则\(v\)一定成立 若\(u\)可以推出\(v\)则\(u\)非法,\(v\)合法。 有向无环图中,合法

  • 图的联通2022-01-22 13:02:30

    图的联通 无向图: G=(V,E) 有一条路径使u到v,则u,v是联通的。所以任意一个顶点和自身联通,任意一条边的两个端点联通。 若任意两个顶点联通,则G是连通图,这一性质叫连通性 H是G的一个子图,且不存在H\(\varsubsetneqq\)F\(\subseteq\)G且F为连通图,则H是G的一个连通块/连通分量(极大连通子图) 有

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有