• 2024-07-02图论(1)
    图论(一)图的存储与遍历方法一:直接存边方法二:邻接矩阵用bool类型二维数组存储\(u是否能到v\)方法三:邻接表以P5318为例。#include<bits/stdc++.h>#defineLLlonglong#definels(p<<1)#definers(p<<1|1)#defineINFINT_MAX#definelowbit(x)(x&-x)#define
  • 2024-07-01图论最短路径问题与matlab实现
    上一次我们讨论了如何进行图论可视化,这一次我们通过matlab来找出图论中距离最小路径目录一、迪杰斯特拉算法(Dijkstra)二、shortestpath函数用法1.基本语法2.参数设计3.应用实例(1)输入图论信息(2)输入参数进行求解(3)最短路径可视化三、distances函数————求出任意两点的最短路径矩
  • 2024-07-01图论初步与可视化
    本讲将简要介绍图论中的基本概念,并主要讲解图论中的最短路径问题。以及如何将图论可视化目录一、图论的概念二、在线作图网站1.index介绍2.NodeCount介绍3.Graphdata三、Matlab作无向图1.无权图(每条边的权重默认为1)2.利用字符串做无权图3.有权图四、Matlab作有向图一、图论的
  • 2024-06-23【数据结构与算法】图论 详解
    何为完全图、稀疏图、稠密图。完全图:完全图是一种简单的无向图,其中每对不同的顶点之间都恰好有一条边。对于有n个顶点的完全图,它包含n(n-1)/2条边。在有向图中,如果任意两个顶点之间都存在方向相反的两条边,包含n(n-1)条边,则该图被称为有向完全图。稀疏图:稀疏图是边数相
  • 2024-06-19[学习笔记] 树链剖分 - 图论 & 数据结构
    树链剖分怎么说呢,感觉只要不是求最大最小值好像都可以用树上查分代替。例题[ZJOI2008]树的统计-单点修改树链查询树链剖分板子,不多说了,代码注意细节就行。该用dfn的地方不要把点的编号传进去。#include<bits/stdc++.h>usingnamespacestd;#definels(id<<1)#define
  • 2024-06-12大厂面试高频题目——图论
    797.所有可能的路径给你一个有n个节点的有向无环图(DAG),请你找出所有从节点0到节点n-1的路径并输出(不要求按特定顺序)graph[i]是一个从节点i可以访问的所有节点的列表(即从节点i到节点graph[i][j]存在一条有向边)。思考深搜dfs模板题。classSolution:def__in
  • 2024-06-08【图论】欧拉图
    欧拉回路EulerianCycle:通过图中每条边恰好一次的回路欧拉通路EulerianPath:通过图中每条边恰好一次的通路欧拉图:具有欧拉回路的图半欧拉图:具有欧拉通路但不具有欧拉回路的图欧拉图中所有顶点的度数都是偶数。若G是欧拉图,则它为若干个环的并,且每条边被包含在奇数个环内。
  • 2024-06-07【数据结构】图论入门
    引入数据的逻辑结构:集合:数据元素间除“同属于一个集合”外,无其他关系线性结构:一个对多个,例如:线性表、栈、队列树形结构:一个对多个,例如:树图形结构:多个对多个,例如:图图的基本概念及术语图:G=(V,E)V:顶点(数据元素)的有穷非空集合E:边的有穷集合图的类型定义无向图:每
  • 2024-06-06图论-SPFA与差分约束
    闻道有先后,术业有专攻当用来判断负环的时候,SPFA还挺好用的intpre[N];voidprint_path(ints,intt){if(s==t){cout<<s;return;}print_path(s,pre[t]);cout<<""<<t;}inthead[N],cnt;structEdge{intfrom,to,nxt,c;}e[
  • 2024-06-04图论
    1图论1.1图的建立1.1.1领接表边权建图importjava.util.ArrayList;importjava.util.List;importjava.util.Scanner;publicclassMain{//定义图的邻接表表示staticList<int[]>[]g;//节点数staticintn;//保存某种状态或结果的数组
  • 2024-06-01最短路图论
    dijkstraCode:#include<bits/stdc++.h>usingnamespacestd;typedefpair<int,int>pii;constintN=1e5+5,inf=INT_MAX;intn,m,dis[N],s;//structnode{//intfrom,to,w,val;//};boolvis[N];vector<pii>edge
  • 2024-05-30知识点整理 - 连通性相关 | 《综述图论中连通性及相关问题的一些处理方法》学习笔记
    是ix35老师论文的学习笔记,同时也用作连通性相关知识梳理。可能不会包含很多定义,只会挑重要的写。会包含一些例题。定义与记号\(u\rightsquigarrowv\)代表\(u\)到\(v\)的一条路径。有时也会用这个记号表示连通性。无向图点/边连通度:若\(u,v\)任意点割集大小不小
  • 2024-05-30图论-最近公共祖先
    例题:祖孙询问 给定一棵包含 n
  • 2024-05-27动态规划--图论中使实用场景概述
    目录一 动态规划概述二 动态规划在图论中应用场景三c实例1.**最短路径问题(Dijkstra算法)**:2.**最小生成树问题(Kruskal算法)**:一 动态规划概述动态规划(DynamicProgramming,简称DP)是一种用于解决具有重叠子问题和最优子结构特性的问题的优化方法。动态规划通过将原
  • 2024-05-27高级算法随笔
    高级算法高级算法是C++编程中非常重要的一个方面,它涉及到各种复杂的数据结构和算法设计。比如,常见的高级算法包括动态规划、图论算法、搜索算法等等。在C++中,我们可以利用各种数据结构和STL(StandardTemplateLibrary)来实现这些算法,同时也可以自行设计和优化算法以提高
  • 2024-05-26【图论】割点(割顶)
    前置定义有无向图\(G=(V,E).\)无向图的DFS树:从某一点\(root\)开始DFS,访问邻点\(.\)当搜索到点\(u\)时,我们遍历每一条以\(u\)为起点的边\((u,v_i)\),且定义有向边\(u\longrightarrowv_i.\)于是DFS的过程全部完成之后,所有被定义的有向边就会组成一颗以\(r
  • 2024-05-24图论定理汇总(二)
    第六章平面图(一)、平面图的概念定义1如果能把图GGG画在平面上,使得除顶点外,边与边之间没有交叉,称G
  • 2024-05-24图论-二分图匹配匈牙利算法
    不得不说,如果以现实角度代入此算法的理解,就合理了很多,虽然有悖道德准则重点在于以下几点每次给女生分配男生前,都把男生全部初始化为可预定状态(即使他已经被别人成功匹配了)在所有女生中意的男生中遍历,如果发现该男生可预订就先预定,然后看他是否已经有主了,如果有主了,就dfs(matc
  • 2024-05-22图论-割边与边双连通分量
    首先是两篇模板割边点击查看代码inthead[N],cnt=1;structEdge{intfrom,to,nxt;}e[N<<1];voidadd(intu,intv){e[++cnt].from=u;e[cnt].to=v;e[cnt].nxt=head[u];head[u]=cnt;}intdfn[N],back[N],tim,bri_cnt;//dfn
  • 2024-05-22图论-割点与点双连通分量
    首先是两篇的代码割点点击查看代码inthead[N],cnt=0;structEdge{intfrom,to,nxt;}e[N<<1];voidadd(intu,intv){e[++cnt].from=u;e[cnt].to=v;e[cnt].nxt=head[u];head[u]=cnt;}intdfn[N],back[N],tim;//dfn[i]时
  • 2024-05-20关于 图论建模 的一些技巧
    分层图思想分层图在最短路中经常用到。直观上讲,就是将一个图复制k倍,互相是平行的,即互不影响,分层图两两之间会有决策边相连。这就等价于要在一个图上进行k次决策,对于每次决策,不影响图的结构,只影响目前的状态或代价。一般将决策前的状态和决策后的状态之间连接一条权值
  • 2024-05-09图论-割点与割边
    这是摘自算法书上的一篇Tarjan求割点算法dfn[i]代表时间戳数组back[i]代表该点不依靠祖先节点能回到的最远的祖先节点采用链式前向星建图,结果存储在iscut[]数组中点击查看代码inthead[N],cnt=0;structEdge{intfrom,to,nxt;}e[N<<1];voidadd(
  • 2024-05-01好题——图论
    前言本文章将会持续更新,主要是一些个人觉得比较妙的题,主观性比较强(给自己记录用的),有讲错请补充。带!号的题是基础例题,带*号的是推荐首先完成的题(有一定启发性的)。图论最短路P1119灾后重建此题看到以后以为是很简单的最短路问题(实际也不难),就写了dijkstra,然后光荣的tie
  • 2024-04-30KMOP
    赛时用的贪心做法,具体见PDF吧讲一下PDF的图论/DP做法两者本质是一样的,就讲图论了设图中的每个点(每个点代表一个已经拼接好的acronym)有三个参数\((w,l,c)\),分别表示这个acronym的结尾是第\(w\)个单词的第\(l\)个字母,然后末尾有连续\(c\)个辅音字母那么连边就像PDF说的这么连
  • 2024-04-23(图论分析,思维)ABC 350-D
    背景:我自己思考想出来的图论题,总归是有成就感的分析:求间接连接的点的对数,即一个连通块中枚举出两两连接的组合数,减去整个连通块中的边数,因为一条边必然直接连接了两个不同的点原理:并查集时间复杂度:o(n)代码如下:点击查看代码#include<bits/stdc++.h>usingnamesp