图论

2024/4/11 13:21:19

CSP 202009-3 点亮数字人生练习笔记

写的真累啊! 2021.12.26~12.27 练习CSP 202009-3 点亮数字人生(希望你真的可以点亮我的人生T…T) 解题思路: 本题可以抽象为一个有向图,通过拓扑排序判断图中是否存在环路,若存在环路,则输出“…

CSP 202109-3 脉冲神经网络练习笔记2 100分代码

之前写过这道题的练习笔记1:脉冲神经网络练习笔记1 笔记1里贴出的代码只有66分,原因是运行超时(有没有人发现这个字其实是粉红色的 (。・∀・)ノ゙)。 笔记1里我提出了一些当时未理解的…

算法提高课第一章状态机模型

划定每一个状态 分析状态转移方程 1049. 大盗阿福 - AcWing题库 #include <iostream> #include <cstring> #include <algorithm>using namespace std; const int N 110000; int a[N]; int dp[N][2]; int n; int main() {int t;cin >> t;while(t --){…

207. 课程表——图论、深度遍历

class Solution { public:bool flag true;vector<int> visited;vector<vector<int>> vecVecInt;bool canFinish(int numCourses, vector<vector<int>>& prerequisites) {//其实是一个图论问题&#xff0c;看图中是否存在环//那么我们只要把…

数据结构PTA 案例6-1.6 哈利·波特的考试

案例6-1.6 哈利波特的考试题目解法题目 哈利波特要考试了&#xff0c;他需要你的帮助。这门课学的是用魔咒将一种动物变成另一种动物的本事。例如将猫变成老鼠的魔咒是haha&#xff0c;将老鼠变成鱼的魔咒是hehe等等。反方向变化的魔咒就是简单地将原来的魔咒倒过来念&#xf…

P3324 [SDOI2015]星际战争(洛谷刷题记录)

P3324 [SDOI2015]星际战争 转洛谷网站 题解 重难点依然是建图 考虑攻击力限制条件 一个是攻击装置能够发射的伤害 一个是防御装置能够承受的伤害 建立超级源点超级汇点 源点向武器建边&#xff0c;边权为攻击参数 防御向汇点建边&#xff0c;边权为防御系数 武器与防御之间边…

括号匹配题

括号匹配题目信息输入输出提示测试样例解答题目信息 DarkDawn在乐学上出了一道给定括号序列&#xff0c;判断其合法性的问题。 括号序列是由左括号“(”和右括号“)”组成的非空序列。对于一个括号序列很容易判定其合法性。比如()、(())()、(()())、(()(()))、()()()都是合法的…

图(上)——DFS种子填充

ACM学习笔记-DAY10 前几篇文章了解了树和二叉树并掌握了BFS和DFS&#xff0c;在树中个体之间可以是前驱后继的顺序关系、也可以是祖先后代的层次关系。但是在日常生活中能编织成树的数据结构还是很少的&#xff0c;更为广泛的是网状关系——也就是图&#xff08;Graph&#xff…

洛谷题单 Part 8.1 图的存储与遍历

这周末程设期末小米杯&#xff0c;多复习复习找找手感&#xff0c;从图论开始吧&#xff0c;正好现在大晚上不想做太多题&#xff0c;这个专题第一个部分就俩题哈哈哈&#xff0c;懒死我得了 P2661 [NOIP2015 提高组] 信息传递 题面 Solution:Solution:Solution:利用并查集&a…

数据结构PTA 进阶实验6-3.4 拯救007(升级版)

进阶实验6-3.4 拯救007&#xff08;升级版&#xff09;题目解法题目 在老电影“007之生死关头”&#xff08;Live and Let Die&#xff09;中有一个情节&#xff0c;007被毒贩抓到一个鳄鱼池中心的小岛上&#xff0c;他用了一种极为大胆的方法逃脱 —— 直接踩着池子里一系列鳄…

数据结构PTA 基础实验6-2.2 汉密尔顿回路

基础实验6-2.2 汉密尔顿回路题目解法题目 著名的“汉密尔顿&#xff08;Hamilton&#xff09;回路问题”是要找一个能遍历图中所有顶点的简单回路&#xff08;即每个顶点只访问 1 次&#xff09;。本题就要求你判断任一给定的回路是否汉密尔顿回路。 输入格式&#xff1a; 首…

Leecode 1631. 最小体力消耗路径 BFS/并查集/二分/DP

原题链接&#xff1a;Leecode 1631. 最小体力消耗路径 这题还得好好看 参考题解&#xff1a;【多解法】DP 二分 BFS 并查集 并查集 class Djset { public:vector<int> parent;vector<int> rank;Djset(int n): parent(n),rank(n){for(int i0;i<n;i){parent…

CCF-CSP 201803-5 二次求和 30分

原题链接&#xff1a;CCF-CSP 201803-5 二次求和 #include <bits/stdc.h> using namespace std; const int N2010; const int Q1000000007;long long tree[N]; long long mp[N]; vector<long long> adj[N]; set<vector<int>> path;void dfs1(int f…

CCF-CSP 201812-4 数据中心 最小生成树

原题链接&#xff1a;CCF-CSP 201812-4 数据中心 纯纯的kruscal #include <bits/stdc.h> using namespace std; int n,m,root; const int N5e410; const int M1e510;struct edge {int u,v,w; }e[M]; bool cmp(edge a,edge b) {return a.w<b.w; } int f[N]; int find…

CCF-CSP 202112-5 极差路径 暴力12分

原题链接&#xff1a;CCF-CSP 202112-5 极差路径 #include <bits/stdc.h> using namespace std; #define ll long long const int N5e510;int n,k1,k2; vector<int> g[N]; vector<int> v; int vis[N]; set<pair<int,int>> res;void dfs(int x,…

Leetcode 547. 省份数量 求图的连通分量

原题链接&#xff1a;Leetcode 547. 省份数量 DFS class Solution { public:vector<int> visited;void dfs(vector<vector<int>>& isConnected,int x,int n){for(int i0;i<n;i){if(!visited[i] && isConnected[i][x]){visited[i]1;dfs(isCon…

Leetcode 743. 网络延迟时间 DFS/BFS/Dijkstra/Dijkstra+优先队列/Floyd/Bellman-Ford

原题链接&#xff1a;Leetcode 743. 网络延迟时间 DFS class Solution { public:vector<vector<pair<int,int>>> adj;vector<int> visit;void dfs(int now,int w){if(visit[now]>w){visit[now]w;for(auto x:adj[now]){int ax.first,bx.second;df…

Leetcode 310. 最小高度树 BFS

原题链接&#xff1a;Leetcode 310. 最小高度树 超时DFS&#xff1a; class Solution { public:int res0;void dfs(vector<int>& visit,vector<vector<int>>& edges,int now,int h){visit[now]1;int flag-1;for(auto x:edges){int ax[0],bx[1];if(a…

Leetcode 841. 钥匙和房间

原题链接&#xff1a;Leetcode 841. 钥匙和房间 DFS class Solution { public:vector<int> visit;vector<vector<int>> adj;int num0;void dfs(int i){visit[i]1;num;for(auto x:adj[i]){if(!visit[x]) dfs(x);}}bool canVisitAllRooms(vector<vector<…

Leetcode 851. 喧闹和富有 DFS/拓扑排序

原题链接&#xff1a;Leetcode 851. 喧闹和富有 DFS1&#xff1a; class Solution { public:int tmpINT_MAX;int person;vector<vector<int>> adj;vector<int> visit;void dfs(vector<int>& quiet,int now){if(quiet[now]<tmp){tmpquiet[now];…

Leecode 1976. 到达目的地的方案数 Dijkstra+DP

原题链接&#xff1a;Leecode 1976. 到达目的地的方案数 参考&#xff1a;到达目的地的方案数 dijkstraDP&#xff0c;用一个cnt数组记录一下每个点到起点的最短路径的数量。 class Solution { public:vector<vector<pair<int,int>>> adj;vector<int>…

Leetcode 2316. 统计无向图中无法互相到达点对数 DFS/BFS/并查集+前缀和

原题链接&#xff1a;Leetcode 2316. 统计无向图中无法互相到达点对数 DFS class Solution { public:vector<vector<int>> adj;vector<int> visit;void dfs(int i,int color){visit[i]color;for(auto x:adj[i]){if(!visit[x]) dfs(x,color);}}long long cou…

Leetcode 2359. 找到离给定两个节点最近的节点

原题链接&#xff1a;Leetcode 2359. 找到离给定两个节点最近的节点 DFS: class Solution { public:vector<int> dis1;vector<int> dis2;vector<int> visit;void dfs(vector<int>& edges,int now,int d,int flag){if(flag1) dis1[now]d;else di…

Leetcode 2368. 受限条件下可到达节点的数目 BFS/DFS/并查集

原题链接&#xff1a;Leetcode 2368. 受限条件下可到达节点的数目 DFS class Solution { public:vector<vector<int>> adj;vector<int> visit;map<int,int> mp;int num0;void dfs(int now){visit[now]1;num;for(auto x:adj[now]){if(!visit[x] &am…

Leetcode 2192. 有向无环图中一个节点的所有祖先 逆向建图+DFS/拓扑排序

原题链接&#xff1a;Leetcode 2192. 有向无环图中一个节点的所有祖先 class Solution { public:vector<vector<int>> adj;vector<vector<int>> res;vector<int> indegree;map<pair<int,int>,int> mp;void dfs(int now){for(aut…

Leetcode 1557. 可以到达所有点的最少点数目 拓扑排序

原题链接&#xff1a;Leetcode 1557. 可以到达所有点的最少点数目 这也太简单了吧。。。。我不敢相信 class Solution { public:vector<int> findSmallestSetOfVertices(int n, vector<vector<int>>& edges) {vector<int> indegree(n);for(auto x…

Leetcode 1462. 课程表 IV DFS+反向构图/Floyd/拓扑排序

原题链接&#xff1a;1462. 课程表 IV DFS反向构图 这个做法是参考了这道题&#xff1a;Leetcode 2192. 有向无环图中一个节点的所有祖先 逆向建图DFS class Solution { public:vector<vector<int>> adj;map<pair<int,int>,int> mp;vector<vector…

Leetcode 2285. 道路的最大总重要性 贪心

原题链接&#xff1a;Leetcode 2285. 道路的最大总重要性 class Solution { public:long long maximumImportance(int n, vector<vector<int>>& roads) {long long res0;vector<long long> degree(n);for(auto x:roads){degree[x[0]];degree[x[1]];}sort…

Leetcode 1514. 概率最大的路径 Dijkstra+修改+优化

原题链接&#xff1a;Leetcode 1514. 概率最大的路径 class Solution { public:struct cmp{bool operator() (const pair<int,double>& a,const pair<int,double>& b){return a.second<b.second;}};vector<double> d;vector<int> visi…

Leetcode 1584. 连接所有点的最小费用 最小生成树 prime/kruskal C++tuple的使用

原题链接&#xff1a;Leetcode 1584. 连接所有点的最小费用 prime&#xff1a; class Solution { public:vector<int> d;vector<int> visit;int cost0;void prime(vector<vector<int>>& points,int t,int n){d[t]0;for(int i0;i<n;i){int u-1,…

算法提高课第二章DFS之连通性模型

DFS在求解连通性时有很好的应用&#xff0c;而且代码会比BFS简洁 DFS求解有两种&#xff0c;图内连通和图外连通。图内联通是图内的两个点连通&#xff0c;每个点只需遍历一次&#xff0c;而图外连通是指求解图状态改变的连通&#xff0c;如求解最短路径&#xff0c;每个点可能…

Leetcode 2115. 从给定原材料中找到所有可以做出的菜 拓扑排序+hash+模拟

原题链接&#xff1a;Leetcode 2115. 从给定原材料中找到所有可以做出的菜 class Solution { public:vector<string> findAllRecipes(vector<string>& recipes, vector<vector<string>>& ingredients, vector<string>& supplies) {i…

Leetcode 1466. 重新规划路线 正向+逆向DFS/BFS

原题链接&#xff1a;Leetcode 1466. 重新规划路线 BFS class Solution { public:vector<vector<int>> adj;vector<vector<int>> in;vector<int> visit;int minReorder(int n, vector<vector<int>>& connections) {adj.resize(…

Leetcode 2477. 到达首都的最少油耗 dfs+贪心

原题链接&#xff1a;Leetcode 2477. 到达首都的最少油耗 计算节点的子节点数&#xff0c;使用贪心策略&#xff0c;让一辆车尽量载更多的人 class Solution { public:vector<vector<int>> adj;long long res0;long long dfs(int now,int seats,int pre){long lon…

Leetcode 959. 由斜杠划分区域 DFS+模拟/并查集

原题链接&#xff1a;Leetcode 959. 由斜杠划分区域 解法一&#xff1a;将一个方块看成3x3的矩阵&#xff0c;使用dfs判断有多少块区域&#xff0c;参考&#xff1a; [C] [动画] 转换成岛屿个数 class Solution { public:void dfs(vector<vector<int>>& g,int…

第三章 搜索与图论(三)——最小生成树与二分图

文章目录 最小生成树PrimKruskal 二分图染色法匈牙利算法 最小生成树练习题858. Prim算法求最小生成树859. Kruskal算法求最小生成树 二分图练习题860. 染色法判定二分图861. 二分图的最大匹配 最小生成树 最小生成树针对无向图&#xff0c;有向图不会用到 Prim 求解稠密图的最…

Leetcode 1971. 寻找图中是否存在路径 DFS/BFS

原题链接&#xff1a;Leetcode 1971. 寻找图中是否存在路径 DFS class Solution { public:vector<vector<int>> adj;vector<int> visit;bool flagfalse;void dfs(int now,int destination){if(nowdestination) flagtrue;visit[now]1;for(auto x:adj[now]){…

Leetcode 1129. 颜色交替的最短路径 BFS+模拟

原题链接&#xff1a;Leetcode 1129. 颜色交替的最短路径 参考&#xff1a;颜色交替的最短路径 思路清晰 基于基本BFS轻松写出 充分理解题意 class Solution { public:vector<int> shortestAlternatingPaths(int n, vector<vector<int>>& redEdges, vec…

图论基础

图论基础 ①图是一种由“顶点”组成的抽象网络&#xff0c;网络中的各顶点可以通过“边”实现彼此的连接&#xff0c;表示两顶点有关联。 ②顶点&#xff0c;表示某个事物或对象。 ③边&#xff0c;表示事物与事物之间的关系。 ④同构&#xff0c;不管顶点的位置在哪&#…

AcWing 836.合并集合

假设现在有集合A(1,2,3)&#xff0c;B(5,6,7) 朴素算法&#xff1a;用数组存储数据&#xff0c;如果要合并&#xff0c;就将其中一个数组&#xff0c;加到另一个数组之后。 并查集:我们可以用树来存储元素(祖先节点为集合名)&#xff0c; A是元素1&#xff0c;2&#xff0c;…

AcWing 837.连通块中点的个数

操作1和操作2和并查集常规步骤一样。具体可见: AcWing 836.合并集合_m0_50564748的博客-CSDN博客 唯一多了它记录了树中元素的个数。可以开创一个sizee数组&#xff0c;存放集合祖宗节点的个数。 例如将祖先节点a接到b节点下面&#xff0c;只需要将sizee[a]也加到sizee[b]即…

C++ 数据结构——无向图遍历(邻接矩阵)

/*无向图(邻接矩阵)*/ #include <iostream> using namespace std; const int maxsize10; int visited[maxsize]{0}; template<typename T> class MGraph { private:T vertex[maxsize];int edge[maxsize][maxsize];int vertexNum,edgeNum; public:MGraph(T a[],int …

条件随机场(CRF)——3 命名实体识别(NER)

条件随机场经常被用于序列标注&#xff0c;其中包括词性标注&#xff0c;分词&#xff0c;命名实体识别\color{red}词性标注&#xff0c;分词&#xff0c;命名实体识别词性标注&#xff0c;分词&#xff0c;命名实体识别等领域。(yes我会标红了) 1 NER任务介绍 NER更多介绍看…

图的创建以及遍历(邻接表)

#include "iostream" #include "iomanip" #include "algorithm" #define maxsize 10 using namespace std; int visited[]{0}; struct arc_node //边表 {int adjvex; //邻接点下标arc_node*next_arc; //指向下一条弧节点 };struct vertex_…

图论基础知识

graph&#xff1a; 邻接矩阵&#xff08;adjacency&#xff09;: adjacency[ [0,1,1,0,0,0],[1,0,1,1,0,0],[1,1,0,1,1,0],[0,1,1,0,1,1],[0,0,1,1,0,0],[0,0,0,1,0,0]]度 &#xff08;degree&#xff09;&#xff1a; 无向图的度&#xff1a; A&#xff1a;2&#xff1b;B&a…

ROS架构(二)——计算图

ROS架构&#xff08;二&#xff09;——计算图 目录1、节点2、消息3、话题4、服务5、节点管理器从计算图的角度来看&#xff0c;ROS系统软件的功能模块以节点为单位独立运行&#xff0c;可以分布于多个相同或不同的主机中&#xff0c;在系统运行时通过端对端的拓扑结构进行连接…

【PTA题目】7-10 求最大值及其下标 (20 分)

本题要求编写程序&#xff0c;找出给定的n个数中的最大值及其对应的最小下标&#xff08;下标从0开始&#xff09;。 输入格式: 输入在第一行中给出一个正整数n&#xff08;1<n≤10&#xff09;。第二行输入n个整数&#xff0c;用空格分开。 输出格式: 在一行中输出最大…

算法打印2021-11-14

头文件 #include<bits/stdc.h> #define intn long long #define ls(k) (k)<<1 #define inf 2147483647 #define re register #define rs(k) (k)<<1|1 #define _0for(i, a) for(int i 0; i < (a); i) #define _1for(i, a) for(int i 1; i <(a); i) #…

算法提高课第二章Flood Fill

对于染色问题&#xff0c;可以采用BFS求解 BFS的优点是&#xff1a;每个点只会遍历一次&#xff0c;第一次遇到终点时即可求得最短路 1097. 池塘计数 #include <iostream> #include <cstring> #include <queue> #include <algorithm> using namespac…

算法提高课第二章双端队列广搜

什么时候会用到双端队列呢&#xff0c;BFS可以看做是一种特殊边权全为1的迪杰斯塔拉算法&#xff0c;BFS的队列满足两端性和单调性&#xff0c;这样就保证了它求解最短路的准确性。当边权为0和1时&#xff0c;可以使用双端队列&#xff0c;0放队头&#xff0c;1放队尾&#xff…

算法提高第二章课双向广搜

在BFS搜索的过程中&#xff0c;状态的扩展是指数级增长的&#xff0c;为了减少状态数&#xff0c;我们可以从起点和终点双向BFS搜索&#xff0c;且在一个方向的状态数少的情况下多去搜这个方向。在两个方向同时搜到某个状态数结束 注意&#xff0c;不是每个方向一个点一个点的去…

算法提高课第三章Floyd算法及拓展应用

floyd算法可以解决的问题&#xff1a; 最短路传递闭包找最小环恰好经过k条边的最短路&#xff08;倍增&#xff09; //初始化 for(int i 1; i < n; i ) for(int j 1; j < n; j ) if(i ! j) dist[i][j] inf; 集合&#xff1a;所有从i出发&#xff0c;最终走到j&am…

算法提高课第一章背包模型

多种多样的背包问题 采药 01背包 装箱问题 01背包 AcWing 1022. 宠物小精灵之收服 多重背包&#xff0c;一题三解。 有一些精灵球&#xff0c;皮卡丘有一定的体力&#xff0c;在保证收服尽可能多的小精灵的情况下&#xff0c;使得皮卡丘的体力剩余最多 皮卡丘的体力必须…

算法提高课第四章并查集

并查集有两个功能&#xff1a;合并集合、查询祖宗节点 优化方式&#xff1a;路径压缩&#xff0c;按秩合并 记录每个集合的大小&#xff0c;绑定到根节点。记录每个点到根节点的距离&#xff0c;绑定到子节点 并查集的高级应用&#xff1a;扩展并查集、带权并查集 1250. 格子游…

算法提高课第五章树状数组

树状数组和差分树状数组 快速求前缀和修改某个数 241. 楼兰图腾 - AcWing题库 #include <iostream> #include <cstring> #include <algorithm> #define int long long using namespace std; const int N 200010;int n; int a[N]; int tr[N]; int g[N], l[N…

C语言:L2-023 图着色问题 (25 分)

文章目录一、题目二、方法11、思路2、代码一、题目 图着色问题是一个著名的NP完全问题。给定无向图G(V,E)&#xff0c;问可否用K种颜色为V中的每一个顶点分配一种颜色&#xff0c;使得不会有两个相邻顶点具有同一种颜色&#xff1f; 但本题并不是要你解决这个着色问题&#xff…

信息学奥赛一本通 1385:团伙(group) | 洛谷 P1892 [BOI2003]团伙

【题目链接】 ybt 1385&#xff1a;团伙(group) 洛谷 P1892 [BOI2003]团伙 【题目考点】 1. 并查集 【解题思路】 每个人是一个元素&#xff0c;一个团伙是一个集合。 如果A与B是朋友&#xff0c;那么A与B同属于一个集合&#xff0c;应该将A所在的集合与B所在的集合合并。…

算法模板(4):动态规划(1)

动态规划 闫氏 d p dp dp 分析法&#xff1a; 集合&#xff1a;怎么划分。通常以集合的划分来定义数组。 f ( i , j ) f(i, j) f(i,j)&#xff1a;选前 i i i 个物品. 体积不超过 j j j。全部初始化为 0 0 0&#xff1b; j j j 非负时状态才合法。体积恰好是 j j j。 f…

BUPT kamiyoru's training #2 codeforces#485div.2

A - Infinity Gauntlet 签到题&#xff0c;就不多扯了。 #include <iostream> #include <string> #include <map> using namespace std; char str[10][10]{"","Power","Time","Space","Soul","Re…

【数据结构】E : 货币套汇(图路径)

E : 货币套汇&#xff08;图路径&#xff09; Description 套汇是指利用货币汇兑率的差异将一个单位的某种货币转换为大于一个单位的同种货币。例如&#xff0c;假定1 美元可以买0.7 英镑&#xff0c;1 英镑可以买9.5 法郎&#xff0c;1法郎可以买到0.16美元。通过货币兑换&a…

拓扑排序--C++实现

1. 定义 前置知识 DAG: Directed Acyclic Graph 有向无环图拓扑序&#xff1a; 像先修课程一样&#xff0c;即任意课程的前置课程都在其前面。 举个例子 在这个图中&#xff0c;1234或者1324是拓扑序。而其他的序列不是&#xff0c;即在一个节点出现之前他的所有祖先节点需…

【2021/推荐/社交网络】Socially-Aware Self-Supervised Tri-Training for Recommendation

部分公式、图表和排版等显示可能异常,可在个人公众号(码农的科研笔记)进行全文免费阅读。 【2021/推荐/社交网络】Socially-Aware Self-Supervised Tri-Training for Recommendation 原文:https://dl.acm.org/doi/10.1145/3447548.3467340 源码:[伯乐 SEPT]、https://git…

UVa 10603 Fill 倒水问题 单元最短路 Dijkstra

题目链接&#xff1a;Fill 题目描述&#xff1a; 给定容积为a,b,ca, b, ca,b,c的三个杯子&#xff0c;初始只有第三个杯子有ccc单位的水&#xff0c;每次可以将一个杯子的水倒入到另一个没有满的杯子中&#xff0c;倒水过程中除非出现一个杯子为空或出现一个杯子为满&#xff0…

O - Happy Matt Friends

思路&#xff1a; &#xff08;1&#xff09;条件及问题&#xff1a;给定N个数&#xff0c;找到异或值大于等于M的总方案数&#xff1b; &#xff08;2&#xff09;分析&#xff1a; 可以dfs&#xff08;&#xff09;枚举&#xff0c;超时&#xff1b;考虑dp,dp[i][j]描述在…

代码随想录Day42-图论:力扣第417m、841m、463e题

417m. 太平洋大西洋水流问题 题目链接 代码随想录文章讲解链接 方法一&#xff1a; 用时&#xff1a;1h0m58s 思路 直接找哪些点既可以到达太平洋又可以到达大西洋比较麻烦&#xff0c;换个角度&#xff0c;找到太平洋可以逆流而上到达的点&#xff0c;再找到大西洋可以逆…

[数组模拟] AcWing 847. 图中点的层次

输入样例&#xff1a; 4 5 1 2 2 3 3 4 1 3 1 4输出样例&#xff1a; 1 思路: 所有边的长度都是 1, 权值相同求有向图最短路, 广度优先即可 ,因为要求的是1~n的距离, 我们另设一个数组d[i] 来表示1~i之间的距离 有关边的添加思路可以参考数组实现单双链表的快速操作[时间复…

Dijkstra堆优化解析

用vector数组来存储每个节点的相邻节点 #include<iostream> #include<queue> using namespace std; const int INF 0x3f3f3f3f; const int MAXN 1000010; /*边尾>边头 */ struct qnode {int v;//顶点indexint c;//源点到该顶点的最短距离qnode(int _v 0, in…

检测图中的负循环 | (贝尔曼福特)

我们得到了一个有向图。我们需要计算图形是否有负循环。负循环是循环的总和变为负的循环。 在图形的各种应用中都可以找到负权重。例如,如果我们沿着这条路走,我们可能会得到一些好处,而不是为一条路付出代价。 例子:

数据结构PTA 案例6-1.7 公路村村通

案例6-1.7 公路村村通题目解法题目 现有村落间道路的统计数据表中&#xff0c;列出了有可能建设成标准公路的若干条道路的成本&#xff0c;求使每个村落都有公路连通所需要的最低成本。 输入格式: 输入数据包括城镇数目正整数N&#xff08;≤1000&#xff09;和候选道路数目M…

数据结构——【图的进阶】

目录 有向图 有向图API设计 有向图的实现 拓扑排序 拓扑排序 检测有向图中的环 基于深度优先的顶点排序 有向图 有向图的定义及相关术语定义∶ 有向图是一副具有方向性的图&#xff0c;是由一组顶点和一组有方向的边组成的&#xff0c;每条方向的边都连着 一对有序的顶点…

Leetcode-图-997.找到小镇的法官(简单)

997.找到小镇的法官题目如下解题思路c代码题目如下 解题思路 用两个数组存下信任和不信任的人的人数&#xff0c;然后最后判断一次就可以了 c代码 class Solution { public:int findJudge(int n, vector<vector<int>>& trust) {vector<int> in(n1,0);…

题355.lca问题-acwing-Q1636--最低公共祖先

文章目录题355.lca问题-acwing-Q1636--最低公共祖先一、题目二、题解题355.lca问题-acwing-Q1636–最低公共祖先 一、题目 二、题解 本题关键在于先建树&#xff0c;然后由于这里是给的节点数据不是编号所以得做一手离散化处理&#xff0c;之后再套lca板子即可。代码如下&#…

6-3图-邻接表

邻接表 回顾&#xff1a; 邻接矩阵&#xff1a;数组实现的顺序存储&#xff0c;空间复杂度高&#xff0c;不适合存储稀疏图 一.基本概念 邻接表&#xff1a;顺序链式存储 第一行&#xff1a;A指向123三个顶点&#xff0c;对应BCD三个顶点&#xff08;123顺序可交换&#xff…

6-2图-邻接矩阵

邻接矩阵 一.基本概念 &#xff08;1&#xff09;1表示有边&#xff0c;0表示无边 &#xff08;2&#xff09;先行后列 图中红框表示A指向B之间的边&#xff08;无向图表示AB之间的边&#xff09; &#xff08;3.1&#xff09;无向图 B的度3 第2行非0元素个数 或&#xff1a;第…

题213.2022寒假天梯赛训练-7-13 肿瘤诊断 (30 分)

文章目录题213.2022寒假天梯赛训练-7-13 肿瘤诊断 (30 分)一、题目二、题解题213.2022寒假天梯赛训练-7-13 肿瘤诊断 (30 分) 一、题目 二、题解 开始看这题的时候就没懂啥意思&#xff0c;想好久才知道我们可以把L个M*N的切片叠起来变成一个MNL的三维立体&#xff08;切片像素…

图的基本概念及图的存储

目录图(Graph)定义图的各种相关概念图的存储邻接矩阵存储邻接表存储带权图的存储带权图的邻接矩阵存储带权图的邻接表存储图(Graph) 定义 图(Graph)是由 顶点的有穷非空集合 和 顶点之间边 的集合组成&#xff0c;通常表示为G(V, E)&#xff0c;其中&#xff0c;G表示一个图&…

6-5图-图的基本操作

图的基本操作 一.先学几个单词 adjacent [əˈdʒeɪsnt] 邻近的adj. neighbors [ˈneɪbəz] 邻近v.n. insert [ɪnˈsɜːt , ˈɪnsɜːt] 插入v. vertex [ˈvɜːteks] 顶点n. edge [edʒ] 边n. remove [rɪˈmuːv] 移开v. 二.图的基本操作 Adjacent(G,x,y)&#xff1a;图…

(图论) 841. 钥匙和房间 ——【Leetcode每日一题】

❓ 841. 钥匙和房间 难度&#xff1a;中等 有 n 个房间&#xff0c;房间按从 0 到 n - 1 编号。最初&#xff0c;除 0 号房间外的其余所有房间都被锁住。你的目标是进入所有的房间。然而&#xff0c;你不能在没有获得钥匙的时候进入锁住的房间。 当你进入一个房间&#xff0…

信息学奥赛一本通 1386:打击犯罪(black)

【题目链接】 ybt 1386&#xff1a;打击犯罪(black) 【题目考点】 1. 并查集 【解题思路】 这是个无向图。每个犯罪团伙是一个顶点&#xff0c;犯罪团伙之间的联系是边&#xff0c;每个犯罪集团是一个连通分量。 以下描述中&#xff0c;连通分量就对应了并查集中集合的概念…

图的定义与术语的详细总结

学习目标&#xff1a; 理解图的基本概念 各种图的定义 图的顶点与边的关系 连通图的介绍 学习内容&#xff1a; &#x1f441;‍&#x1f5e8;&#x1f441;‍&#x1f5e8;1. 图的基本概念 1.1 图&#xff08;Graph&#xff09;是由顶点的有穷非空集合和顶点之间边的集合组成…

【算法基础】欧拉函数

一、欧拉函数 1. 公式法求欧拉函数 2. 筛法求欧拉函数 二、案例分析1 (公式法求欧拉函数) (一)Question 1. 问题描述 2. Input 第一行包含整数 n。接下来 n行,每行包含一个正整数 ai。(1 ≤ n ≤ 100, 1 ≤ ai ≤ 2109) 3. Output 输出共 n 行,每行输出一个正整数…

acwing算法基础之搜索与图论--最短路问题

目录 1 基础知识2 模板3 工程化 1 基础知识 假设有n个结点&#xff0c;m条边&#xff08;边的长度或者权重不一致&#xff09;&#xff0c;最短路问题的分类及求解方法如下&#xff1a; 1 单源最短路问题&#xff0c;例如求结点1到结点n的最短距离。 1.1 所有边的权重都是正的…

假期集训Day1个人赛(AtCoder ABC 307)

这次考的是 A t C o d e r AtCoder AtCoder的题 发挥不是很好 用洛谷当题面了 还能方便点 A 直接七天一求和就行 #include<bits/stdc.h> #define reg register using namespace std; inline void read(int &x){int s0,w1;char chgetchar();while(ch<0||ch>9…

AcWing算法提高课-3.1.3香甜的黄油

宣传一下算法提高课整理 <— CSDN个人主页&#xff1a;更好的阅读体验 <— 题目传送门点这里 题目描述 农夫John发现了做出全威斯康辛州最甜的黄油的方法&#xff1a;糖。 把糖放在一片牧场上&#xff0c;他知道 N 只奶牛会过来舔它&#xff0c;这样就能做出能卖好价…

6-1图-基本概念

一.基础知识 顶点集V 边集E |E|边的条数 |V|顶点个数&#xff0c;也称图的阶 可以没有边&#xff0c;但不能没有顶点 二.基本概念 1.无向图 &#xff08;1&#xff09;边没有箭头&#xff0c;这些边称为无向边&#xff08;简称边&#xff09; &#xff08;2&#xff09;每条边贡…

题15.天梯赛训练2022寒假天梯赛训练-红色警报 (25 分)

文章目录题15.天梯赛训练-红色警报 (25 分)一、题目二、题解题15.天梯赛训练-红色警报 (25 分) 一、题目 二、题解 直接套并查集就好&#xff0c;它的基本思路也是从连通集的增加个数出发去判断&#xff0c;当增加个数大于1时才会输出红色警报 /* //dfs计算连通集的个数 #inclu…

6-8图-最小生成树-Prim算法和Kruskal算法

最小生成树——Prim算法和Kruskal算法 一.最小生成树 1.回顾&#xff1a;生成树 连通图的生成树是包含图中全部顶点的一个极小连通子图 解释&#xff1a;全部顶点必须连通边最少 生成树结果可能不唯一 注&#xff1a;顶点数为n&#xff0c;则它的生成树含有 n-1 条边&#xf…

最小生成树问题的两种算法

最小生成树摘要最小生成树的定义Prim算法Kruskal超级详细的基础算法和数据结构合集&#xff1a; https://blog.csdn.net/GD_ONE/article/details/104061907 摘要 本文主要介绍最小生成树以及求最小生成树常用的两种算法&#xff0c;Prim算法和Kruskal算法。 最小生成树的定义…

2023年3月青少年软件编程(C语言)等级考试试卷(四级)

1.最佳路径 题目描述 描述 如下所示的由正整数数字构成的三角形: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 从三角形的顶部到底部有很多条不同的路径。对于每条路径&#xff0c;把路径上面的数加起来可以得到一个和&#xff0c;和最大的路径称为最佳路径。你的任务就是求出最佳路径上的数…

题249.2022寒假天梯赛训练-7-13 拯救007(升级版) (30 分)

文章目录题249.2022寒假天梯赛训练-7-13 拯救007&#xff08;升级版&#xff09; (30 分)一、题目二、题解题249.2022寒假天梯赛训练-7-13 拯救007&#xff08;升级版&#xff09; (30 分) 一、题目 二、题解 看这题代码前可以先瞅瞅之前那到非升级版的拯救007&#xff0c;毕竟…

C语言:L1-006 连续因子 (20 分)

文章目录一、题目二、方法11、思路2、代码一、题目 一个正整数 N 的因子中可能存在若干连续的数字。 例如 630 可以分解为 3567&#xff0c;其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N&#xff0c;要求编写程序求出最长连续因子的个数&#xff0c;并输出最小的连续因…

图论04-【无权无向】-图的广度优先遍历

文章目录 1. 代码仓库2. 广度优先遍历图解3.主要代码4. 完整代码 1. 代码仓库 https://github.com/Chufeng-Jiang/Graph-Theory 2. 广度优先遍历图解 3.主要代码 原点入队列原点出队列的同时&#xff0c;将与其相邻的顶点全部入队列下一个顶点出队列出队列的同时&#xff0c;将…

最短距离(dijkstra)

蓝桥杯集训每日一题 acwing1488 有 N 个村庄&#xff0c;编号 1 到 N。 村庄之间有 M 条无向道路&#xff0c;第 i 条道路连接村庄 ai 和村庄 bi&#xff0c;长度是 ci。 所有村庄都是连通的。 共有 K 个村庄有商店&#xff0c;第 j 个有商店的村庄编号是 xj。 然后给出 Q…

算法提高-图论- 最小生成树

最小生成树 最小生成树AcWing 1140. 最短网络AcWing 1141. 局域网AcWing 1142. 繁忙的都市AcWing 1143. 联络员AcWing 1144. 连接格点 最小生成树 AcWing 1140. 最短网络 #include <iostream> #include <cstring>using namespace std;const int N 110;int w[N][…

蓬莱「凯风快晴 −富士火山−」(单调栈优化)

蓬莱「凯风快晴 −富士火山−」 通过观察&#xff0c;很容易想到&#xff1a; 第 iii 层的结点数如果比第 i1i1i1 层更多&#xff0c;一定可以去掉若干第 iii 层的节点&#xff0c;使得结点数与第 i1i1i1 层一样多。 不一定最下面一层的结点数最多&#xff0c;极端情况下&am…

图论——Dijkstra算法matlab代码

Dijkstra算法步骤 (1)构造邻接矩阵 (2)定义起始点 (3)运行代码 M=[ 0 5 9 Inf Inf Inf InfInf 0 Inf Inf 12 Inf InfInf 3 0 15 Inf 23 InfInf 6 Inf 0 Inf 8 7Inf 12 Inf 5 0 I…

Day8.22 E. Unforgivable Curse (easyhard version)

文章目录 E1. Unforgivable Curse (easy version)E2. Unforgivable Curse (hard version) E1. Unforgivable Curse (easy version) Problem - 1800E1 - Codeforces 将s串转换成t串&#xff0c;每次能交换s串中下标绝对值差3或差4的字符 有点像bfs最小步数&#xff0c;但是字…

L2-001 紧急救援(dijkstra算法练习)

作为一个城市的应急救援队伍的负责人&#xff0c;你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候&#xff0c;你的任务是带领你的…

[并查集]AcWing 837. 连通块中点的数量

输入样例&#xff1a; 5 5 C 1 2 Q1 1 2 Q2 1 C 2 5 Q2 5输出样例&#xff1a; Yes 2 3 #include <iostream>using namespace std;const int N 100010;int n, m; int p[N], cnt[N];int find(int x) {if (p[x] ! x) p[x] find(p[x]);return p[x]; }int main() {cin &g…

【算法每日一练]-旅行商(保姆级教程 篇1)

题目&#xff1a;TSP旅行商 旅行商问题&#xff0c;即TSP问题&#xff08;Traveling Salesman Problem&#xff09;又译为旅行推销员问题、货郎担问题&#xff0c;是数学领域中著名问题之一。假设有一个旅行商人要拜访n个城市&#xff0c;他必须选择所要走的路径&#xff0c;路…

【算法】最优乘车——bfs(stringsteam的实际应用,getline实际应用)

题目 H 城是一个旅游胜地&#xff0c;每年都有成千上万的人前来观光。 为方便游客&#xff0c;巴士公司在各个旅游景点及宾馆&#xff0c;饭店等地都设置了巴士站并开通了一些单程巴士线路。 每条单程巴士线路从某个巴士站出发&#xff0c;依次途经若干个巴士站&#xff0c;…

ZGSOJ 1329 奇特的图形——欧拉回路

问题 B: 奇特的图形 时间限制: 1 Sec 内存限制: 64 MB 提交: 427 解决: 189 [提交][状态] 题目描述 记得上小学奥数时,JacmY最喜欢做的题就是给一个图形,从它某一个顶点出发描这个图形,若恰通过图中每条边一次,看最后能否又回到起点。当时JacmY只懂得拿着铅笔随便画画…

题267.2022分队天梯赛训练-7-40 最短工期 (25 分)

文章目录题267.2022分队天梯赛训练-7-40 最短工期 (25 分)一、题目二、题解题267.2022分队天梯赛训练-7-40 最短工期 (25 分) 一、题目 二、题解 考察关键路径算法的题目&#xff0c;套板子就好。 #include <bits/stdc.h>#define x first #define y secondusing namespac…

题250.2022寒假天梯赛训练-7-15 城市间紧急救援 (25 分)

文章目录题250.2022寒假天梯赛训练-7-15 城市间紧急救援 (25 分)一、题目二、题解题250.2022寒假天梯赛训练-7-15 城市间紧急救援 (25 分) 一、题目 二、题解 /* //错误代码 #include <bits/stdc.h>using namespace std;const int Inf0x3f3f3f3f; const int maxn550;int …

《洛谷深入浅出基础篇》P4017最大食物链————拓扑排序

上链接&#xff1a;P4017 最大食物链计数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P4017 上题干&#xff1a; 题目背景 你知道食物链吗&#xff1f;Delia 生物考试的时候&#xff0c;数食物链条数的题目全都错了&#xff0c;因为她总是…

7-21 又见A+B(3) (10 分)

题目&#xff1a; 求两个整数之和。 输入格式: 测试数据有多组。每组测试输入两个整数a、b&#xff0c;当a、b同时为0时&#xff0c;表示输入结束。 输出格式: 对于每组测试&#xff0c;输出一行&#xff0c;包含一个整数&#xff0c;表示a、b之和。 输入样例: 1 2 3 4 5 6 0…

弗洛伊德(Floyd)算法(解决任意两点间的最短路径)

用通俗的语言来描述的话&#xff0c;首先我们的目标是寻找从点i到点j的最短路径。从动态规划的角度看问题&#xff0c;我们需要为这个目标重新做一个诠释&#xff08;这个诠释正是动态规划最富创造力的精华所在&#xff09;。 //Floyd算法求解任意两个顶点的最短距离问题&#…

7-12 最长对称子串 (25 分)

题目&#xff1a; 对给定的字符串&#xff0c;本题要求你输出最长对称子串的长度。例如&#xff0c;给定Is PAT&TAP symmetric?&#xff0c;最长对称子串为s PAT&TAP s&#xff0c;于是你应该输出11。 输入格式&#xff1a; 输入在一行中给出长度不超过1000的非空字…

C++有向、无向完全图的边数

一、无向完全图 一个拥有n个结点的无向完全图的边数为&#xff1a; 公式&#xff1a; 简写&#xff1a; &#xff08;表示个顶点中有条边&#xff09; 具体的解释&#xff1a; 比如我们有一个拥有个结点的无向完全图 我们首尾依次连接&#xff0c;共有条边。 然后我们选择…

C语言:L1-010 比较大小 (10 分)

文章目录一、题目二、方法11、思路2、代码一、题目 本题要求将输入的任意3个整数从小到大输出。 输入格式: 输入在一行中给出3个整数&#xff0c;其间以空格分隔。 输出格式: 在一行中将3个整数从小到大输出&#xff0c;其间以“->”相连。 输入样例: 4 2 8 输出样例: 2->…

算法基础第一章

算法基础 第一章&#xff1a;基础算法1、排序2、二分查找3、大数据量的加法和减法&#xff08;高精度加减法&#xff09;3.1、加法3.2、减法 4、前缀和4.1、一维前缀和4.2、二维前缀和 5、差分5.1、一维差分5.2、二维差分 6、双指针7、位运算7.1、lowbit的应用 8、离散化9、区间…

题373.拓扑排序-acwing-Q1191--家谱树

文章目录题373.拓扑排序-acwing-Q1191--家谱树一、题目二、题解三、关于拓扑排序题373.拓扑排序-acwing-Q1191–家谱树 一、题目 二、题解 题目要求输出一个序列使得每个人的孩子比那个人后列出&#xff0c;其实就是输出一个拓扑序。则直接套拓扑排序板子即可。 本题代码如下&a…

普里姆算法、克鲁斯卡尔算法求图的最小生成树

本文所有代码都基于Java实现图的存储和创建一文所实现的带权无向图 普里姆算法 普里姆算法&#xff08;Prim算法&#xff09;&#xff0c;图论中的一种算法&#xff0c;可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中&#xff0c;不但包括了连通图里…

关于青蛙跳台阶为什么不是f(n)=f(n-1)+f(n-2)+2的思考

在看青蛙台阶的算法时想法到一个问题 f(n)f(n-1)f(n-2)青蛙在n-1阶&#xff0c;有f(n-1)种跳法。在n-2阶&#xff0c;有f(n-2)种跳法。那么n-1到n有一种跳法&#xff0c;就是跳一阶。n-2到n有一种跳法&#xff0c;跳两阶。那为什么最后到n阶的跳法不是 f(n)f(n-1)f(n-2)2呢&am…

基于队列优化的Bellman-Ford算法

Bellman-Ford算法 求单源最短路径 &#xff0c;暴力求解&#xff0c;时间复杂度O(n * m)可以处理带有负数的边&#xff08;负权边&#xff09;n条边最多需要遍历 n-1 次 #include <iostream> #include <cstring> using namespace std;struct edge { //记录每条边…

最短路径-迪杰斯特拉算法-单源最短路径

时间复杂度为 O(n^2) #include<stdio.h> #include<stdlib.h> #define BOOL int #define TRUE 1 #define FALSE 0 #define T int #define SIZE 6 #define MAXNUMBER 99 typedef struct graph {int NoEdge;int Vertices;int** A; }Graph; void CreateGraph(Graph* g…

最短路径-弗洛伊德算法-所有顶点之间的最短路径

#include<stdio.h> #include<stdlib.h> #define BOOL int #define TRUE 1 #define FALSE 0 #define T int #define SIZE 4 //指示途中结点数量 #define MAXNUMBER 99 typedef struct graph {int NoEdge;int Vertices;int** A; }Graph; void CreateGraph(Graph* g…

邻接表有向图是否包含回路

//我在这里其实是找不到有几条回路的&#xff0c;这个函数只能判断图里面有没有回路。下面的那个找出几条回路的是不完善的。如果你能完善这些功能&#xff0c;请在评论区给出你的答案&#xff0c;谢谢 #include<stdio.h> #include<stdlib.h> //int target0; //相…

6-10图-最短路径问题Dijkstra算法

最短路径问题——Dijkstra算法 一.基础知识 Dijkstra算法&#xff08;迪杰斯特拉算法&#xff09; 三个数组 &#xff08;1&#xff09;final[ ]&#xff1a;标记各顶点是否已找到最短路径 &#xff08;2&#xff09;dist[ ]&#xff1a;最短路径长度&#xff0c;无路径用∞表…

BZOJ 1579 道路建设 入门分层图

那么&#xff0c;&#xff0c;先说什么是分层图呢&#xff1f;在我们日常的图论中&#xff0c;我们一般默认 图 为二维图&#xff0c;即只有x,y&#xff1b;但是发现在某些情况下无法解决一些问题&#xff0c;比如涉及到动态问题这时候单纯的图是没有办法满足的&#xff0c;当然…

【洛谷 P1636】Einstein学画画 题解(图论+欧拉通路)

Einstein学画画 题目描述 Einstein 学起了画画。 此人比较懒~~&#xff0c;他希望用最少的笔画画出一张画…… 给定一个无向图&#xff0c;包含 n n n 个顶点&#xff08;编号 1 ∼ n 1 \sim n 1∼n&#xff09;&#xff0c; m m m 条边&#xff0c;求最少用多少笔可以画…

【学习笔记】Prufer序列

Prufer序列 起源于对 C a y l e y Cayley Cayley定理的证明&#xff0c;但是其功能远不止于此 现在考虑将一棵n个节点的树与一个长度为n-2的prufer序列构造对应关系 T r e e − > P r u f e r : Tree->Prufer: Tree−>Prufer: ①从树上选择编号最小的叶子节点&#x…

2022离散数学图论笔记01

2022离散数学图论笔记01内容预览笔记笔记内容为日常上课记录与整理&#xff0c;为图片格式&#xff0c;仅供学习。内容预览 1.图的基本概念 笔记 ——————END-2022-03-07——————个人学习笔记&#xff0c;如有纰漏&#xff0c;敬请指正。感谢您的阅读。

图邻接表(深搜和广搜遍历C语言)

#include<stdio.h> #include<stdlib.h> #include<stdbool.h>#define MaxVertexNum 30bool visited[MaxVertexNum];typedef char VertexType;//边表 结点 typedef struct ArcNode {int adjvex; //临接点对应下标struct ArcNode *next; } ArcNode;//顶点表结…

Codeforces Round 881 Div.3

文章目录 贪心&#xff1a;A. Sasha and Array Coloring结论&#xff1a;B. Long Long性质&#xff1a;C. Sum in Binary Treedfs求叶子数量&#xff1a;D. Apple Tree二分与前缀和&#xff1a;E. Tracking Segments 贪心&#xff1a;A. Sasha and Array Coloring Problem - A…

电子学会C/C++编程等级考试2022年03月(五级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:数字变换 给定一个包含 5 个数字(0-9)的字符串, 例如 “02943”, 请将“12345”变换到它。 你可以采取 3 种操作进行变换 1. 交换相邻的两个数字 2. 将一个数字加 1。 如果加 1 后大于 9, 则变为 0 3. 将一个数字加倍。 如果…

[图论]--将邻接表转换为临接矩阵

#include<stdio.h> #include<stdlib.h>#define MaxVertexNum 30typedef char VertexType;//边表 结点 typedef struct ArcNode {int adjvex; //临接点对应下标struct ArcNode *next; } ArcNode;//顶点表结点 typedef struct VNode {VertexType data;//顶点数据…

AtCoder Regular Contest 149

AtCoder Regular Contest 149 A.RepdigitNumber∘\color{#007f00}\texttt{A. Repdigit Number}\color{red}~\circA. Repdigit Number ∘ /*name: Repdigit Numberid: AT_arc149_adate: 2023/01/23 */#include <bits/stdc.h> using namespace std; typedef long long l…

n-皇后问题(DFS回溯)

n−皇后问题是指将 n 个皇后放在 nn的国际象棋棋盘上&#xff0c;使得皇后不能相互攻击到&#xff0c;即任意两个皇后都不能处于同一行、同一列或同一斜线上。 现在给定整数 n&#xff0c;请你输出所有的满足条件的棋子摆法。 输入格式 共一行&#xff0c;包含整数 n。 输出…

【图论】Floyd算法

一.简介 Floyd算法&#xff0c;也称为Floyd-Warshall算法&#xff0c;是一种用于解决所有节点对最短路径问题的动态规划算法。它可以在有向图或带权图中找到任意两个节点之间的最短路径。 Floyd算法的基本思想是通过中间节点逐步优化路径长度。它使用一个二维数组来存储任意两…

两个分数相加。

输入两个分数&#xff0c;例如3/41/2&#xff0c;输出3/41/25/4。 运行程序时&#xff0c;如下图所示&#xff1a; 输入样例1: 1/61/2输出样例2: 1/61/22/3 #include<stdio.h> int gcd(int a,int b) //求最大公约数&#xff08;Greatest Common Divisor&…

【图论】重庆大学图论与应用课程期末复习资料2-各章考点(计算部分)(私人复习资料)

图论各章考点 二、树1、避圈法&#xff08;克鲁斯克尔算法&#xff09;2、破圈法3、Prim算法 四、路径算法1、Dijkstra算法2、Floyd算法 五、匹配1、匈牙利算法&#xff08;最大权理想匹配&#xff08;最小权权值取反&#xff09;&#xff09; 六、行遍性问题1、Fleury算法&…

数据结构-----图(graph)的储存和创建

目录 前言 图的储存结构 1.邻接矩阵 无向图的邻接矩阵 有向图的邻接矩阵 网&#xff08;赋权图&#xff09;的邻接矩阵 代码表示 2.邻接表 无向图的邻接表 有向图的邻接表 代码表示 3.邻接矩阵和邻接表对比 邻接矩阵 邻接表 图的创建 1.邻接矩阵创建图&#xff0…

PAT 1060 爱丁顿数 (C++实现)

英国天文学家爱丁顿很喜欢骑车。据说他为了炫耀自己的骑车功力&#xff0c;还定义了一个“爱丁顿数” E &#xff0c;即满足有 E 天骑车超过 E 英里的最大整数 E。据说爱丁顿自己的 E 等于87。 现给定某人 N 天的骑车距离&#xff0c;请你算出对应的爱丁顿数 E&#xff08;≤N…

P1529 [USACO2.4] 回家 Bessie Come Home 题解

文章目录 题目描述输入格式输出格式样例样例输入样例输出 提示完整代码 题目描述 现在是晚餐时间&#xff0c;而母牛们在外面分散的牧场中。 Farmer John 按响了电铃&#xff0c;所以她们开始向谷仓走去。 你的工作是要指出哪只母牛会最先到达谷仓&#xff08;在给出的测试数…

D. Unique Palindromes(回文串/构造)

题目 题意 给定字符串的长度&#xff0c;以及k个条件。 对于每个条件&#xff0c;给定x和c&#xff0c;表示原字符串的长度为x的前缀字符串&#xff0c;存在c个互不相同的回文子串。 原字符串由26个小写字母组成。 构造出长度为n&#xff0c;且满足上述k个条件的字符串。如果…

1091 Acute Stroke (三维搜索)

题目可能看起来很难的样子&#xff0c;但是看懂了其实挺简单的。&#xff08;众所周知&#xff0c;pat考察英文水平&#xff09; 题目意思大概是&#xff1a;给你一个L*M*N的01长方体&#xff0c;求全为1的连通块的总体积大小。&#xff08;连通块体积大于T才计算在内&#xf…

数据结构-图的基本概念与实现

目录 一、引言 二、图的基本概念 1.图的定义 2.图的组成部分 3.图的分类 三、图的存储方式 1.邻接矩阵 2.邻接表 3.十字链表 4.邻接多重表 四、图的遍历算法 1.深度优先遍历 2.广度优先遍历 五、最短路径算法 1.迪杰斯特拉算法 2.弗洛伊德算法 六、最小生成树…

Graph Theory(图论)

一、图的定义 图是通过一组边相互连接的顶点的集合。 In this graph, V { A , B , C , D , E } E { AB , AC , BD , CD , DE } 二、图的类型 2.1 Finite Graph A graph consisting of finite number of vertices and edges is called as a finite graph. Null Graph Tri…

多重背包问题1(基础+ saber+ 二进制优化)

有 N 种物品和一个容量是 V 的背包。 第 i 种物品最多有 si 件&#xff0c;每件体积是 vi&#xff0c;价值是 wi。 求解将哪些物品装入背包&#xff0c;可使物品体积总和不超过背包容量&#xff0c;且价值总和最大。 输出最大价值。 输入格式 第一行两个整数&#xff0c;N&a…

离散数学-图论相关

文章目录图的基本概念无向图和有向图无向图有向图关联和度关联度握手定理简单图与完全图简单图通路、回路和图的连通性通路回路一些关于通路和回路的定理定理1定理2连通性割集二部图定义二部图判定Hall定理欧拉图欧拉图的判定欧拉图的求解哈密顿图定义性质哈密顿图的判定树无向…

2021天梯赛训练-3——7-7 帅到没朋友 (20分)

当芸芸众生忙着在朋友圈中发照片的时候&#xff0c;总有一些人因为太帅而没有朋友。本题就要求你找出那些帅到没有朋友的人。 输入格式&#xff1a; 输入第一行给出一个正整数N&#xff08;≤100&#xff09;&#xff0c;是已知朋友圈的个数&#xff1b;随后N行&#xff0c;每…

第十三周.

记录A、迷路的牛牛代码B、工作单位代码C、隔离14天代码D、最小生成树&#xff08;Kruskal&#xff09;代码E、搭建电路代码F、单源最短路径问题代码A、迷路的牛牛 题目描述 牛牛去犇犇老师家补课&#xff0c;出门的时候面向北方&#xff0c;但是现在他迷路了。虽然他手里有一…

2022.3.12 绍兴文理学院元培学院第十五届大学生程序设计竞赛

绍兴文理学院元培学院第十五届大学生程序设计竞赛A 阳光明媚的数学题B 爱的素数C 庄生的笔D 上流的聚餐E 规划(一)F 规划(二)G 运动的球球H 物资转移I 小杨环J 前四位题目很好&#xff0c;可惜不会&#xff0c;最后马马虎虎的过了 4 个签到题 A 阳光明媚的数学题 构造一个无重…

CF1637E. Best Pair

Link 题意 对于一个数组 &#xff0c;设元素 xxx 在其中出现了 cntxcnt_xcntx​ 次。SSS 是一些禁止选择的二元组形如(x,y)(x, y)(x,y)&#xff0c;表示不能取(x,y)(y,x)(x,y)(y,x)(x,y)(y,x)&#xff0c;求(cntxcnty)(xy)的最大值(x≠y)(cnt_xcnt_y)(xy) 的最大值\space (x …

P4151 [WC2011]最大XOR和路径线性基

link 注意insert的是 res ^ val[v] ^ w vector <ull> B; void insert(ull x) {for(auto b : B)x min(x, x ^ b);for(auto &b : B)b min(b, x ^ b);if(x)B.push_back(x); } int head[maxn], cnt; struct Edge {int to, next;ull w; }edge[maxm]; void add_edge(int…

PAT--L2-016 愿天下有情人都是失散多年的兄妹(DFS)

呵呵。大家都知道五服以内不得通婚&#xff0c;即两个人最近的共同祖先如果在五代以内&#xff08;即本人、父母、祖父母、曾祖父母、高祖父母&#xff09;则不可通婚。本题就请你帮助一对有情人判断一下&#xff0c;他们究竟是否可以成婚&#xff1f; 输入格式&#xff1a; …

蓝桥杯——最大和

题目链接&#xff1a;最大和 问题描述 小蓝在玩一个寻宝游戏, 游戏在一条笔直的道路上进行, 道路被分成了 nn 个方格, 依次编号 1 至 nn, 每个方格上都有一个宝物, 宝物的分值是一个整数 (包括正数、负数和零), 当进入一个方格时即获得方格中宝物的分值。小蓝可 以获得的总分…

【双端队列广搜/搜索+图论】AcWing 2019.拖拉机 USACO 2012 March Contest Silver Division

【题目描述】 干了一整天的活&#xff0c;农夫约翰完全忘记了他把拖拉机落在田地中央了。 他的奶牛非常调皮&#xff0c;决定对约翰来场恶作剧。 她们在田地的不同地方放了 NNN 捆干草&#xff0c;这样一来&#xff0c;约翰想要开走拖拉机就必须先移除一些干草捆。 拖拉机的位…

P4158 [SCOI2009]粉刷匠(分组背包问题+前缀和优化)

[TOC](P4158 [SCOI2009]粉刷匠(分组背包问题)) 一、问题 [SCOI2009]粉刷匠 题目描述 windy有 N 条木板需要被粉刷。 每条木板被分为 M 个格子。 每个格子要被刷成红色或蓝色。 windy每次粉刷&#xff0c;只能选择一条木板上一段连续的格子&#xff0c;然后涂上一种颜色。 …

【图论】重庆大学图论与应用课程期末复习资料2-各章考点(填空证明部分)(私人复习资料)

图论各章考点 一、图与网络的基本概念二、树三、连通性四、路径算法五、匹配六、行遍性问题七、平面图 一、图与网络的基本概念 生成子图&#xff1a;生成子图 G ’ G’ G’中顶点个数V’必须和原图G中V的数量相同&#xff0c;而 E ’ ∈ E E’∈E E’∈E即可。顶点集导出子图…

[补题/研究] BUPT冬季训练Div.1 #1C: CodeForces - 699D Fix a Tree

Winter Training Div.1 #1 C题 D. Fix a Tree A tree is an undirected connected graph without cycles. 一棵树是一个无向无环的连通图。 Let’s consider a rooted undirected tree with nnvertices, numbered 1" role="presentation" style="posit…

【经典专题】图论两则——并查集/DFS/BFS/Dijkstra

最小阶梯的远足活动 你参加了一次远足活动&#xff0c;并且有一张地图。 地图是一个矩阵&#xff0c;height[i][j] 表示格子 (i, j)的高度。你有一个习惯&#xff0c;那就是在整段旅途中你不想走落差较大的阶梯&#xff0c;也就是说&#xff0c;一整条路径耗费的体力值是旅途中…

图的应用3.0-----拓扑排序

目录 前言 AOE网 1.相关概念 2.AOE网特征 拓扑排序 1.基本概念 2.方法步骤 3.拓扑排序的应用 拓扑排序代码实现 1.邻接矩阵的代码 2.邻接表代码 前言 今天我们学习图的应用----拓扑排序&#xff0c;说到排序&#xff0c;你们是不是会想到冒泡排序&#xff0c;插入排序…

[hihocoder 1635] Colored Nodes

Description 给定一个n个点m条边的无向图&#xff0c;一开始点i的颜色为i&#xff0c;在第ikn秒开始时&#xff0c;与节点i相邻的节点会被染成i的颜色&#xff08;k为自然数&#xff09; 定义D(i,j)第j秒结束时颜色为i的节点个数&#xff0c;求&#xff1a; F(i)limn−>∞…

算法基础课第二章并查集

简单并查集 (1)朴素并查集&#xff1a;int p[N]; //存储每个点的祖宗节点// 返回x的祖宗节点int find(int x){if (p[x] ! x) p[x] find(p[x]);return p[x];}// 初始化&#xff0c;假定节点编号是1~nfor (int i 1; i < n; i ) p[i] i;// 合并a和b所在的两个集合&#xf…

免费——离散数学(左孝凌)课后习题答案

离散数学&#xff08;左孝凌&#xff09;课后习题答案&#xff1a; 永久有效: https://pan.baidu.com/s/1sWh5K0Xa10FBXgx34ZaCpQ 提取码&#xff1a;d4gp

【PTA题目】6-21 数字金字塔 分数 15

6-21 数字金字塔 分数 15 全屏浏览题目 切换布局 作者 C课程组 单位 浙江大学 本题要求实现函数输出n行数字金字塔。 函数接口定义&#xff1a; void pyramid( int n ); 其中n是用户传入的参数&#xff0c;为[1, 9]的正整数。要求函数按照如样例所示的格式打印出n行数字…

链式前向星存图(有图详解)

链式前向星:既然是链式那么肯定和链表相关,前向星是每次指向都向前 链式前向星存图是以边为中心,并不是以结点为中心,它记录的是边的一些属性,包括边边的id、头节点、尾结点、权值、边的指向! 边的指向是遍历图的时候需要按照一定顺序去遍历,而不能胡乱的去遍历,那么就需要这些…

《程序设计基础》 第四章 循环结构 7-28 打印菱形图案 (15 分)

本题要求编写程序&#xff0c;打印一个高度为n的、由“*”组成的正菱形图案。 输入格式: 输入在一行中给出一个正的奇数n。 输出格式: 输出由n行星号“*”组成的菱形&#xff0c;如样例所示。每个星号后跟一个空格。 输入样例: 7 结尾无空行 输出样例: * * * * * * * *…

Prim算法(最小生成树)

Prim算法用于稠密图&#xff0c;思想和Dijksra算法类似 使用的贪心思想&#xff0c;找每个点的最小值更新 int q[N],s[M][M],t[N] cin>>n>>m; //n个点&#xff0c;m个元素 memset(s,0x3f,sizeof s); //点距离先设为最大值 while(m--){ cin&g…

【GDKOI2010】推箱子

题目大意 给定 nnn 个矩形&#xff0c;每条边都平行与坐标轴的一条边&#xff0c;分别有 444 个量 xi,yi,Lxi,Lyix_{i},y_{i},Lx_{i},Ly_{i}xi​,yi​,Lxi​,Lyi​ &#xff0c;xi,yix_{i},y_{i}xi​,yi​ 表示矩形左下角的点的坐标&#xff0c;Lxi,LyiLx_{i},Ly_{i}Lxi​,Lyi…

ACM图论算法—UNIX插头问题

问题描述 你负责为联合国互联网执行组织&#xff08;UNIX&#xff09;的周年会议布置会议室。该组织的主旨是使互联网上的信息和思想的自由交流变得尽可能笨重和官僚&#xff08;^_^&#xff09;。 因为会议室被审计为招待来自世界各地的记者的场所&#xff0c;它装备了一些电…

题221.2022寒假天梯赛训练-7-10 网红点打卡攻略 (25 分)

文章目录题221.2022寒假天梯赛训练-7-10 网红点打卡攻略 (25 分)一、题目二、题解题221.2022寒假天梯赛训练-7-10 网红点打卡攻略 (25 分) 一、题目 二、题解 1.注意攻略要求是从家到家&#xff0c;中途网红景点只能过一次&#xff0c;且每个网红景点都得去&#xff0c;所以重点…

题266.2022分队天梯赛训练-7-39 直捣黄龙 (30 分)

文章目录题266.2022分队天梯赛训练-7-39 直捣黄龙 (30 分)一、题目二、题解题266.2022分队天梯赛训练-7-39 直捣黄龙 (30 分) 一、题目 二、题解 多关键字单源最短路&#xff0c;注意初始化&#xff0c;以及更新操作。 #include <bits/stdc.h>using namespace std;const …

图论的一些简单命题的证明

Proposition 1 如果GGG是简单图,那么: ϵ(G)⩽{v(v−1),if vis directed.12v(v−1),if vis undirected.\epsilon(G)\leqslant \left\{\begin{array}{ll} \displaystyle v(v-1)&amp;,\text{if }v \text{ is directed}.\\ \displaystyle \frac{1}{2}v(v-1)&amp;,\text{if…

【数据结构与算法】图的遍历与拓扑排序

文章目录 一、用数组模拟邻接表二、图的深度优先遍历&#xff08;dfs&#xff09;2.1 概念2.2 例题&#xff1a;树的重心 三、图的广度优先遍历&#xff08;bfs&#xff09;3.1 概念3.2 例题&#xff1a;图中点的层次 四、拓扑排序4.1 概念4.2 例题&#xff1a;有向图的拓扑序列…

igraph的layout布局

做图论的社区检测&#xff0c;需要画图显示&#xff0c;用igraph可以进行可视化。 igraph有几个布局&#xff0c;分别如下&#xff1a; layout_with_dh &#xff1a; The Davidson-Harel layout algorithm Place vertices of a graph on the plane, according to the simulat…

【算法每日一练]-图论(保姆级教程 篇2(topo排序,并查集,逆元))#topo排序 #最大食物链 #游走 #村村通

今天讲topo排序 目录 题目&#xff1a;topo排序 思路&#xff1a; 题目&#xff1a;最大食物链 解法一&#xff1a; 解法二&#xff1a; 记忆化 题目&#xff1a;村村通 思路&#xff1a; 前言&#xff1a;topo排序专门处理DAG&#xff08;有向无环图&#xff09; 题目…

题394.ABC272-D - Root M Leaper

文章目录题394.ABC272-D - Root M Leaper一、题目二、题解题394.ABC272-D - Root M Leaper 一、题目 二、题解 本题限定跳到的下一个点到当前点的距离必须为sqrt(M)&#xff0c;要求以(1,1)为源点到各个N*N点阵上各个点的步数。 对此&#xff0c;我们只需要利用距离约束确定跳…

[算法日志]图论: 深度优先搜索(DFS)

[算法日志]图论&#xff1a; 深度优先搜索(DFS) 深度优先概论 ​ 深度优先搜索算法是一种遍历图这种数据结构的算法策略&#xff0c;其中心思想是朝图节点的一个方向不断跳转&#xff0c;当该节点无下一个节点或所有方向都遍历完时&#xff0c;便回溯朝上一个节点的另一个方向…

2023年CSP-S赛后总结(2023CSP-S题解+游记)

目录 T1 题目描述 输入格式 输出格式 代码 T2 题目描述 输入格式 输出格式 题目描述 输入格式 输出格式 题意翻译 代码 T3 题目背景 题目描述 输入格式 输出格式 代码 T4 题目描述 输入格式 输出格式 代码 总结 游记 DAY1 DAY0 DAY-1 T1 题目描述…

kruscal求最小生成树

kruscal算法&#xff1a; 对每条边的权值进行从小到大排序&#xff0c;然后从小到大取权值最小的边&#xff0c;如取出的边会在树中产生回路则舍去&#xff0c;取下一条&#xff1b;若不会产生回路则加入到树中。 判断是否会产生回路的方法为&#xff1a;在初始状态下给每个顶点…

一本通 3.4.2 图的最短路径

《Floyd算法》 算法思想&#xff1a;定义状态D(Ki,j)为经过前k个点i到j的最短路径&#xff0c;动态转移方程&#xff1a;D(k,i,j)min(D(k-1,i,i),D(k-1,i,k)D(k-1,k,j)) k层的前面的计算不会影响后面的计算&#xff0c;可以使用滚动数组进行存储&#xff0c…

08-图8 How Long Does It Take

08-图8 How Long Does It Take 分数 25 作者 陈越 单位 浙江大学 Given the relations of all the activities of a project, you are supposed to find the earliest completion time of the project. Input Specification: Each input file contains one test case. Each…

图论专题(一)

图论专题(一) 参考文献 BFS和DFS的直观解释 https://blog.csdn.net/c406495762/article/details/117307841Leetcode岛屿问题系列分析 https://blog.csdn.net/qq_39144436/article/details/124173504多源广度优先 https://blog.csdn.net/peko1/article/details/121989497拓扑排…

AcWing - 寒假每日一题2023(DAY 16——DAY 20)

文章目录一、AcWing 4455. 出行计划&#xff08;简单&#xff09;1. 实现思路2. 实现代码二、AcWing 4510. 寻宝&#xff01;大冒险&#xff01;&#xff08;简单&#xff09;1. 实现思路2. 实现代码三、AcWing 3422. 左孩子右兄弟&#xff08;中等&#xff09;1. 实现思路2. 实…

高精度的乘除法

高精度乘低精度 高精度乘低精度模板 // C A * b, A > 0, b > 0 vector<int> mul(vector<int> &A, int b){vector<int> C;int t0;for(int i0;i<A.size()||t;i){if(i<A.size()) tA[i]*b;C.push_back(t%10);t/10;}while(C.size()>1&&…

图论详解——Bellman-Ford(清晰易懂)

开学第一周&#xff0c;晚上属实作业有点乱于是就拖更了一周今天我们来讲解一下图论最短路径算法中最简单最清晰易懂同时时间复杂度最高的算法它的时间复杂度能达到O(VE)&#xff08;点的数量*边的数量&#xff09;在学习Bellman-Ford之前&#xff0c;你需要先学会链式前向星大…

图论-并查集

并查集(Union-find Sets)是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并问题.一些常见的用途有求连通子图,求最小生成树Kruskal算法和最近公共祖先(LCA)等. 并查集的基本操作主要有: .1.初始化 2.查询find 3.合并union 一般我们都会采用路径压缩 这样…

【全网最细PAT题解】【PAT乙】1034 有理数四则运算

题目链接 1034 有理数四则运算 题目描述 本题要求编写程序&#xff0c;计算 2 个有理数的和、差、积、商。输入格式&#xff1a; 输入在一行中按照 a1/b1 a2/b2 的格式给出两个分数形式的有理数&#xff0c;其中分子和分母全是整型范围内的整数&#xff0c;负号只可能出现在分子…

3.1 模拟栈+表达式求值

模拟栈 题目链接 栈的数组模拟非常简单&#xff0c;不详细描述 设置一个指针指向栈顶第一个元素即可 STL中stack实现已经更新在STL_Stack #include<iostream> #include<string>using namespace std;const int N1e51; int m; string s; int stack[N]; int p;//指针…

【算法】欧拉路径的DFS存储顺序

欧拉路径和欧拉回路 对于无向图&#xff0c;所有边都是连通的。 &#xff08;1&#xff09;存在欧拉路径的充分必要条件&#xff1a;度数为奇数的点只能有0个或2个。 &#xff08;2&#xff09;存在欧拉回路的充分必要条件&#xff1a;度数为奇数的点只能有0个。 对于有向图&a…

PAT甲级 1110 Complete Binary Tree

题目链接 PAT甲级 1110 Complete Binary Tree 思路 第一次的写法不是很好。 对于这种完全二叉树的层序遍历&#xff0c;比较烦人的就是空孩子使得处理很麻烦。 思来想去还是把空位置也入队比较好。 这样的话&#xff0c;访问到空指针的时机被推迟了一个level 而完全二叉树的…

XCPC第九站———背包问题!

1.01背包问题 我们首先定义一个二维数组f&#xff0c;其中f[i][j]表示在前i个物品中取且总体积不超过j的取法中的最大价值。那么我们如何得到f[i][j]呢&#xff1f;我们运用递推的思想。由于第i个物品只有选和不选两种情况&#xff0c;当不选第i个物品时&#xff0c;f[i][j]f[i…

图的遍历(邻接表,邻接矩阵)

文章目录邻接矩阵结构体广度优先深度优先邻接表结构体广度优先深度优先队列的相关定义总结邻接矩阵 结构体 typedef struct{int e_num; //边数int v_num; //顶点个数int links[SIZE][SIZE]; //邻接矩阵char vexs[SIZE]; }Graph;广度优先 void once_dfs(Graph *gh, Queue…

Warshall算法

&#x1f680;write in front&#x1f680; &#x1f4dc;所属专栏&#xff1a;> 算法 &#x1f6f0;️博客主页&#xff1a;睿睿的博客主页 &#x1f6f0;️代码仓库&#xff1a;&#x1f389;VS2022_C语言仓库 &#x1f3a1;您的点赞、关注、收藏、评论&#xff0c;是对我…

(C/C++)-最小生成树算法(PrimKruskal)和单源最短路径算法(Dijkstra)

(C/C)-最小生成树算法(Prim&Kruskal)和单源最短路径算法(Dijkstra) 1、什么是最小生成树 对于一个带权连通无向图G(V,E)&#xff0c;图G的不同的生成树&#xff0c;其所对应的生成树的权值可能不同。设R是G所有生成树的集合&#xff0c;T是R中权值最小的那棵生成树&#…

【AlgorithmTraining】11:OnlineJ(下)

OnlineJ&#xff08;下&#xff09; OVERVIEWOnlineJ&#xff08;下&#xff09;1.OnlineJ503&#xff1a;独木舟&#xff08;贪心&#xff09;参考代码2.OnlineJ504&#xff1a;删数&#xff08;贪心&#xff09;参考代码3.OnlineJ505&#xff1a;最大整数&#xff08;贪心&am…

【算法基础】DP第三弹 —— 竞赛篇

一、计数问题 (一)Question 1. 问题描述 2. Input 输入包含多组测试数据。每组测试数据占一行,包含两个整数 a 和 b。当读入一行为 0 0 时,表示输入终止,且该行不作处理。(0 < a, b < 100000000) 3. Output 每组数据输出一个结果,每个结果占一行。每个结果包…

6-13图-拓扑排序

拓扑排序 一.基础知识 1.AOV网&#xff08;用顶点表示活动的网&#xff09; &#xff08;Activity On Vertex NetWork&#xff09; 用DAG图&#xff08;有向无环图&#xff09;表示⼀个工程&#xff0c;顶点表示活动&#xff0c;有向边<Vi, Vj>表示活动Vi必须先于活动…

6-12图-有向无环图(DAG图)

有向无环图&#xff08;DAG图&#xff09; 一.基础知识 有向无环图&#xff1a;有向图无环 简称&#xff1a;Directed Acyclic Graph&#xff08;DAG图&#xff09; directed 径直的 [dəˈrektɪd] acyclic 无环的 [ˌeɪˈsaɪklɪk] graph 图 [ɡrf] 二.化简 找到重复部分…

6-11图-最短路径问题Floyd算法

最短路径问题——Floyd算法 一.过程演示 A(-1)/path(-1)&#xff1a;不允许在除起点外的任何顶点中转&#xff08;直达&#xff09; A(0)/path(0)&#xff1a;允许在V0中转 A(1)/path(1)&#xff1a;允许在V0、V1中转 A(2)/path(2)&#xff1a;允许在V0、V1、V2中转 A表示&a…

6-9图-最短路径问题BFS

最短路径问题——BFS 一.代码实现 void BFS_MIN_Distance(Graph G, int u) {//d[i]表示u到i的路径for (i 0; i < G.vexnum; i) {d[i] ∞;path[i] -1;//最短路径从哪个顶点过来}d[u] 0;visited[u] TRUE;EnQueue(Q, u);while (!isEmpty(Q)) {DeQueue(Q, u);for(w Firs…

1091 合唱队列

1091 合唱队列 先看一眼数据范围&#xff0c;水的可怜 这个题也算是一个裸的线性DP吧 理解了好长时间都不太懂为什么要跑两个&#xff0c;再读一遍题就会明白了 他们的身高满足t1<…ti>ti1>…tk 也就是一个山坡的形状&#xff0c;所以需要跑两个&#xff0c;最长上升…

使用颜色检测有向图中的循环

给定一个有向图,检查该图是否包含循环。如果给定的图形至少包含一个循环,您的函数应返回 true,否则返回 false。 例子: 输入: n = 4, e = 6 0 -> 1, 0 -> 2, 1 -> 2, 2 -> 0, 2 -> 3, 3 -> 3 输出:是 解释: <

谈谈二叉树算法

解决问题思路有两个方向 > 1. 利用遍历框架&#xff0c;在前中后位置加入新的逻辑 > 2. 利用分解问题的思路&#xff0c;将问题分解为 当前结点 和 左右子树 前中后遍历 前序遍历&#xff1a;根节点 左子树前序遍历的结果 右子树前序遍历的结果 中序遍历&#xff…

P3398 仓鼠找 sugar

Portal. LCA。 询问树上两条路径是否有交点。 画图发现无非两种情况&#xff1a; 发现一条路径的起点和终点的 LCA 经过另一条路径&#xff0c;是两路径相交的充要条件。 考虑如何判断这个 LCA 在不在路径上。若 d ( s , LCA ) d ( LCA , t ) d ( s , t ) d(s,\text{LCA…

判断欧拉回路

目录 欧拉回路 程序设计 程序分析 欧拉回路 【问题描述】 欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路。现给定一个图,问是否存在欧拉回路? 【输入形式】 测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是节点数…

确定比赛名次(深搜拓扑排序)

文章目录 确定比赛名次(深搜拓扑排序)程序设计程序分析确定比赛名次(深搜拓扑排序) 【问题描述】 有N个比赛队,编号依次为1,2,3,。。。。,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道…

苦中作乐 ---竞赛刷题冲刺篇(25分)

&#xff08;一&#xff09;目录 L2-001 紧急救援 L2-002 链表去重 L2-003 月饼 L2-004 这是二叉搜索树吗&#xff1f; L2-005 集合相似度 &#xff08;二&#xff09; 题目 L2-001 紧急救援 作为一个城市的应急救援队伍的负责人&#xff0c;你有一张特殊的全国地图。…

编程示例:广度优先遍历

/**/ /* 图形的广度优先遍历*/ /* */ #include <stdlib.h> #define MAXQUEUE 10 /* 遍历过程中存储结点队列的最大容量*/ #define MAX 9 struct node /* 图形顶点结构*/ { int vertex; /* 顶点信息*/ suct node *nextnode; /* 指下一顶点*/ }; typedef suct node *gra…

非常量引用只能绑定到左值

问题分析 代码情况&#xff1a; // ConsoleApplication1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 //#include <iostream> #include <vector> using namespace std; vector<int> fun1() {vector<int> ver1;for (int i…

最近公共祖先LCA倍增算法

LCA定义 LCA(Least Common Ancestors):最近公共祖先即两个结点最近的公共祖先 由上图可以看到 5号结点和7号结点的LCA为3号结点,9号结点和10号结点的LCA为7号结点。 一般算法 首先可以将两个结点统一到相同深度,然后一起向上一步一步走,直到他们踩到相同点,则该点为他们的LCA 。…

哈夫曼树【北邮机试】

一、哈夫曼树 机试考察的最多的就是WPL&#xff0c;是围绕其变式展开考察。 哈夫曼树的构建是不断选取集合中最小的两个根节点进行合并&#xff0c;而且在合并过程中排序也会发生变化&#xff0c;因此最好使用优先队列来维护单调性&#xff0c;方便排序和合并。 核心代码如下…

算法提高课第三章拓扑排序

164. 可达性统计 - AcWing题库 求解拓扑序按照拓扑序求解状态&#xff08;状态定义为bitset<N>) AcWing 164. 可达性统计(2种简单写法) - AcWing #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #include <…

算法提高课第三章最小生成树及其扩展应用

任意一颗最小生成树可以包含权值最小的一条边生成树可以包含连接各个联通块的权值最小的边 无向图才可以使用最小生成树算法 1146. 新的开始 - AcWing题库 建立一个超级发电站&#xff08;虚拟源点&#xff09;&#xff0c;将点权转化为边权。 #include <iostream> #i…

日撸 Java 三百行day38

文章目录 说明day381.Dijkstra 算法思路分析2.Prim 算法思路分析3.对比4.代码 说明 闵老师的文章链接&#xff1a; 日撸 Java 三百行&#xff08;总述&#xff09;_minfanphd的博客-CSDN博客 自己也把手敲的代码放在了github上维护&#xff1a;https://github.com/fulisha-ok/…

2022 gdcpc题解(10/13)

2022gdcpc 和学弟vp了一下这场&#xff0c;本来抓的数学选手咕咕了&#xff0c;只有2个人&#xff0c;打下来的感觉就是套路题和码量太大了&#xff0c;太久没写码量题导致 I I I调太久了&#xff0c;最后G没写完&#xff0c;K也没冲出来&#xff0c;感觉数学大爹在的话这K应该…

算法提高课第一章数字三角形模型

有一种图&#xff0c;从起点到终点只能向右或者向左&#xff0c;这种图后边的状态不会影响前边的状态&#xff0c;可以用dp求解。 AcWing 1015. 摘花生 AcWing 1018. 最低通行费 #include <iostream> #include <cstring> #include <algorithm>using namesp…

用三角函数解决几何问题

如图&#xff0c;在 △ A B C \triangle ABC △ABC 中&#xff0c; A C > 5 , A B > A C AC>5,AB>AC AC>5,AB>AC&#xff0c;点 E E E 是 A B AB AB 上一点&#xff0c;链接 C E CE CE&#xff0c;将 △ B C E \triangle BCE △BCE 沿 C E CE CE 折叠&…

二十七、搜索与图论——Floyd 算法(多元路最短路径问题)

Floyd算法主要内容 一、基本思路1、算法原理2、基本思路3、注意 二、Java、C语言模板实现三、例题题解 一、基本思路 1、算法原理 遍历每条边&#xff0c;通过比较进行路径更新——暴力 解决多源最短路问题&#xff0c;求解 i 点到 j 点的最短距离 f [ i, j, k] 表示从 i 走…

详解二叉树

&#x1f308;目录 一、树形结构​ &#x1f333;1.1 概念1.2 其他概念1.3 树的表示形式 二、二叉树✨2.1 概念2.2 两种特殊二叉树2.3 性质2.4 二叉树存储 三、二叉树的基本操作&#x1f64c;3.1 前置说明3.2 二叉树的遍历3.3 二叉树的基本操作 四、二叉树的OJ✍️ 一、树形结构…

《程序设计基础》 第七章 数组 7-27 字符转换 (15 分)

本题要求提取一个字符串中的所有数字字符&#xff08;0……9&#xff09;&#xff0c;将其转换为一个整数输出。 输入格式&#xff1a; 输入在一行中给出一个不超过80个字符且以回车结束的字符串。 输出格式&#xff1a; 在一行中输出转换后的整数。题目保证输出不超过长整…

1090 合并果子

1090 合并果子 合并果子是一个堆操作 二叉堆的思想我好象还有点记忆 其实你只要搞懂这个数据样例就能明白了 #include<iostream> #include<cstdio> #include<string> #include<cstring> #include<algorithm> #include<> using namespac…

【PTA题目】7-9 求整数序列中出现次数最多的数 (15 分)

本题要求统计一个整型序列中出现次数最多的整数及其出现次数。 输入格式&#xff1a; 输入在一行中给出序列中整数个数N&#xff08;0<N≤1000&#xff09;&#xff0c;以及N个整数。数字间以空格分隔。 输出格式&#xff1a; 在一行中输出出现次数最多的整数及其出现次…

1030 Travel Plan(超级无敌详细注释+47行代码)

分数 30 全屏浏览题目 切换布局 作者 CHEN, Yue 单位 浙江大学 A travelers map gives the distances between cities along the highways, together with the cost of each highway. Now you are supposed to write a program to help a traveler to decide the shortest…

最小生成树prim算法

prim算法&#xff08;选顶点&#xff09; 不断选取最小权值的边并把对应的顶点不断并入的过程 过程&#xff1a; 1.随意选取起点&#xff1a;随意选择一个顶点作为起始点&#xff08;不会影响结果&#xff09;&#xff0c;现在我们设U集合为当前所找到最小生成树里面的顶点&…

【算法】动态规划

一、基础知识 动态规划的基本思想&#xff1a;将待求解问题分解成若干个子问题&#xff0c;如果各个子问题不是独立的&#xff0c;不同的子问题的个数只是多项式量级&#xff0c;为避免大量的重复计算&#xff0c;用一个表记录所有已解决的子问题的答案&#xff0c;而在需要的…

[入门必看]数据结构5.5:树与二叉树的应用

[入门必看]数据结构5.5&#xff1a;树与二叉树的应用 第五章 树与二叉树5.5 树与二叉树的应用知识总览5.5.1 哈夫曼树5.5.2_1 并查集5.5.2_2 并查集的进一步优化 5.5.1 哈夫曼树带权路径长度哈夫曼树的定义哈夫曼树的构造哈夫曼编码应用&#xff1a;英文字母频次 5.5.2_1 并查集…

图(课堂笔记)

图的引入与术语 两种图 1. 有向图&#xff08;Digraph&#xff09;&#xff1a;Each edge of arc has an associated direction. 2. 无向图&#xff08;non-directed graph&#xff09;&#xff1a;Every edge or arc is two-way. 简单图是一种特殊的无向图。无向图没有自环…

D-逃亡的贝贝(二分+有限制最小边权)

D-逃亡的贝贝_牛客练习赛104 (nowcoder.com) 题意:给你一个n个点,m条双向边的图(有边权),再给你起点s与终点t,以及有k个药水可以使某一条边,减小,求起点到终点经历边权最小值为多少. 题解: 首先建图,然后看到题中让我们找的是一个最小,或最大的值,是一个线性的值,我们就可以想…

图04---最小生成树与实现

💖💖感谢各位观看这篇文章,💖💖点赞💖💖、收藏💖💖、你的支持是我前进的动力!💖💖 💖💖感谢你的阅读💖,专栏文章💖持续更新!💖关注不迷路!!💖 图01—图的基本概念与模型_ 图02— 存储结构: 邻接矩阵,关联矩阵,权矩阵,邻接表,十字链…

【HDU No. 2874】 城市之间的联系 Connections between cities

【HDU No. 2874】 城市之间的联系 Connections between cities 杭电OJ 题目地址 【题意】 由于大部分道路在战争期间已被完全摧毁&#xff0c;所以两个城市之间可能没有路径&#xff0c;也没有环。 已知道路状况&#xff0c;想知道任意两个城市之间是否存在路径。若答案是肯…

图的遍历(深度DFS与广度BFS)

文章目录图的遍历深度优先遍历思路邻接表邻接矩阵性能分析广度优先遍历思路邻接表邻接矩阵性能分析源代码图的遍历 **对有向图和无向图进行遍历是按照某种次序系统地访问图中的所有顶点, 并且使得每一个顶点只能访问一次. ** 对于图的遍历需要解决掉两个问题: 如果存在回路/环…

通俗易懂理解维特比算法

转载于https://www.zhihu.com/question/20136144 这篇回答你绝对看得懂&#xff01;如下图&#xff0c;假如你从S和E之间找一条最短的路径&#xff0c;除了遍历完所有路径&#xff0c;还有什么更好的方法&#xff1f; viterbi维特比算法解决的是篱笆型的图的最短路径问题&am…

算法基础学习笔记——⑩DFS与BFS\树与图

✨博主&#xff1a;命运之光 ✨专栏&#xff1a;算法基础学习 目录 DFS与BFS\树与图 ✨DFS ✨BFS &#x1f353;宽搜流程图如下&#xff1a; &#x1f353;宽搜流程&#xff1a; &#x1f353;广搜模板 ✨树与图 &#x1f353;树是特殊的图&#xff08;连通无环的图&am…

每日一练 | c++题目日刊(7道原创题)

文章目录Kruskal算法&#xff1a;最小生成树题目背景故事题目描述输入描述输出描述输入样例输出样例解题思路C代码动态规划&#xff1a;最长公共子序列题目背景故事题目描述输入描述输出描述输入样例输出样例解题思路C代码动态规划二分&#xff1a;最小表示法题目背景故事题目描…

数据结构与算法课程设计---最小生成树的应用

文章目录 一.课题概述1.问题2.分析3.目标 二.图的实现1.图的存储结构2.图的基本操作2.1添加顶点2.2添加边弧2.3Kruskal算法2.4Prim算法 三.堆的实现1.堆的概念及结构2.堆的基本操作2.1入堆&#xff08;向上调整算法&#xff09;2.2出堆&#xff08;向下调整算法&#xff09; 四…

整数规划在数学建模中的应用及MATLAB实现

2023年9月数学建模国赛期间提供ABCDE题思路加Matlab代码,专栏链接(赛前一个月恢复源码199,欢迎大家订阅):http://t.csdn.cn/Um9Zd 目录 整数规划基本概念 整数规划原理 MATLAB实现 1. 使用intlinprog求解整数规划问题 数学建模案例&#xff1a;设备选购优化 问题建模 MA…

CSP-《I‘m stuck!》-感悟

题目 做题过程 注&#xff1a;黄色高亮表示需要注意的地方&#xff0c;蓝色粗体表示代码思路 好久没有写过代码了&#xff0c;今天做这道编程题&#xff0c;简直是灾难现场。 上午编程完后发现样例没有通过&#xff0c;检查发现算法思路出现了问题&#xff1a;我计数了S不能到…

数据结构第六章 图 6.4 错题整理

4.A A. 不是简单路径的话&#xff0c;有环&#xff0c;去环路径会更短 B. 适合的 弗洛伊德算法才不适合 C. 本来就是 D 2X2矩阵拓展到3X3矩阵 再扩大 若是子集 即加入新顶点后&#xff0c;最短路径都没有变&#xff0c;错 5.B 本题用弗洛伊德更合适 但这道题只需全部代入求最…

acwing1562 微博转发(宽搜)

微博被称为中文版的 Twitter。 微博上的用户既可能有很多关注者&#xff0c;也可能关注很多其他用户。 因此&#xff0c;形成了一种基于这些关注关系的社交网络。 当用户在微博上发布帖子时&#xff0c;他/她的所有关注者都可以查看并转发他/她的帖子&#xff0c;然后这些人…

AcWing算法提高课-3.1.1热浪

宣传一下算法提高课整理 <— CSDN个人主页&#xff1a;更好的阅读体验 <— 题目传送门点这里 题目描述 德克萨斯纯朴的民众们这个夏天正在遭受巨大的热浪&#xff01;&#xff01;&#xff01; 他们的德克萨斯长角牛吃起来不错&#xff0c;可是它们并不是很擅长生产富…

简单图论:迷路

题目链接 迷路 题目描述 windy 在有向图中迷路了。 该有向图有 n n n 个节点&#xff0c;节点从 1 1 1 至 n n n 编号&#xff0c;windy 从节点 1 1 1 出发&#xff0c;他必须恰好在 t t t 时刻到达节点 n n n。 现在给出该有向图&#xff0c;你能告诉 windy 总共有…

第一章-第五节-双指针

文章目录解析模板例题解析 ​ 核心作用&#xff1a;将两重循环优化为一重循环&#xff0c;将O(n2)O(n^2)O(n2)优化为O(n)O(n)O(n)。归并也是用的双指针算法 ​ 运用某些单调性质&#xff0c;。 模板 for(int i0;i<n;i)for(int j0;j<n;j) ↓ ↓ ↓ for(int i0,j0;…

匹配、支配集、覆盖集、独立集的概念

1.匹配&#xff1a;也即边独立集&#xff0c;边之间是互相独立&#xff08;不相邻&#xff09;的&#xff0c;这些边所组成的集合。 2.点独立集&#xff1a;点之间是互相独立的&#xff08;不相邻&#xff09;&#xff0c;这些点所组成的集合。 3.点覆盖集&#xff1a;至少多少…

洛谷题单——【图论2-3】最小生成树

P3366 【模板】最小生成树 一道模板题&#xff0c;prim算法就可以过&#xff0c;krustal算法也是可以的嗷 prim算法 #include <bits/stdc.h> using namespace std; const int N 5010; const int INF 0x3f3f3f3f; int n, m; int g[N][N]; int dist[N]; bool st[N]; in…

最小生成树基础算法

Prim Prim算法求最小生成树 与dijkstra算法类似&#xff0c;dijkstra算法是计算一个节点到其他节点的最短路&#xff0c;Prim算法是需要维护节点到一个集合的距离最小值&#xff0c;优化方式也是类似的&#xff0c;只需要用堆来维护距离即可 #include <bits/stdc.h> us…

Codeforces Round 864 (Div. 2)

文章目录一、A - Hall of Fame二、B - MKnezs ConstructiveForces Task三、C - Least Prefix Sum四、D - Boris and His Amazing Haircut一、A - Hall of Fame 思路: 对于一个点(X,Y)来说,答案最多就是4,也就是(X 1,Y),(X - 1,Y),(X,Y 1),(X,Y - 1),但是对于边界上面的点,也就…

[bfs+最短路+小顶堆] PUBG

PUBG (nowcoder.com)https://ac.nowcoder.com/acm/problem/15752 题目描述 最近&#xff0c;喜爱ACM的PBY同学沉迷吃鸡&#xff0c;无法自拔&#xff0c;于是又来到了熟悉的ERANGEL。经过一番搜寻&#xff0c;PBY同学准备动身前往安全区&#xff0c;但是&#xff0c;地图中埋伏…

染色法判定二分图, 二分图的最大匹配

染色法判定二分图 输入样例&#xff1a; 4 4 1 3 1 4 2 3 2 4输出样例&#xff1a; Yes #include <iostream> #include <cstring> #include <algorithm> using namespace std;const int N 1e510, M 2e520; int n,m; int h[N], e[M], ne[M], idx; int col…

[堆优化Dijkstra] 小木乃伊到我家

小木乃伊到我家 (nowcoder.com)https://ac.nowcoder.com/acm/problem/15549 题目描述 AA的欧尼酱qwb是个考古学家&#xff0c;有一天qwb发现了只白白圆圆小小的木乃伊&#xff0c;它是个爱哭鬼却很努力。qwb想把这么可爱的小木乃伊送给 AA&#xff0c;于是便找上了快递姐姐&am…

[收藏不迷路] 搜索与图论基础

目录 &#x1f320;DFS &#x1f320;BFS &#x1f320;树与图的广度优先遍历 →拓扑排序 例题: &#x1f320;最短路 &#x1f449;单源最短路(朴素Dijkstra)(一定不能存在负权边) →堆优化Dijkstra(待续...) &#x1f449;有负权边的单源最短路(bellman-ford, spfa)…

[D-OJ练习] 有向图的邻接表表示法验证程序(两种写法)

用邻接表表示有向图&#xff0c;完成图的创建、图的深度优先遍历、图的广度优先遍历操作。其中图的顶点信息是字符型&#xff0c;图中顶点序号按字符顺序排列&#xff0c;边的输入按照边的顶点序号从小到大的顺序排列&#xff0c;如下图的边的输入顺序为0 1&#xff0c;0 2&…

[D-OJ练习] 求一个无向图的连通分量(两种写法)

已知无向图的顶点为字符型&#xff0c;要求采用邻接矩阵表示&#xff0c;图中顶点序号按字符顺序排列&#xff0c;从键盘输入图中顶点的个数、边的条数、顶点的信息和边的组成等。(注意&#xff1a;判断一个无向图是否连通) 求一个无向图的连通分量。 输入描述 第一行输入无向…

1025 数的划分

1025 数的划分 这不就是深搜吗&#xff0c;深搜填数 我记得原来zp老师讲过 这个题貌似非常的不好理解&#xff0c;需要认真来完成&#xff0c;解析 题意其实很好理解了&#xff0c;就是将一个数n分成k份&#xff0c;当然显而易见的就是每一份加起来就是n 这样类似于递推的题目…

数据结构与算法-图

数据结构与算法-图 图的基本概念 顶点集V和边集E.| V | : 顶点和边的数目. | E | : 边的数目.无向图 : (v,w)或(w,v)有向图 : <v,w>简单图 : ①不存在顶点到自身的边 ②不存在重复边.多重图.顶点的度 : 对于无向图,指的是依附与该定点的边的条数,称为TD(v); 总TD 2e 对…

1119 灾后重建

1119 灾后重建 这个题是一个比较水的蓝题&#xff0c;是2020夏令营时老师出的&#xff0c;当时不会&#xff0c;现在来水 这个题貌似要用最短路径进行解决 只有连接着两个重建完成的村庄的公路才能通车&#xff0c;只能到达重建完成的村庄&#xff0c;这里的时间就是路径的权值…

树的搜索——leetcode

74. 搜索二维矩阵 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:bool searchMatrix(vector<vector<int>>& matrix, int target) {int n matrix.size(), m matrix[0].size();int x 0, y m - 1;while(true){if(x > n || y < 0) r…

【二叉树】遍历二叉树

前言 二叉树有前中后序和层序四种常用的遍历方式&#xff0c;今天我们来学习一下如何用这四种方法遍历二叉树。 前序&#xff1a;根、左、右 中序&#xff1a;左、右、根 后序&#xff1a;左、右、根 层序&#xff1a;第一层、第二层… 递归 递归是一种将复杂问题不断细分成…

2023/4/25

今天主要重新复习了一下树的基础知识&#xff0c;对于树的遍历和深度的求解进行了一些训练&#xff08;复习了一下写过的题&#xff09; 刷了两个关于树的简单题 104. 二叉树的最大深度 难度简单1586收藏分享切换为英文接收动态反馈 给定一个二叉树&#xff0c;找出其最大深度…

算法提高课第一章树形dp

1072. 树的最长路径 - AcWing题库 给定一棵树&#xff0c;树中包含 nnn 个结点&#xff08;编号1−n1 -n1−n&#xff09;和 n−1n−1n−1条无向边&#xff0c;每条边都有一个权值。 现在请你找到树中的一条最长路径。 换句话说&#xff0c;要找到一条路径&#xff0c;使得使…

如何将acwing中的题目转化为markdown

打开题目F12搜索元素ui bottom attached tab active martor-preview复制元素使用在线转换网站复制md

算法提高课第三章单源最短路

将一个背景复杂的问题抽象为单源最短路问题。 算法复杂度方面&#xff0c;迪杰斯特拉算法朴素版O(n2m)O(n^2 m)O(n2m)&#xff0c;堆优化迪杰斯特拉O(mlogn)O(mlogn)O(mlogn)&#xff0c;spfa O(nm)/O(m)O(nm) / O(m)O(nm)/O(m)&#xff0c;floyd O(n3)O(n^3)O(n3) 朴素dijkstr…

5-2本题要求对两个整数a和b,输出其中较大的数。

本题要求对两个整数a和b&#xff0c;输出其中较大的数。 函数接口定义&#xff1a; int max( int a, int b ); 其中a和b是用户传入的参数&#xff0c;函数返回的是两者中较大的数。 裁判测试程序样例&#xff1a; #include <stdio.h>int max( int a, int b );int main…

2023 PTA天梯赛补题(L1 L2)

2023 天梯赛 L1 & L2 补题 L1 L1-089 最好的文档 输入输出题 #include<bits/stdc.h> using namespace std;int main() {cout<<"Good code is its own best documentation.";return 0; }L1-090 什么是机器学习 输入输出题 #include<bits/stdc.h&…

《程序设计基础》 第七章 数组 7-36 求矩阵的最大值(设惟一) (15 分)

本题要求编写程序&#xff0c;求一个给定的mn矩阵的最大值以及位置。题目保证最大值惟一。 输入格式: 输入第一行给出两个正整数m和n&#xff08;1≤m,n≤6&#xff09;。随后m行&#xff0c;每行给出n个整数&#xff0c;其间以空格分隔。 输出格式: 输出在第一行中输出最大…

《程序设计基础》 第七章 数组 7-9 求最大值及其下标 (20 分)

本题要求编写程序&#xff0c;找出给定的n个数中的最大值及其对应的最小下标&#xff08;下标从0开始&#xff09;。 输入格式: 输入在第一行中给出一个正整数n&#xff08;1<n≤10&#xff09;。第二行输入n个整数&#xff0c;用空格分开。 输出格式: 在一行中输出最大…

【PTA题目】7-7 输出数组元素 (15 分)

本题要求编写程序&#xff0c;对顺序读入的n个整数&#xff0c;顺次计算后项减前项之差&#xff0c;并按每行三个元素的格式输出结果。 输入格式&#xff1a; 输入的第一行给出正整数n&#xff08;1<n≤10&#xff09;。随后一行给出n个整数&#xff0c;其间以空格分隔。 …

动态规划之最长公共子序列

最长公共子序列 代码&#xff08;附分析过程&#xff09; import java.util.Scanner;public class one {// DP求解最长公共子序列public static int LcsLength(char[] x, char[] y, int[][] vis) {int m x.length - 1;int n y.length - 1;int[][] c new int[m 1][n 1]; …

【区间DP】POJ2955.Brackets

题目 POJ2955.Brackets We give the following inductive definition of a “regular brackets” sequence: the empty sequence is a regular brackets sequence, if sss is a regular brackets sequence, then (s) and [s] are regular brackets sequences, and if aaa and…

离散数学_十章-图 ( 1 ):图的相关定义

&#x1f4f7;10.1 图 1. 图的定义2. 有限图 和 无限图3. 多重边、多重图4. 简单图 和 伪图5. 有向图 、无向图 、混合图5.1 简单有向图5.2 多重有向边 → 有向多重图 表1 图术语 图是一种非线性的数据结构&#xff0c;也是由顶点和连接顶点的边构成的离散结构 根据图中的边是…

数据结构PTA 案例6-1.4 地下迷宫探索

案例6-1.4 地下迷宫探索 题目解法题目 假设有一个地下通道迷宫&#xff0c;它的通道都是直的&#xff0c;而通道所有交叉点&#xff08;包括通道的端点&#xff09;上都有一盏灯和一个开关。请问你如何从某个起点开始在迷宫中点亮所有的灯并回到起点&#xff1f; 输入格式: 输…

数据结构PTA 案例6-1.3 哥尼斯堡的“七桥问题”

案例6-1.3 哥尼斯堡的“七桥问题” 题目解法题目 哥尼斯堡是位于普累格河上的一座城市&#xff0c;它包含两个岛屿及连接它们的七座桥&#xff0c;如下图所示。 可否走过这样的七座桥&#xff0c;而且每桥只走过一次&#xff1f;瑞士数学家欧拉(Leonhard Euler&#xff0c;17…

【C++ 实现】图论概念,最小生成树,单/多源最短路径实现

文章目录 数据结构表示图最小生成树KruskalPrim 最短路径DijkstraBellman-Ford算法多源最短路径&#xff1a;FloydWarshall 总结 数据结构表示图 首先节点的存取&#xff0c;V是节点key&#xff0c;vector<pair<V,V>> map;其实已经能表达一个图了&#xff0c;但是…

九度 题目1450:产生冠军

题目描述&#xff1a;有一群人&#xff0c;打乒乓球比赛&#xff0c;两两捉对撕杀&#xff0c;每两个人之间最多打一场比赛。 球赛的规则如下&#xff1a; 如果A打败了B&#xff0c;B又打败了C&#xff0c;而A与C之间没有进行过比赛&#xff0c;那么就认定&#xff0c;A一定能打…

单源最短路的建图

1.热浪 信息学奥赛一本通&#xff08;C版&#xff09;在线评测系统 (ssoier.cn)http://ybt.ssoier.cn:8088/problem_show.php?pid1379 很裸的单源最短路问题&#xff0c;n2500,可以用dijksta或者spfa都能过&#xff0c;下面展示spfa的做法 #include<bits/stdc.h> usi…

Acwing.846 数的重心(DFS)

题目 给定一颗树&#xff0c;树中包含n个结点&#xff08;编号1~n)和n-1条无向边。 请你找到树的重心&#xff0c;并输出将重心删除后&#xff0c;剩余各个连通块中点数的最大值。 重心定义:重心是指树中的一个结点&#xff0c;如果将这个点删除后&#xff0c;剩余各个连通块中…

C语言:L2-019 悄悄关注 (25 分) —二分查找

文章目录一、题目二、方法11、思路2、代码一、题目 新浪微博上有个“悄悄关注”&#xff0c;一个用户悄悄关注的人&#xff0c;不出现在这个用户的关注列表上&#xff0c;但系统会推送其悄悄关注的人发表的微博给该用户。现在我们来做一回网络侦探&#xff0c;根据某人的关注列…

C语言:L2-010 排座位 (25 分) — 并查集

文章目录一、题目二、方法11、思路2、代码一、题目 布置宴席最微妙的事情&#xff0c;就是给前来参宴的各位宾客安排座位。无论如何&#xff0c;总不能把两个死对头排到同一张宴会桌旁&#xff01;这个艰巨任务现在就交给你&#xff0c;对任何一对客人&#xff0c;请编写程序告…

PAT-L2-023 图着色问题 (25分)-简单的图遍历问题

图着色问题是一个著名的NP完全问题。给定无向图G(V,E)&#xff0c;问可否用K种颜色为V中的每一个顶点分配一种颜色&#xff0c;使得不会有两个相邻顶点具有同一种颜色&#xff1f; 但本题并不是要你解决这个着色问题&#xff0c;而是对给定的一种颜色分配&#xff0c;请你判断…

C++图论——最小生成树

板题——最优布线问题 题目描述 学校有n台计算机&#xff0c;为了方便数据传输&#xff0c;现要将它们用数据线连接起来。两台计算机被连接是指它们中间有数据线连接。由于计算机所处的位置不同&#xff0c;因此不同的两台计算机的连接费用往往是不同的。 当然&#xff0c;如果…

题348.差分约束-acwing-Q362--区间

文章目录题348.差分约束-acwing-Q362--区间一、题目二、题解三、有关差分约束题348.差分约束-acwing-Q362–区间 一、题目 二、题解 依题意给定条件约束&#xff0c;很容易意识到是一个可以利用差分约束来解的题目。 构造一个整数集合Z&#xff0c;里头的整数是从[0,50000]中选…

题201.2022寒假天梯赛训练-7-9 拯救007 (25 分)

文章目录题201.2022寒假天梯赛训练-7-9 拯救007 (25 分)一、题目二、题解题201.2022寒假天梯赛训练-7-9 拯救007 (25 分) 一、题目 二、题解 本题要抓住几个点。 第一&#xff0c;开始起跳出小岛怎么处理&#xff1a;虽然从岸边起跳肯定可以距离鳄鱼更近更有机会跳到但是岸是个…

P2564 [SCOI2009]生日礼物(尺取法/双指针)

LINK 不得不说 双指针用法nb 题目 输入输出样例 输入 6 3 1 5 2 1 7 3 1 3 8 输出 3 思路&#xff1a; 建议看尺取法 代码&#xff1a; #include<bits/stdc.h> using namespace std; typedef long long ll; //#define int long long const int mod1e97; const int…

最小支撑树(下)

最小支撑树&#xff08;下&#xff09; – 潘登同学的图论笔记 文章目录最小支撑树&#xff08;下&#xff09; -- 潘登同学的图论笔记破圈法&#xff08;Ⅰ&#xff09;算法实现破圈法(Ⅱ)算法实现博鲁夫卡算法算法实现最小瓶颈支撑树斯坦纳树书接上文&#xff0c;上一篇我们写…

1147 连续自然数和

1147 连续自然数和 很简单的暴力&#xff0c;没有什么难的 好像还可以用前缀和&#xff0c;其实都是一样的 为什么过不了&#xff1f;这个题很简单的 #include<iostream> #include<cstdio> #include<cmath> #include<algorithm> #include<queue&g…

数据结构(图)

1. 基于邻接矩阵存储的有向图&#xff0c;求出度为零的顶点个数 【问题描述】基于邻接矩阵存储的有向图&#xff0c;设计算法求出度为零的顶点个数。 【输入形式】第一行输入图的顶点个数verNum和边的个数edgeNum&#xff0c;用于构造图。 第二行顶点信息&#xff1b;接下来…

数学知识(1):“欧拉回路”与“哈密顿回路”

欧拉回路&#xff1a; 如果图G中的一个路径包括每个边恰好一次&#xff0c;则该路径称为欧拉路径(Euler path)。 如果一个回路是欧拉路径&#xff0c;则称为欧拉回路(Euler circuit)。 判断&#xff1a; 1.是否全部连通 2.每个点的度数为偶数 哈密顿回路&#xff1a; 哈密顿图…

Texstudio下载

我看到的话就会更新 链接&#xff1a;「texstudio」https://www.aliyundrive.com/s/zzLUMB6ZZYc

图的基本概念及存储

1.什么是图&#xff1f; 在一个社交网络中&#xff0c;每个帐号和他们之间的关系构成了一张巨大的网络&#xff0c;就像下面这张图&#xff1a; 那么在电脑中&#xff0c;我们要用什么样的数据结构来保存这个网络呢&#xff1f;这个网络需要用一个之前课程里未提到过的数据结构…

题411.筛质数-acwing-196. 质数距离

文章目录题411.筛质数-acwing-196. 质数距离一、题目二、题解题411.筛质数-acwing-196. 质数距离 一、题目 二、题解 本题让你找到[l,r]区间中相邻质数差值最小的一对和最大的一对&#xff0c;一般想法就是筛出[0,r]内的所有质数&#xff0c;然后相邻质数成对判断&#xff0c;…

C++数据结构——还是通畅工程(最小生成树Prim)

例6.7.2 还是畅通工程 某省调查乡村交通状况&#xff0c;得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通&#xff08;但不一定有直接的公路相连&#xff0c;只要能间接通过公路可达即可&#xff09;&#xff0c;并…

题328.单源最短路的扩展应用-acwing-Q1137--选择最佳线路

文章目录题328.单源最短路的扩展应用-acwing-Q1137--选择最佳线路一、题目二、题解题328.单源最短路的扩展应用-acwing-Q1137–选择最佳线路 一、题目 二、题解 本题要你在可选的起点车站中选择一个起点出发使得达到终点s的距离最小&#xff0c;输出这个最小距离。显然直接去想…

题157.2021秋周练习-2-3 社交网络图中结点的“重要性”计算 (25 分)

文章目录题157.2021秋周练习-2-3 社交网络图中结点的“重要性”计算(Floyd/bfs) (25 分)一、题目二、题解题157.2021秋周练习-2-3 社交网络图中结点的“重要性”计算(Floyd/bfs) (25 分) 一、题目 二、题解 本题要你求其余点到给定源点的距离总和的平均值的倒数&#xff0c;主要…

UnionFind(《算法导论3rd-P328》)

1 简介 UnionFind就是常说的并、查集算法&#xff0c;主要用来解决图论中的“动态连通性”的问题&#xff0c;也就是图中的“连通分量”问题。 连通分量的讲解在《算法导论3rd-P686》中&#xff0c;介绍主要如下&#xff1a; 如果一个无向图中每个顶点从所有其他顶点都是可达的…

最大流(EK)

1. 基本概念 1.1 流网络&#xff0c;不考虑反向边 1.2 可行流&#xff0c;不考虑反向边1.2.1 两个条件&#xff1a;容量限制、流量守恒1.2.2 可行流的流量指从源点流出的流量 - 流入源点的流量1.2.3 最大流是指最大可行流 1.3 残留网络&#xff0c;考虑反向边&#xff0c;残留…

概率图模型--变量消元法与团树传播算法

概率图模型–变量消元法与团树传播算法 – 潘登同学的Machine Learning笔记 文章目录概率图模型--变量消元法与团树传播算法 -- 潘登同学的Machine Learning笔记简单回顾概率图模型的推理任务变量消元算法MRF应用变量消元算法贝叶斯网络应用变量消元算法消元顺序1(没有固定的说…

kruskal算法(最小生成树)

kruskal用于稀疏图的最小生成树&#xff08;前提知识&#xff1a;并 查 集&#xff0c;可以看我之前的文章&#xff09; 对边权重进行排序&#xff0c;每次找出最小的边&#xff0c;如果没有在一个集合里面就添加 struct edge{ int a,b,w; }r[N]; //先定义一个结构体 i…

所有的基础最短路问题 dijkstra、堆优化dijkstra、bellman-ford、SPFA、Floyd

以下代码都是自己敲的&#xff0c;结合acwing和算法笔记的一些思路整理。禁止盗用&#xff01; 有些模板算法是acwing的 做了标记。 一、朴素Dijkstra算法 整体思想&#xff1a; 1.找到与起点s最近的且未确认最短路径的顶点(记为u)&#xff0c;访问并加入集合st(确定了最短路的…

2018 BUPT Winter Training #8 Div.2

A - 无向图最小生成树 表白月加大佬&#xff0c;真是体贴萌新(笑) 最小生成树模板(话说是不是和之前树专题撞题了..) #include <cstdio> #include <vector> #include <queue> #include <utility> #define TRV(_i,_V) for(int _i(_V).size()-1;_i1;_…

AcWing 1118 分成互质组 dfs

题目描述&#xff1a; 给定 n 个正整数&#xff0c;将它们分组&#xff0c;使得每组中任意两个数互质。 至少要分成多少个组&#xff1f; 输入格式 第一行是一个正整数 n。 第二行是 n 个不大于10000的正整数。 输出格式 一个正整数&#xff0c;即最少需要的组数。 数据范…

CSP 202109-5 箱根山岳险天下 40分代码

原题链接&#xff1a;CSP 202109-5 箱根山岳险天下 代码来自我亲爱的室友 #include <bits/stdc.h> using namespace std; #define ll long long const int MAX3e510; int m,p,t; int a0; int ty[MAX]; int x[MAX],y[MAX]; ll qiang[MAX];//每个队员的强度 vector<int…

CSP 202112-5 极差路径12分暴力代码

原题链接&#xff1a;CSP 202112-5 极差路径 #include <bits/stdc.h> using namespace std; #define ll long long const int MAX5e510; const int INF1e9;int n,k1,k2; vector<int> g[MAX]; int vis[MAX]; int p[MAX]; int num1; set<pair<int,int> >…

CSP 201903-5 317号子任务 暴力30分+优化100分

原题链接CSP 201903-5 317号子任务 1.下面是30分的暴力代码&#xff0c;仅仅使用常规的未优化的Dijkstra算法做的。 #include <bits/stdc.h> using namespace std; #define ll long long const int MAX10010; const int INF1e8;int n,m,k; int f[MAX]; struct node {i…

AcWing 3215 网络延时

2022.3.2 练习 AcWing 3215 网络延时 为啥这么蠢啊我&#xff1f;&#xff1f;&#xff1f; 愚蠢的70分代码&#xff1a; #include <bits/stdc.h> using namespace std; const int MAX20010; #define ll long longstruct node {int data;vector<int> child;vect…

A*算法(A-star Algorithm)搜索最短路径(含C/C++语言实现代码)

目录 基本介绍基本原理有关定义和变量介绍具体搜索过程结束条件与Dijkstra算法的比较实现代码 运行结果 参考文章 基本介绍 在我们的日常生活中由许多方面都会涉及到 “最短路径” 的搜索问题&#xff0c;比如ROS机器人中根据给定地图进行全局路径规划&#xff0c;或者游戏中…

Tarjan求割点和桥学习笔记

Tarjan求割点和割边 强连通分量&#xff1a; 若图 GGG 中的点两两可达&#xff0c;则称图 GGG 为强连通。 强连通分量的定义&#xff1a;极大的强连通子图。 割点&#xff1a; 在一个无向连通图图中&#xff0c;删掉顶点 uuu 及其相连的边以后&#xff0c;这个图不连通&#…

讲解 最大流问题+最小花费问题+python(ortool库)实现

文章目录基本概念图邻接矩阵最大流问题python解决最大流问题python解决最大流最小费用问题喜欢的话请关注我们的微信公众号~《 你好世界炼丹师》。公众号主要讲统计学&#xff0c;数据科学&#xff0c;机器学习&#xff0c;深度学习&#xff0c;以及一些参加Kaggle竞赛的经验。…

每日一题:20. 找出星型图的中心节点 (C++)

题目 有一个无向的 星型 图&#xff0c;由 n 个编号从 1 到 n 的节点组成。星型图有一个 中心 节点&#xff0c;并且恰有 n - 1 条边将中心节点与其他每个节点连接起来。 给你一个二维整数数组 edges &#xff0c;其中 edges[i] [ui, vi] 表示在节点 ui 和 vi 之间存在一条边。…

蓝桥杯--关联矩阵

试题 算法训练 关联矩阵 资源限制 时间限制&#xff1a;1.0s 内存限制&#xff1a;512.0MB 问题描述   有一个n个结点m条边的有向图&#xff0c;请输出他的关联矩阵。 输入格式   第一行两个整数n、m&#xff0c;表示图中结点和边的数目。n<100,m<1000。   接下来…

【GDOI2016模拟3.9】染色配对

Description 给出n个点&#xff0c;且这n个点形成了m个极大团&#xff08;团里面互相有边相连&#xff0c;且极大团不被其他团包含&#xff09;&#xff0c;每个点都属于且仅属于两个极大团。求这张图的极大匹配数和方案。 m<2*10^4,n<2*10^5 Solution 比赛时脑抽&am…

【HNOI2016模拟3.26】A

Description 给出n个球&#xff0c;m个筐子。每个球可以放在第ai个或者第bi个筐子里。求最少有多少个筐子里有奇数个球&#xff0c;和最优情况下的方案数。 n,m<2*10^5 Solution 我们运用调整法解决这道题。 我们先随便把每个球扔到任意一个筐子里。这样我们就得到了一…

第三章 搜索与图论(二)——最短路问题

文章目录 单源最短路朴素Dijkstra堆优化版DijkstraBellman Ford算法SPFASPFA求负环 多源汇最短路Floyd 最短路练习题849. Dijkstra求最短路 I850. Dijkstra求最短路 II853. 有边数限制的最短路851. spfa求最短路852. spfa判断负环854. Floyd求最短路 源点表示起点&#xff0c;汇…

Leetcode-图-1042.不邻接植花(简单)

1042.不邻接植花题目如下解题思路c代码题目如下 解题思路 1.先通过paths建立邻接表 2.遍历每个点选色&#xff0c;每次不选邻接的公园的颜色就可以了 c代码 class Solution { public:vector<int> gardenNoAdj(int N, vector<vector<int>>& paths) {ve…

第三章 图论 No.9有向图的强连通与半连通分量

文章目录 定义Tarjan求SCC1174. 受欢迎的牛367. 学校网络1175. 最大半连通子图368. 银河 定义 连通分量是无向图的概念&#xff0c;yxc说错了&#xff0c;不要被误导 强连通分量&#xff1a;在一个有向图中&#xff0c;对于分量中的任意两点u&#xff0c;v&#xff0c;一定能从…

图论相关总结

参考&#xff1a;1.https://labuladong.gitee.io/algo/di-yi-zhan-da78c/shou-ba-sh-03a72/tu-lun-ji--d55b2/ 2.代码随想录图论 (qq.com) 例题1&#xff1a;所有可能路径&#xff08;考察图的遍历&#xff09; 给你一个有 n 个节点的 有向无环图&#xff08;DAG&#xff09;…

【科学刷题】并查集

算法笔记 - 并查集 - 目录 算法笔记 - 并查集 - 定义 微软10-28下午的二面考了并查集&#xff0c;没写出来&#xff0c;羞耻 今天写3道题&#xff0c;省份的数量&#xff0c;冗余连接&#xff0c;打砖块 547. 省份数量 class UnionSet{ private: int cnt; vector<int&g…

CF1458D Flip and Reverse

CF1458D Flip and ReverseCF1458D Flip and Reverse 题目还是挺清晰的&#xff0c;直接讲思路了。 首先考虑进行 dp\tt dpdp 或者贪心&#xff0c;但是直接进行感觉上无法处理上述的限制。 那么我们从限制进行考虑&#xff0c;最好去掉的限制显然就是数字相同&#xff0c;那么…

2021天梯赛全题型训练-1——7-13 肿瘤诊断 (30 分)

在诊断肿瘤疾病时&#xff0c;计算肿瘤体积是很重要的一环。给定病灶扫描切片中标注出的疑似肿瘤区域&#xff0c;请你计算肿瘤的体积。 输入格式&#xff1a; 输入第一行给出4个正整数&#xff1a;M、N、L、T&#xff0c;其中M和N是每张切片的尺寸&#xff08;即每张切片是一…

【GDKOI2011】反恐任务

题目大意 给你一个 nnn 个点和 mmm 条边的无向图&#xff0c;并有 QQQ 个询问&#xff0c;每次询问有两种形式&#xff1a; 1.1 X Y P Q &#xff0c; 表示在删掉 PPP 和 QQQ 之间的连边后 XXX 和 YYY 是否相互可达&#xff08;保证 PPP 和 QQQ 有边相连&#xff09; 2.2 X Y …

Codeforces Round #746 (Div. 2) C. Bakry and Partitioning 树上dp 数位异或

题目链接 Problem - 1592C - Codeforces 题目大意 给你一棵最小生成树 每个节点有一个值 两个节点联合的值等于两个节点xor 你可以将这一颗树的边进行截断 让这棵树最终分为最多k部分 最小2部分 能让这些部分的值相等 输出yes否则no 题目思路 这是一个最小生成树上搜索…

C++学习笔记:图论——缩点详解

引言 缩点&#xff0c;哲学的东西&#xff0c;你必须拥有。。。 缩点 个人认为就是把一堆强连通的点( 即强连通分量 )&#xff0c;认作为一个点 强连通分量就是这里面的点可以相互到达&#xff08;算是个环&#xff09; 详解 一个有向图如下 可以看出有强连通分量 { 1 , 2 …

邻接矩阵的动态数组表示法

邻接矩阵的动态数组表示法前言思路实现前言 图的构造方法通常有两种&#xff0c;一种是用邻接矩阵&#xff0c;一种是用邻接表。邻接矩阵不涉及链表的操作&#xff0c;所以使用起来会比较方便&#xff0c;但是对于较为稀疏的图而言&#xff0c;邻接矩阵会浪费很多空间。而对于…

多重背包问题-二进制优化-详细解析

多重背包问题-二进制优化-详细解析 题目大意&#xff1a; 有 N 种物品和一个容量是 V 的背包。 第 i 种物品最多有 si 件&#xff0c;每件体积是 vi&#xff0c;价值是 wi。 求解将哪些物品装入背包&#xff0c;可使物品体积总和不超过背包容量&#xff0c;且价值总和最大。…

强连通分量 残量网络 容量 流量 必须边和可行边判定 Acwing380 舞动的夜晚

二分图必须边和可行边的判定定理&#xff08;完备匹配&#xff09; 一 &#xff08;x,y&#xff09;是必须边 当且仅当以下两个条件都满足 1.&#xff08;x,y&#xff09;当前是匹配边 2. 删除边&#xff08;x,y&#xff09;后&#xff0c;不能找到另一条从x到y的增广路。 …

7.1图——图的应用——最小生成树

生成树&#xff1a;所有顶点均由边连接在一起&#xff0c;但不存在回路的图。 所有生成树的顶点具有以下共同特点&#xff1a; 1.生成树的顶点个数与图的顶点个数相同。 2.生成树是图的极小连通子图&#xff0c;去掉一条边则非连通。 3.在生成树中再加一条边必然形成回路。 …

AtCoder abc232 刷题总结

A - QQ solver 题目翻译 给你一个由三个字符组成的字符串&#xff0c;就是两个字符之间有一个x&#xff0c;两边的字符介于1和9之间。 题目解析 淼题速切&#xff0c;不解释。 正确代码 #include<bits/stdc.h> using namespace std; int main(){char a,b;scanf(&qu…

【推荐系统->论文阅读】Dynamic Graph Neural Networks for Sequential Recommendation(用于序列推荐的动态图神经网络)

Dynamic Graph Neural Networks for Sequential Recommendation&#xff08;用于序列推荐的动态图神经网络&#xff09; Mengqi Zhang, Shu Wu,Member, IEEE,Xueli Yu, Qiang Liu,Member, IEEE,Liang Wang,Fellow, IEEE 文章目录Dynamic Graph Neural Networks for Sequential…

外教课004_2_graph_algorithms

Graph algorithms Definitions graph: a set of objects that are connected to each other through links G (V,E) directed graph(有向图) digraph undirected graph(无向图) indegree of a vertix path simple path: does not contain the same vertex more than on…

危险计算机(模板题)

目录说明输入格式输出格式样例输入数据 1输出数据 1分析代码说明 N台计算机由N-1条网线连接&#xff0c;形成了一个树形网络。这些计算机经常会被黑客攻击&#xff0c;如果这个树形网络中的某一台计算机遭到攻击而导致系统瘫痪&#xff0c;那么与这台计算机连接的所有网线就无…

什么是八皇后问题?

八皇后问题&#xff1a; 在88格的国际象棋上摆放8个皇后&#xff0c;使其不能互相攻击&#xff0c;即任意两个皇后都不能处于同一行、同一列或同一斜线上&#xff0c;问有多少种摆法。高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解&#xff0c;后…

算法基础第三章

算法基础第三章 1、dfs(深度搜索)1.1、 递归回溯1.2、递归剪枝&#xff08;剪枝就是判断接下来的递归都不会满足条件&#xff0c;直接回溯&#xff0c;不再继续往下无意义的递归&#xff09; 2、bfs(广度搜索)2.1、最优路径&#xff08;只适合于边权都相等的题&#xff09; 3、…

数学知识 ---- 质数

质数 质数的定义 在大于 1 的整数中&#xff0c;只包含 1 和自己本身两个约数的数&#xff0c;被称为质数&#xff08;素数&#xff09; 质数的判定----试除法O(sqrt(n)) 866. 试除法判定质数 给定 n 个正整数 ai&#xff0c;判定每个数是否是质数。 输入格式 第一行包含…

AcWing 每日一题 2022/5/6【2012. 一排奶牛】

AcWing 每日一题 2022/5/6【2012. 一排奶牛】 农夫约翰的 N 头奶牛排成一排。 每头奶牛都用一个整数品种 ID 标识&#xff0c;队列中第 i 头奶牛的 ID 为 Bi。 约翰认为如果有一大段连续的奶牛都具有相同的品种 ID&#xff0c;他的奶牛就会更加的引人注目。 为了创造这样的…

蓝桥杯 --- 双指针、BFS与图论

蓝桥杯 --- 双指针、BFS与图论双指针1238. 日志统计&#xff08;双指针&#xff09;BFS1101. 献给阿尔吉侬的花束&#xff08;BFS&#xff09;1113. 红与黑&#xff08;BFS&#xff09;图论1224. 交换瓶子&#xff08;图论&#xff09;双指针 1238. 日志统计&#xff08;双指针…

717. 简单斐波那契(递推)

717. 简单斐波那契 题目链接 以下数列 0 1 1 2 3 5 8 13 21 ...被称为斐波纳契数列。 这个数列从第 3 项开始&#xff0c;每一项都等于前两项之和。 输入一个整数 N&#xff0c;请你输出这个序列的前 N 项。 输入格式 一个整数 N。 输出格式 在一行中输出斐波那契数列的前…

第四章--无向图广度优先搜索算法

public class BreadthFirstPaths {private boolean[] marked;// 保存被标记的顶点private int[] edgeTo;// 保存起点到与之连通的顶点之间的最短路径private final int s;// 起点public BreadthFirstPaths(Graph G, int s) {marked new boolean[G.V()];edgeTo new int[G.V()]…

L1-061 新胖子公式 (10 分)

L1-061 新胖子公式 (10 分) 根据钱江晚报官方微博的报导&#xff0c;最新的肥胖计算方法为&#xff1a;体重(kg) / 身高(m) 的平方。如果超过 25&#xff0c;你就是胖子。于是本题就请你编写程序自动判断一个人到底算不算胖子。 输入格式&#xff1a; 输入在一行中给出两个正…

深入理解图中的最大基数匹配与最小成本完美匹配问题及其C++实现*

第一部分&#xff1a;前言与算法概述 对于图论算法的研究者来说&#xff0c;最大基数匹配和最小成本完美匹配是两个非常有趣的问题。它们在计算机科学、经济学和其他领域都有着广泛的应用。本文将对这两种匹配算法进行深入探讨&#xff0c;并提供其在C中的实现。 1. 最大基数…

L1-059 敲笨钟 (20 分)

L1-059 敲笨钟 (20 分) 微博上有个自称“大笨钟V”的家伙&#xff0c;每天敲钟催促码农们爱惜身体早点睡觉。为了增加敲钟的趣味性&#xff0c;还会糟改几句古诗词。其糟改的方法为&#xff1a;去网上搜寻压“ong”韵的古诗词&#xff0c;把句尾的三个字换成“敲笨钟”。例如唐…

L1-056 猜数字 (20 分)

L1-056 猜数字 (20 分) 一群人坐在一起&#xff0c;每人猜一个 100 以内的数&#xff0c;谁的数字最接近大家平均数的一半就赢。本题就要求你找出其中的赢家。 输入格式&#xff1a; 输入在第一行给出一个正整数N&#xff08;≤104&#xff09;。随后 N 行&#xff0c;每行给…

UVa10048 Audiophobia(floyd)

题意 给出一个图&#xff0c;图中的边表示从点u到点v路径上的噪音。给出q个查询&#xff0c;问从u到v所经路径上的最小噪音 思路 在使用floyd计算点对之间的路径时&#xff0c; D u , v k m i n { D u , v k − 1 , m a x { D u , k k − 1 , D k , v k − 1 } } D_{u, v}^…

强训第38天

选择 D 0作为本地宿主机&#xff0c;127作为内部回送&#xff0c;不予分配 A B C C 存储在浏览器 D A B B D 网络延迟是指从报文开始进入网络到它离开网络之间的时间 编程 红与黑 红与黑__牛客网 #include <iostream> #include <stdexcept> #include <string…

L1-043 阅览室 (20 分)

L1-043 阅览室 (20 分) 天梯图书阅览室请你编写一个简单的图书借阅统计程序。当读者借书时&#xff0c;管理员输入书号并按下S键&#xff0c;程序开始计时&#xff1b;当读者还书时&#xff0c;管理员输入书号并按下E键&#xff0c;程序结束计时。书号为不超过1000的正整数。当…

图的最短路径之(迪杰斯特拉算法)python实现

前面我们已经了解到了无环有向图怎样求关键路径的方法&#xff0c;今天我们来看看无向图怎样求最短路径&#xff0c;这在实际应用过程中的作用很大&#xff0c;不如交通路线图&#xff0c;从出发点到终点&#xff0c;走哪条路用时最短&#xff0c;或者花费最少等问题。 我们先…

算法提高之图(《算法笔记》)

写个目录图的存储图的遍历深度优先搜索&#xff08;DFS&#xff09;法遍历图[PAT A1034] 1034 Head of a Gang(30)广度优先搜索&#xff08;BFS&#xff09;法遍历图[PAT A1076] Forwards on Weibo(30)最短路径Dijkstra算法——解决单源最短路径问题最短距离最短路径最短路径不…

1003 Emergency (25 分)

跟着柳婼学姐学习的笔记ヾ&#xff08;≧▽≦*&#xff09;o题意分析CODECODE V2——BF解法原题目&#xff1a; 1003 Emergency (25 分).题意 一张地图&#xff0c;城市间由道路连接&#xff0c;并标有每个城市的救援队数量以及每条路的长度。 给出城市数N&#xff08;≤500&…

1076 Forwards on Weibo

题目来源&#xff1a;PAT (Advanced Level) Practice Weibo is known as the Chinese version of Twitter. One user on Weibo may have many followers, and may follow many other users as well. Hence a social network is formed with followers relations. When a user …

7-32 哥尼斯堡的“七桥问题”

题目来源&#xff1a;PTA 数据结构与算法题目集&#xff08;中文&#xff09; 哥尼斯堡是位于普累格河上的一座城市&#xff0c;它包含两个岛屿及连接它们的七座桥&#xff0c;如下图所示。 可否走过这样的七座桥&#xff0c;而且每桥只走过一次&#xff1f;瑞士数学家欧拉(Le…

发现环

题目描述 题目来源&#xff1a;2017蓝桥杯国赛 小明的实验室有 N台电脑&#xff0c;编号 1⋯N。原本这 N 台电脑之间有 N-1条数据链接相连&#xff0c;恰好构成一个树形网络。在树形网络上&#xff0c;任意两台电脑之间有唯一的路径相连。 不过在最近一次维护网络时&#xf…

P2607 [ZJOI2008] 骑士

P2607 [ZJOI2008] 骑士 [P2607 ZJOI2008] 骑士 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 文章目录 P2607 [ZJOI2008] 骑士题目大意思路code 题目大意 给你一个 n n n 个点&#xff0c; n n n 条边的基环树森林。 你可以从中选择若干个点&#xff0c;满足两两之间不存…

L1-014 简单题 (5 分)

L1-014 简单题 (5 分) 这次真的没骗你 —— 这道超级简单的题目没有任何输入。 你只需要在一行中输出事实&#xff1a;This is a simple problem.就可以了。 输入样例&#xff1a; 无输出样例&#xff1a; This is a simple problem.#include<iostream> #include<…

L1-009 N个数求和 (20 分)

L1-009 N个数求和 (20 分) 本题的要求很简单&#xff0c;就是求N个数字的和。麻烦的是&#xff0c;这些数字是以有理数分子/分母的形式给出的&#xff0c;你输出的和也必须是有理数的形式。 输入格式&#xff1a; 输入第一行给出一个正整数N&#xff08;≤100&#xff09;。随…

搜索与图论 ---- Prim和Kruskal求最小生成树

Prim求最小生成树 稠密图用邻接矩阵存储 稀疏图用邻接表存储 首先将邻接矩阵初始化为无穷大&#xff0c;将点和点之间的距离读入 将 dist[] 数组初始化为无穷大 每次选点&#xff0c;将该点加入到集合中&#xff0c;n 次迭代&#xff0c;找出未在集合中的点到集合的最短距离&…

Kruskal,最短路综合应用,一道图论一

Problem - 1525 (nefu.edu.cn) Problem:1525 Time Limit:1000ms Memory Limit:131072K Description 给定一个包含 n 个节点和 m 条边的图&#xff0c;每条边有一个权值。 你的任务是回答 k 个询问&#xff0c;每个询问包含两个正整数 s 和 t 表示起点和终点&#xff0c…

学习笔记-无向图的创建、深度优先遍历、广度优先遍历

图 为什么要有图&#xff1f; 线性表局限于一个直接前驱和一个直接后继的关系&#xff0c;树也只能有一个直接前驱也就是父节点 当我们需要表示一种多对多的关系就需要用到图。 图是一种数据结构&#xff0c;其中结点可以具有零个或多个相邻元素。两个结点之间的连接称为边。 …

Java实现图的存储和创建

带权无向图 存储结构 存储结构选用邻接表。 当一个图为稀疏图时&#xff0c;使用邻接矩阵法显然要浪费大量的存储空间&#xff0c;而图的邻接表法结合了顺序存储和链式存储方法&#xff0c;大大减少了这种不必要的浪费。 当然&#xff0c;即使我们所处理的图不是稀疏图&#x…

Prim算法解决最小生成树 (解决修路问题)

一.什么是Prim算法 普里姆算法查找最小生成树的过程&#xff0c;采用了贪心算法的思想。对于包含 N 个顶点的连通网&#xff0c;普里姆算法每次从连通网中找出一个权值最小的边&#xff0c;这样的操作重复 N-1 次&#xff0c;由 N-1 条权值最小的边组成的生成树就是最小生成树。…

好用的三维绘图软件CREO学习绘制弧

在CREO的草绘中&#xff0c;CREO的弧有5中画法 1、三点相切端 通过确定三个点&#xff0c;分别是弧的两个端点和弧的中间的那个点来确定一个弧 2、圆心和端点画弧 通过确定一个圆心后&#xff0c;绘制弧的起点和终点来绘制出一个弧 3、三相切绘制弧 先绘制出三条直线或者三…

⌈算法进阶⌋图论::拓扑排序(Topological Sorting)——快速理解到熟练运用

目录 一、原理 1. 引例&#xff1a;207.课程表 2. 应用场景 3. 代码思路 二、代码模板 三、练习 1、210.课程表Ⅱ&#x1f7e2; 2、2392.给定条件下构造举证&#x1f7e1; 3、310.最小高度树 &#x1f7e1; 一、原理 1. 引例&#xff1a;207.课程表 就如大学课程安排一样&…

【Leetcode】BFS、DFS、并查集判断二分图

通过本篇文章学习一下二分图&#xff0c;以及使用BFS、DFS、并查集三种方法来判断二分图。 文章目录1. 二分图1.1 什么是二分图&#xff1f;1.2 如何判断二分图2. 785. 判断二分图2.1 题目描述2.2 思路分析2.3 参考代码3. 886. 可能的二分法3.1 题目描述3.2 思路分析3.3 参考代…

DFS寻找从s到t的所有路径

问题描述&#xff1a; 输入一个有向图&#xff0c;输出从s到t的所有路径的结点 输入&#xff1a; 3 3 0 1 1 2 0 2输出&#xff1a; 0 1 2 0 2 代码&#xff1a; #include<bits/stdc.h> using namespace std;const int N 103; vector<int>e[N];//用行为N的…

✔ ★ 算法基础笔记(Acwing)(三)—— 搜索与图论(17道题)【java版本】

搜索与图论 1. DFS1. 排列数字(3分钟)2. n-皇后问题 2. BFS&#xff08;队列&#xff09;1. 走迷宫二刷总结&#xff08;队列存储一个节点pair<int,int>&#xff09;三刷总结 走过的点标记上距离(既可以记录距离&#xff0c;也可以判断是否走过) ★ ★ 例题2. 八数码二刷…

A*与JPS算法的背景和实现

A*算法 背景 之前的DFS&#xff0c;BFS和Dijskra算法都是一种纯搜索的算法&#xff0c;实际使用时&#xff0c;算力占用很多&#xff0c;搜索的效率却不高。 先看一下BFS搜索&#xff08;图片来源于网上&#xff09;&#xff0c;图片中红色点为起始点&#xff0c;蓝色点为终…

【洛谷 P1364】医院设置 题解(图论+深度优先搜索)

医院设置 题目描述 设有一棵二叉树&#xff0c;如图&#xff1a; 其中&#xff0c;圈中的数字表示结点中居民的人口。圈边上数字表示结点编号&#xff0c;现在要求在某个结点上建立一个医院&#xff0c;使所有居民所走的路程之和为最小&#xff0c;同时约定&#xff0c;相邻接…

Leetcode-图-133.克隆图(中等)

133. 克隆图题目如下解题思路c代码题目如下 解题思路 为了避免重复的递归&#xff0c;我们使用哈希表存下已经递归过的节点 c代码 /* // Definition for a Node. class Node { public:int val;vector<Node*> neighbors;Node() {val 0;neighbors vector<Node*>…

KMP算法(C++)

KMP算法与BF算法不一样的在于&#xff0c;当主串与子串不匹配时&#xff0c;主串不回溯&#xff0c;选择了子串回溯&#xff0c;大大提高了运算效率。 借用了next1【】数组&#xff0c;让子串回溯。get_next函数求next1【】数组&#xff0c;get_next函数的实现难点在于下列几行…

dinic网络流算法CPP

#include <iostream> #include <vector> #include <queue> #include <climits> using namespace std;// 边的数据结构 struct Edge {int from, to, capacity, flow; };// Dinic 算法类 class Dinic { private:int n; // 图中节点的数量vector<vect…

【图论】单源最短路问题

Dijkstra算法 -- 这是我职业生涯中唯一一个会写&#xff0c;却叫不上名字的算法 Dijkstra算法是一种单源最短路径算法&#xff0c;用于找出图中从一个源点到其他所有点的最短路径。该算法的原理是采用贪心策略&#xff0c;每次将距离源点最近的点加入到已确定最短路径的集合中…

matlab使用教程(16)—图论中图的定义与修改

1.修改现有图的节点和边 此示例演示如何使用 addedge 、 rmedge 、 addnode 、 rmnode 、 findedge 、 findnode 及 subgraph 函数访问和修改 graph 或 digraph 对象中的节点和/或边。 1.1 添加节点 创建一个包含四个节点和四条边的图。s 和 t 中的对应元素用于指定每条…

28.LCA问题

一、问题简介 最近公共祖先简称 LCA&#xff08;Lowest Common Ancestor&#xff09;。两个节点的最近公共祖先&#xff0c;就是这两个点的公共祖先里面&#xff0c;离根最远的那个。为了方便&#xff0c;我们记某点集 S { v 1 , v 2 , … , v n } S\{v_1,v_2,\ldots,v_n\} S…

MATLAB图论合集(三)Dijkstra算法计算最短路径

本贴介绍最短路径的计算&#xff0c;实现方式为迪杰斯特拉算法&#xff1b;对于弗洛伊德算法&#xff0c;区别在于计算了所有结点之间的最短路径&#xff0c;考虑到MATLAB计算的便捷性&#xff0c;计算时只需要反复使用迪杰斯特拉即可&#xff0c;暂不介绍弗洛伊德的实现&#…

大学康复训练

大学康复训练 进入清华第一次打codeforces&#xff0c;感觉自己又菜了好多好多呀&#xff0c;这几天回复手感&#xff0c;上传一些自己觉得做的好的题目。 波浪数P1112 看似是一个考进制转换的&#xff0c;但是一算发现暴力必定会t&#xff0c;所以换个欧拉筛的思路&#xff…

E2. Unforgivable Curse (hard version)

Problem - E2 - Codeforces 问题描述&#xff1a;给两个字符串和一个k。如果下标i&#xff0c;j满足|i - j| k or |i - j| k 1&#xff0c;则可以swap(s[i], s[j])&#xff0c;s为两个字符串之一。 思路&#xff1a;如果<i,z> <z,j>可行&#xff0c;那么<i…

图论第一天|深度优先搜索理论基础、广度优先搜索理论基础、797.所有可能的路径

深度优先搜索理论基础 文档讲解 &#xff1a; 代码随想录 - 深度优先搜索理论基础Hello 算法 9.3 图的遍历 状态&#xff1a;开始学习。 dfs&#xff08;深度优先搜索&#xff09;与bfs&#xff08;广度优先搜索&#xff09;区别 dfs是可一个方向去搜&#xff0c;不到黄河不回…

BF算法(C++)简单讲解

BF算法匹配过程易理解&#xff0c;若匹配&#xff0c;子串和主串都往下移一位。不匹配时&#xff0c;主串回溯至本次匹配开始下标的下一位。例&#xff1a;图中第三趟匹配时&#xff0c;主串到第七位时与子串不匹配&#xff0c;这次匹配主串是从第三位开始的&#xff0c;所以下…

Codeforces Round 823 (Div. 2)C

更好的阅读体验 C. Minimum Notation 思路&#xff1a;我们可以进行的操作时将一个位置的数删除然后在任意位置处添加一个比当前数大1并且小于9的数&#xff0c;所以我们的操作只会让一个数变大&#xff0c;我们统计一个最大值的后缀&#xff0c;贪心的考虑如果当前数的后面有…

【图论C++】链式前向星(图(树)的存储)

/*** file * author jUicE_g2R(qq:3406291309)————彬(bin-必应)* 一个某双流一大学通信与信息专业大二在读 * * brief 一直在竞赛算法学习的路上* * copyright 2023.9* COPYRIGHT 原创技术笔记&#xff1a;转载需获得博主本人…

美丽的图论

**美丽的图论 ** Prf &#x1f609; 对于 n 个顶点上的树的数量 n^(n-2)&#xff0c;这是凯莱公式&#xff0c;用于计算 n 个顶点上的树的数量&#xff0c;被放置在一个由 4 个标记顶点组成的圆圈中。 使用 Figma 制作 在图论中&#xff0c;树只是一个没有环的图。 树在离散…

【学习笔记】LOJ #6240. 仙人掌

毒瘤题&#x1f605; 简单版本 CF235D Graph Game 首先&#xff0c;考虑建立圆方树&#xff0c;然后对于一个点双&#xff08;简单环&#xff09;上的两个点&#xff0c;有两条路径可以到达 和简单版本类似&#xff0c;考虑容斥。即枚举点对 i , j i,j i,j之间 哪些路径是联…

UVA-1374 旋转游戏 题解答案代码 算法竞赛入门经典第二版

GitHub - jzplp/aoapc-UVA-Answer: 算法竞赛入门经典 例题和习题答案 刘汝佳 第二版 由于书上给了思路&#xff0c;所以做起来并不难。 即使超时&#xff0c;因为数据量不大&#xff08;1000个&#xff09;&#xff0c; 我们也可以直接打表直接返回结果。 但是如果想不打表完…

[NOIP2012 提高组] 国王游戏

[NOIP2012 提高组] 国王游戏 题目描述 恰逢 H 国国庆&#xff0c;国王邀请 n n n 位大臣来玩一个有奖游戏。首先&#xff0c;他让每个大臣在左、右手上面分别写下一个整数&#xff0c;国王自己也在左、右手上各写一个整数。然后&#xff0c;让这 n n n 位大臣排成一排&…

图论---最短路径问题

解决图论问题中的最短路径问题一般有四种算法&#xff0c;分别是Floyd算法、Dijkstra算法、Bellman-Ford算法和SPFA算法&#xff0c;下面介绍一下这几种算法的模板和原理用途。 Floyd算法 原理&#xff1a;Floyd本质上是一个动态规划的思想&#xff0c;每一次循环更新经过前k…

【图论】Linova and Kingdom—CF1336A

Linova and Kingdom—CF1336A 参考文章 思路 1 1 1 号节点为根节点。很容易想到&#xff0c;工业城市在树的下边&#xff0c;旅游城市在树的上边。具体来说&#xff0c;如果节点 u u u 是工业城市&#xff0c;那么它的子树的所有节点一定都是工业城市&#xff1b;如果节点 u…

UVA - 10765 Doves and bombs

CUC DFS及其应用 - Virtual Judge 题目大意&#xff1a;有一个n个点的图&#xff0c;求每个点如果被删除后&#xff0c;图中剩余连通块的数量 1<n<1e4 思路&#xff1a;也就是求每一个割点出现在几个双联通分量&#xff08;没有割点的图&#xff09;中&#xff0c;找双…

我写过的最蠢的代码

目录 前言正文蠢代码 - 1蠢代码 - 2蠢代码 - 3提醒&#xff01; 蠢代码 - 4 总结 前言 每个人的身上都有毛毛 每个人的代码有些十分蠢&#xff0c;正巧&#xff0c;我也有&#xff01; 一看到CSDN的活动《你写过的最蠢的代码是&#xff1f;》&#xff0c;我立刻想要参加来告诉…

【洛谷】P1828 [USACO3.2] 香甜的黄油 Sweet Butter (最短路)

1&#xff1a;做这种题(思路) 第1步&#xff1a;观察先定位为最短路类型 第2步&#xff1a;观察数据范围&#xff01;这很重要&#xff0c;小数据咱就可以进行伪暴力&#xff08;毕竟解决最短路的板子也不少&#xff09; 第3步&#xff1a;库库开始敲&#xff01; 2&#xf…

强连通分量+缩点

[图论与代数结构 701] 强连通分量 题目描述 给定一张 n n n 个点 m m m 条边的有向图&#xff0c;求出其所有的强连通分量。 注意&#xff0c;本题可能存在重边和自环。 输入格式 第一行两个正整数 n n n &#xff0c; m m m &#xff0c;表示图的点数和边数。 接下来…

图论-最短路径算法-弗洛伊德算法与迪杰斯特拉算法

弗洛伊德算法&#xff1a; 弗洛伊德算法本质是动态规划&#xff0c;通过添加点进如可选择的点组成的集合的同时更新所有点之间的距离&#xff0c;从而得到每两个点之间的最短距离。 初始化&#xff1a; 创建一个二维数组 dist&#xff0c;其中 dist[i][j] 表示从节点 i 到节点…

牛客周赛 Round 15 D 游游的树上边染红(树形dp)

牛客周赛 Round 15 D 游游的树上边染红(树形dp) 一道很裸的树形dp&#xff0c;周日晚上看了一晚上看不懂&#xff0c;第二天突然就悟了。 题目跟没有上司从舞会很像&#xff0c;我们粗略的考虑&#xff0c;当前节点的状态为选/不选&#xff0c;然后根据此进行状态转移。 不选择…

网络社区挖掘-图论部分的基本知识笔记

1 网络社区挖掘定义 网络社区挖掘是指利用数据挖掘技术和机器学习算法&#xff0c;分析社交网络、在线社区或互联网上的各种交互数据&#xff0c;以揭示其中隐藏的模式、关系和信息。这些社区可以是社交媒体平台、在线论坛、博客、微博等&#xff0c;人们在这些平台上进行交流…

CF837G Functions On The Segments

CF837G Functions On The Segments Functions On The Segments - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 文章目录 CF837G Functions On The Segments题目大意思路code 题目大意 你有 n n n 个函数&#xff0c;第 i i i 个函数 f i f_i fi​ 为&#xff1a; f i ( x…

TARJAN复习 求强连通分量、割点、桥

TARJAN复习 求强连通分量、割点、桥 文章目录 TARJAN复习 求强连通分量、割点、桥强连通分量缩点桥割点 感觉之前写的不好&#xff0c; 再水一篇博客 强连通分量 “有向图强连通分量&#xff1a;在有向图G中&#xff0c;如果两个顶点vi,vj间&#xff08;vi>vj&#xff09;有…

【经典题目分析】数组分割问题

文章目录 698. 划分为k个相等的子集416. 分割等和数组 698. 划分为k个相等的子集 把一个数组&#xff0c;拆分成K个大小一样的子数组。方法可以是状态枚举&#xff0c;或者dfs class Solution { public:bool canPartitionKSubsets(vector<int>& nums, int k) {// 从…

【整理】旅行商问题(traveling salesman problem,TSP)

旅行商 一个旅行商由某市出发&#xff0c;经过所有给定的n个城市后&#xff0c;再 回到出发的城市。除了出发的城市外&#xff0c;其它城市只经过一 回。这样的回路可能有多个&#xff0c;求其中路径成本最小的回路。 蛮力【穷举】 【例4-4】旅行商问题——排列树 计算模型…

连通性相关学习笔记

基础 前置知识 强连通&#xff1a;对于有向图中两点 i i i&#xff0c; j j j&#xff0c;若存在 i i i 到 j j j 和 j j j 到 i i i 的路径&#xff0c;则称 i i i&#xff0c; j j j 强连通。强连通&#xff1a;对于有向图中两点 i i i&#xff0c; j j j&#xff0…

C语言算法图的基本操作

算法与数据结构的图是不常使用的&#xff0c;而且操作上比较繁琐&#xff0c;但不得不说花样很多所以我还是参考了很多其他博主的代码和书上的代码进行了实现 直接看代码&#xff1a; #include<stdio.h> #include<stdlib.h> #include<malloc.h> #include<…

图论03-【无权无向】-图的深度优先DFS遍历-路径问题/检测环/二分图

文章目录 1. 代码仓库2. 单源路径2.1 思路2.2 主要代码 3. 所有点对路径3.1 思路3.2 主要代码 4. 路径问题的优化-提前结束递归4.1 思路4.2 主要代码 5. 检测环5.1 思路5.2 主要代码 6. 二分图6.1 思路6.2 主要代码6.2.1 遍历每个联通分量6.2.2 递归判断相邻两点的颜色是否一致…

代码随想录图论 第五天| 841.钥匙和房间 463. 岛屿的周长

代码随想录图论 第五天| 841.钥匙和房间 一、 841.钥匙和房间 题目链接&#xff1a;https://leetcode.cn/problems/keys-and-rooms/ 思路&#xff1a;钥匙就是索引&#xff0c;遍历过就标记&#xff0c;每拿到一个房间的钥匙&#xff0c;直接for循环递归遍历&#xff0c;深度…

C++图的基本用法

PS.更多数据结构知识详见&#xff1a; 八大数据结构 图的数据结构 const int MAXVEX 100; //最大的顶点数 typedef char VertexType; //定点的类型 typedef int EdgeType; //边的权值struct Graph {VertexType vexs[MAXVEX]; //顶点表EdgeType arc[MAXVEX][MAXVEX]; …

【826. 单链表】

单链表 实现一个单链表&#xff0c;链表初始为空&#xff0c;支持三种操作&#xff1a; 向链表头插入一个数&#xff1b; 删除第 k 个插入的数后面的数&#xff1b; 在第 k 个插入的数后插入一个数。 现在要对该链表进行 M 次操作&#xff0c;进行完所有操作后&#xff0c;从头…

算法——图的最短距离

引言 本文整理了常见的图的最短距离相关算法&#xff0c;方便以后查阅。更多相关文章和其他文章均收录于贝贝猫的文章目录。 BellmanFord package bbm.graph;import java.util.Arrays; import java.util.LinkedList; import java.util.List;/*** 解决单源最短路径问题, 本例…

P2047 [NOI2007] 社交网络

Portal. 观察到数据范围 n ≤ 100 n\leq 100 n≤100&#xff0c;考虑用 Floyd。 在 Floyd 更新最短路的过程中&#xff0c;如果以当前结点为中转点的路径更新过&#xff0c;那么可以累加答案&#xff1b;否则&#xff0c;更新最短路径并重置答案。 统计答案时&#xff0c;枚…

acwing算法基础之搜索与图论--DFS

目录 1 基础知识2 模板3 工程化 1 基础知识 调用dfs()之后表示已经走到头了&#xff0c;需要往回走了&#xff08;即&#xff0c;回溯&#xff09;&#xff0c;那这时候就要恢复成调用dfs()之前的模样&#xff08;即&#xff0c;恢复现场&#xff09;。 不同的搜索顺序&#…

[蓝桥杯 2022 省 A] 推导部分和

[蓝桥杯 2022 省 A] 推导部分和 题目描述 对于一个长度为 N N N 的整数数列 A 1 , A 2 , ⋯ A N A_{1}, A_{2}, \cdots A_{N} A1​,A2​,⋯AN​&#xff0c;小蓝想知道下标 l l l 到 r r r 的部分和 ∑ i l r A i A l A l 1 ⋯ A r \sum\limits_{il}^{r}A_iA_{l}A…

图论(欧拉路径)

理论&#xff1a; 所有边都经过一次&#xff0c;若欧拉路径&#xff0c;起点终点相同&#xff0c;欧拉回路 有向图欧拉路径&#xff1a;恰好一个outin1,一个inout1,其余inout 有向图欧拉回路&#xff1a;所有inout 无向图欧拉路径&#xff1a;两个点度数奇&#xff0c;其余偶 …

图论:并查集的合并、判断和求节点

所谓并查集就是可以画图理解 假如说我们想要构建一个树&#xff08;也是图&#xff09;&#xff0c;要求1->2,2->4,1->3 在构另一个树&#xff0c;要求5->6,6->7,5->8 1是2的头结点&#xff0c;2是4的头结点&#xff0c;以此类推 下面要求去将5连接到1上&…

P1162 填涂颜色【解析】-----深度优先搜索

填涂颜色 题目描述 由数字 0 0 0 组成的方阵中&#xff0c;有一任意形状的由数字 1 1 1 构成的闭合圈。现要求把闭合圈内的所有空间都填写成 2 2 2。例如&#xff1a; 6 6 6\times 6 66 的方阵&#xff08; n 6 n6 n6&#xff09;&#xff0c;涂色前和涂色后的方阵如下&…

【算法实验】实验3

实验3-1 快速排序 #include<bits/stdc.h> using namespace std; void Quicksort(int arry[],int L,int R) {if(L>R) return ;int leftL,rightR;int pivotarry[left];while(left<right){while(left<right&&arry[right]>pivot)right--;if(left<rig…

Peter算法小课堂—拓扑排序与最小生成树

拓扑排序 讲拓扑排序前&#xff0c;我们要先了解什么是DAG树。所谓DAG树&#xff0c;就是指“有向无环图”。请判断下列图是否是DAG图 第一幅图&#xff0c;它不是DAG图&#xff0c;因为它形成了一个环。第二幅图&#xff0c;它也不是DAG图&#xff0c;因为它没有方向。第三幅…

图论09-桥和割点

文章目录 1 寻找桥的算法2 桥的代码实现3 寻找割点的算法4 割点的代码实现 1 寻找桥的算法 2 桥的代码实现 package Chapt06_Bridge;import java.util.ArrayList;public class FindBridges {private Graph G;private boolean[] visited;//ord数组记录访问的顺序private int or…

96 前缀树Trie

前缀树 题解1 STL题解2 参考官方 Trie&#xff08;发音类似 “try”&#xff09;或者说 前缀树 是一种树形数据结构&#xff0c;用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景&#xff0c;例如自动补完和拼写检查。 请你实现 Trie 类&#xff1a; …

第3章:搜索与图论【AcWing】

文章目录 图的概念图的概念图的分类有向图和无向图 连通性连通块重边和自环稠密图和稀疏图参考资料 图的存储方式邻接表代码 邻接矩阵 DFS全排列问题题目描述思路回溯标记剪枝代码时间复杂度 [N 皇后问题](https://www.luogu.com.cn/problem/P1219)题目描述全排列思路 O ( n ! …

洛谷 P5960 【模板】差分约束

【模板】差分约束 题目描述 给出一组包含 m m m 个不等式&#xff0c;有 n n n 个未知数的形如&#xff1a; { x c 1 − x c 1 ′ ≤ y 1 x c 2 − x c 2 ′ ≤ y 2 ⋯ x c m − x c m ′ ≤ y m \begin{cases} x_{c_1}-x_{c_1}\leq y_1 \\x_{c_2}-x_{c_2} \leq y_2 \\ \cd…

代码随想录——图论一刷day05

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣1971. 寻找图中是否存在路径二、力扣684. 冗余连接三、力扣685.冗余连接II 前言 一、力扣1971. 寻找图中是否存在路径 class Solution {int[] father;…

《Graph Representation Learning》笔记 Chapter4

系列文章 《Graph Representation Learning》笔记 Chapter2 《Graph Representation Learning》笔记 Chapter3 目录Reconstructing muti-relational dataLoss functionCross-entropy with negative samplingMax-margin lossMulti-relational decoderReanslational decodersMult…

《Graph Representation Learning》笔记 Chapter3

系列文章 《Graph Representation Learning》笔记 Chapter2 目录An Encoder-Decoder Perspective编码 The Encoder解码 The DecoderOptimizing an Encoder-Decoder ModelFactorization-based approachesLaplacian eigenmaps内积方法 Inner-product methodRabndom walk embeddin…

图论+线性基高斯消元与主元:1019T2 / P4151

http://cplusoj.com/d/senior/p/SS231019B 相当于图上选一条链和一堆环 考虑dfs生成树。 则链是两条从根出发的链 环是每条返祖边组成的环 所以环和链的异或和可以求出来 链的放到线性基里 然后线性基通过高斯消元求主元&#xff08;贪心思想&#xff0c;主元可以令那一位…

图论01-【无权无向】-图的基本表示-邻接矩阵/邻接表

文章目录 1. 代码仓库2. 图的基本表示的比较3. 邻接矩阵&#xff1a;Array和TreeSet3.1 图示3.2 Array主要代码解析3.3 测试输出3.4 使用TreeSet的代码 4. 邻接表&#xff1a;LinkedList4.1 图示4.2 LinkedList主要代码解析4.3 测试输出 5. 完整代码5.1 邻接表 - Array5.2 邻接…

最短路相关笔记

Floyd Floyd 算法&#xff0c;是一种在图中求任意两点间最短路径的算法。 Floyd 算法适用于求解无负边权回路的图。 时间复杂度为 O ( n 3 ) O(n^3) O(n3)&#xff0c;空间复杂度 O ( n 2 ) O(n^2) O(n2)。 对于两点 ( i , j ) (i,j) (i,j) 之间的最短路径&#xff0c;有…

B - Magical Subsequence (CCPC2021哈尔滨)

思路&#xff1a; &#xff08;1&#xff09;问题&#xff1a;对于已知数组&#xff0c;每组依次选两个&#xff0c;尽量选更多组&#xff0c;选的每组和相等&#xff1b;&#xff08;假定和为x) &#xff08;2&#xff09;于是问题拆分为两步&#xff0c; x是多少x确定时&a…

欧拉图相关的生成与计数问题探究

最近学了一波国家集训队2018论文的最后一个专题。顺便带上了一些我的注解。 先放一波这个论文 1.基本概念 欧拉图问题是图论中的一类特殊的问题。在本文的介绍过程中&#xff0c;我们将会使用一些图 论术语。为了使本文叙述准确&#xff0c;本节将给出一些术语的定义。 定义…

高阶数据结构学习 —— 图(4)

文章目录 1、最短路径2、单源最短路径——Dijkstra算法&#xff08;正权值&#xff09;3、单源最短路径——BellmanFord算法1、BF优化&#xff1a;SPFA2、BF算法解决不了带负权回路的问题&#xff0c;实际上哪一个算法都无法求出来 4、多源最短路径——Floyd-Warshall算法 1、最…

【算法】昂贵的聘礼(dijkstra算法)

题目 年轻的探险家来到了一个印第安部落里。 在那里他和酋长的女儿相爱了&#xff0c;于是便向酋长去求亲。 酋长要他用 10000 个金币作为聘礼才答应把女儿嫁给他。 探险家拿不出这么多金币&#xff0c;便请求酋长降低要求。 酋长说&#xff1a;”嗯&#xff0c;如果你能够替我…

第 46 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(济南),签到题2题

文章目录K.Search For MafuyuC.Optimal Strategy补题链接&#xff1a;https://pintia.cn/market/item/1459833348620926976 K.Search For Mafuyu K Search For Mafuyu (300分) Mafuyu has hidden in Sekai, and Kanade is searching for her. In Sekai, there is nothing bu…

[题] 改革春风吹满地 #图论 #多边形面积

题目 HDU 2036 改革春风吹满地 题解 参考博客&#xff1a;HDU 2036 改革春风吹满地 代码 #include<bits/stdc.h> using namespace std; const int N 110; //叉乘计算面积的公式&#xff0c;以(0,0)为起始点划分 int main() {int n;while(~scanf("%d", &…

链式前向星模板

建稠密图可以用邻接矩阵&#xff0c;但稀疏图再用邻接矩阵就很浪费空间了&#xff0c;有可能会爆空间复杂度。 可以用邻接表来实现邻接表建图&#xff0c;两种方法&#xff1a;1.链表 2.链式前向行 只讲第二种&#xff0c;比较常用简洁 链式前向星模板 #define IOS ios::syn…

acwing算法基础之搜索与图论--BFS

目录 1 基础知识2 模板3 工程化 1 基础知识 BFS可以用来求取最短路&#xff0c;前提条件是所有边的权重一样。 2 模板 题目1&#xff1a;走迷宫&#xff0c;从左上角走到右下角&#xff0c;求最短路。 #include <iostream> #include <queue> #include <cstr…

搜索与图论第六期 最短路问题

前言 最短路问题真的很重要很重要希望大家都能够完全掌握所有最短路算法&#xff01;&#xff01; 一、最短路问题的分类 Dijkstra&#xff1a; Dijkstra算法是一种著名的图算法&#xff0c;主要用于求解有权图中的单源最短路径问题。它由荷兰计算机科学家艾兹赫尔戴克斯特…

361. 观光奶牛(小数二分,spfa判断正环,01分数规划)

361. 观光奶牛 - AcWing题库 给定一张 L 个点、P 条边的有向图&#xff0c;每个点都有一个权值 f[i]&#xff0c;每条边都有一个权值 t[i]。 求图中的一个环&#xff0c;使“环上各点的权值之和”除以“环上各边的权值之和”最大。 输出这个最大值。 注意&#xff1a;数据保…

六度空间(C++)

目录 题目&#xff1a; 输入、输出格式&#xff1a; 代码&#xff1a; 运行结果&#xff1a; 题目&#xff1a; 输入、输出格式&#xff1a; 代码&#xff1a; #include<iostream> #include<algorithm> using namespace std; int g[10005][10005]; float n…

图论16-拓扑排序

文章目录 1 拓扑排序2 拓扑排序的普通实现2.1 算法实现 - 度数为0入队列2.2 拓扑排序中的环检测 3 深度优先遍历的后续遍历3.1 使用环检测类先判断是否有环3.2 调用无向图的深度优先后续遍历方法&#xff0c;进行DFS 1 拓扑排序 对一个有向无环图G进行拓扑排序&#xff0c;是将…

缩点+图论路径网络流:1114T4

http://cplusoj.com/d/senior/p/SS231114D 重新梳理一下题目 我们先建图 x → y x\to y x→y&#xff0c;然后对点分类&#xff1a;原串出现点&#xff0c;原串未出现点。 假如我们对一个原串出现点进行了操作&#xff0c;那么它剩余所有出边我们立刻去操作必然没有影响。所…

E - Souvenir(图论典型例题)

思路&#xff1a;对于有很多询问的题&#xff0c;一般都是先初始化。我们求出每个点到其他点的最短路径以及相同路径下最大的价值和即可。 代码&#xff1a; #include <bits/stdc.h> #define pb push_back #define a first #define b second using namespace std; type…

MCM备赛笔记——图论模型

Key Concept 图论是数学的一个分支&#xff0c;专注于研究图的性质和图之间的关系。在图论中&#xff0c;图是由顶点&#xff08;或节点&#xff09;以及连接这些顶点的边&#xff08;或弧&#xff09;组成的。图论的模型广泛应用于计算机科学、通信网络、社会网络、生物信息学…

P2341 [USACO03FALL / HAOI2006] 受欢迎的牛 G

模板记录 #include<bits/stdc.h> #define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); #define endl "\n" #define x first #define y second #define int long long using namespace std; typedef long long ll; typedef pair<int, int> …

python图

有向图&#xff1a;图中的每条边都有方向的图叫有向图。此时&#xff0c;边的两个顶点有次序关系&#xff0c;有向边 < u,v>成为从顶点u到顶点v的一条弧&#xff0c;u成为弧尾&#xff08;始点&#xff09;&#xff0c;v成为弧头&#xff08;终点&#xff09;&#xff0c…

PTA天梯赛座位分配

天梯赛每年有大量参赛队员&#xff0c;要保证同一所学校的所有队员都不能相邻&#xff0c;分配座位就成为一件比较麻烦的事情。为此我们制定如下策略&#xff1a;假设某赛场有 N 所学校参赛&#xff0c;第 i 所学校有 M[i] 支队伍&#xff0c;每队 10 位参赛选手。令每校选手排…

U4_1:图论之DFS/BFS/TS/Scc

文章目录 一、图的基本概念二、广度优先搜索&#xff08;BFS&#xff09;记录伪代码时间复杂度流程应用 三、深度优先搜索&#xff08;DFS&#xff09;记录伪代码时间复杂度流程时间戳结构BFS和DFS比较 四、拓扑排序一些概念有向图作用拓扑排序 分析伪代码时间复杂度彩蛋 五、强…

洛谷 P2294 [HNOI2005] 狡猾的商人

[HNOI2005] 狡猾的商人 题目描述 刁姹接到一个任务&#xff0c;为税务部门调查一位商人的账本&#xff0c;看看账本是不是伪造的。账本上记录了 n n n 个月以来的收入情况&#xff0c;其中第 i i i 个月的收入额为 a i a_i ai​&#xff0c; i 1 , 2 , … , n − 1 , n i…

PTA-病毒感染检测

人的DNA和病毒DNA均表示成由一些字母组成的字符串序列。然后检测某种病毒DNA序列是否在患者的DNA序列中出现过&#xff0c;如果出现过&#xff0c;则此人感染了该病毒&#xff0c;否则没有感染。例如&#xff0c;假设病毒的DNA序列为baa&#xff0c;患者1的DNA序列为aaabbba&am…

【数据结构】D : 图的顶点可达闭包

D : 图的顶点可达闭包 Description 给定有向图的邻接矩阵A&#xff0c;其元素定义为&#xff1a;若存在顶点i到顶点j的有向边则A[i,j]1&#xff0c;若没有有向边则A[i,j] 0。试求A的可达闭包矩阵A*&#xff0c;其元素定义为&#xff1a;若存在顶点i到顶点j的有向路径则A*[i,j…

【数据结构】C : 追星

C : 追星 文章目录 C : 追星DescriptionInputOutputSampleInputOutput 解题思路AC代码&#xff1a; Description 城市总共有N座。yintama是右京女神的狂热粉&#xff0c;当他得知右京女神将要在城市N举办演唱会的时候&#xff0c;马上开始准备动身前往城市N。原本他可以直接乘…

电子学会C/C++编程等级考试2021年06月(二级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:数字放大 给定一个整数序列以及放大倍数x,将序列中每个整数放大x倍后输出。 时间限制:1000 内存限制:65536输入 包含三行: 第一行为N,表示整数序列的长度(N ≤ 100); 第二行为N个整数(不超过整型范围),整数之间以一个空格…

【华为OD】B\C卷真题:100%通过:找城市 C/C++实现

【华为OD】B\C卷真题&#xff1a;100%通过&#xff1a;找城市 C/C实现 题目描述&#xff1a; 一张地图上有n个城市&#xff0c;城市和城市之间有且只有一条道路相连&#xff1a;要么直接相连&#xff0c;要么通过其它城市中转相连&#xff08;可中转一次或多次&#xff09;。…

算法总结归纳(第十一天)(部分数据结构、图论(部分))

目录 一、trie树 题目描述&#xff1a; 输入格式 输出格式 输入样例&#xff1a; 输出样例&#xff1a; ①、思路 ②、代码实现 二、并查集 1、样例 题目描述&#xff1a; 输入格式 输出格式 输入样例&#xff1a; 输出样例&#xff1a; ①、思路 ②、代码实现…

2023年第六届传智杯程序设计挑战赛(个人赛)B组 赛后复盘

传智杯赛后复盘 大家好 我是寸铁&#x1f44a; 2023年第六届传智杯程序设计挑战赛&#xff08;个人赛&#xff09;B组 赛后复盘 喜欢的小伙伴可以点点关注 &#x1f49d; 1. 字符串拼接 细节&#xff1a;一定要清楚nextLine()和next()的区别 nextLine()是遇到回车会停下来 nex…

【算法每日一练]-图论(保姆级教程 篇6(图上dp))#最大食物链 #游走

目录 题目&#xff1a;最大食物链 解法一&#xff1a; 解法二&#xff1a; 记忆化 题目&#xff1a;游走 思路&#xff1a; 题目&#xff1a;最大食物链 解法一&#xff1a; 我们标记f[i]是被f[x]捕食的点对应的类食物链数 不难得出&#xff1a; f[x]∑(f[i]) 首先从生…

算法基础之八数码

八数码 核心思想&#xff1a;BFS 将矩阵展开成字符串 寻找 目标字符串”12345678x” #include <iostream>#include <algorithm>#include <unordered_map>#include <queue>using namespace std;int bfs(string start){string end "12345678x&q…

图的邻接链表储存

喷了一节课 。。。。。。。、。 #include<stdio.h> #include<stdlib.h> #define MAXNUM 20 //每一个顶点的节点结构&#xff08;单链表&#xff09; typedef struct ANode{ int adjvex;//顶点指向的位置 struct ArcNode *next;//指向下一个顶点 …

算法基础之快速幂求逆元

快速幂求逆元 核心思想&#xff1a; 逆元&#xff1a; 逆元 ap-2 mod p #include<iostream>#include<algorithm>using namespace std;typedef long long LL;LL pmi(int a,int b,int c){LL res 1;while(b){if(b & 1) res res * a %c;b >> 1;a (LL)…

算法基础之01背包问题

01背包问题 核心思想&#xff1a; 二维数组普通写法: #include<iostream>#include<cstring>#include<algorithm>using namespace std;const int N 1010;int f[N][N]; //存 i个物品 容量不超过j 的总价值int v[N],w[N];int n,m;int main(){cin>>n>…

图论练习3

内容&#xff1a;过程中视条件改变边权&#xff0c;利用树状数组区间加处理 卯酉东海道 题目链接 题目大意 个点&#xff0c;条有向边&#xff0c;每条边有颜色和费用总共有种颜色若当前颜色与要走的边颜色相同&#xff0c;则花费为若当前颜色与要走的边颜色不同&#xff0c;…

图论练习1

内容&#xff1a;&#xff0c;拆点&#xff0c;分层&#xff0c;传递&#xff0c;带限制的最小生成树 [HNOI2015]菜肴制作 题目链接 题目大意 有个限制&#xff0c;号菜肴在号前完成在满足限制的条件下&#xff0c;按照出菜( 是为了满足的限制 ) 解题思路 由限制&#xf…

ACM训练题:Division

题意是给你N&#xff0c;打印出所有相除等于N的五位数&#xff08;包含前导零&#xff09;&#xff0c;可以枚举后五位&#xff0c;计算量是10&#xff01;/5&#xff01;&#xff0c;然后乘N&#xff0c;一起检验10个数是否都出现。 AC代码&#xff1a; #include <iostre…

算法基础之最短编辑距离

最短编辑距离 核心思想 &#xff1a; 线性dp 集合定义 &#xff1a; f[i][j]为操作方式的最小值 集合计算 : 三种操作 取最小 ① 删除 : 将a[i]删掉 使ab相同 –> f[i-1][j] 1 f[i][j]② 增添 : 在a[i]后加上一个数 使ab相同 –> f[i][j-1] 1 f[i][j]③ 替换 : 将a[…

基于图论的图像分割 python + PyQt5

数据结构大作业&#xff0c;基于图论中的最小生成树的图像分割。一个很古老的算法&#xff0c;精度远远不如深度学习算法&#xff0c;但是对于代码能力是一个很好的锻炼。 课设要求&#xff1a; &#xff08; 1 &#xff09;输入&#xff1a;图像&#xff08;例如教室场景图&a…

1207. 大臣的旅费(dfs求树的直径/图论)

题目&#xff1a; 1207. 大臣的旅费 - AcWing题库 思路&#xff1a; dfs求树的直径。 代码&#xff1a; #include<iostream> #include<cstdio> #include<vector> using namespace std; const int N100100; struct Edge//边的id以及长度 {int id,w; };ve…

Z0423 树的染色2

Description 一个n个节点的树。 现在用k种颜色&#xff0c;给树上的每个节点染色 要求: 任何两个距离不大于2的不同节点被染的颜色不同。 由于答案可能过大&#xff0c;请将其对10^97取模。 Format Input 第一行一个数n,k&#xff0c;含义如题 接下来共有n-1行&#x…

AcWing 861. 二分图的最大匹配—匈牙利算法

题目链接:AcWing 861. 二分图的最大匹配 问题描述 分析 该题是一道典型的二分图匹配模板题&#xff0c;求解最大匹配数&#xff0c;可以用匈牙利算法来解决&#xff0c;下面举一个例子来说明匈牙利算法是如何运行的 以该图为例&#xff0c;其中 1可以匹配a,c 2可以匹配a,b 3…

数据结构—图(上)

文章目录 12.图(上)(1).图的基本概念#1.图的基本定义#2.边的分类#3.数据结构的一些规定#4.子图#5.完全图#6.路径#7.连通性和连通分量#8.度 (2).图的存储方式#1.邻接矩阵#2.邻接表 (3).图的遍历#1.深度优先搜索(Depth First Search)i.走个迷宫ii.DFS的思想iii.代码实现 #2.广度优…

Peter算法小课堂—树的应用

开篇先给大家讲个东西&#xff0c;叫vector&#xff0c;有老师称之为“向量”&#xff0c;当然与数学中的向量不一样啊&#xff0c;所以我要称之为“长度可变的数组” vector 头文件&#xff1a;#include <vector> 用法&#xff1a;vector<int> d; 尾部增加元素…

洛谷P3084 [USACO13OPEN] Photo G

题目描述 Farmer John has decided to assemble a panoramic photo of a lineup of his N cows (1 < N < 200,000), which, as always, are conveniently numbered from 1..N. Accordingly, he snapped M (1 < M < 100,000) photos, each covering a contiguous ra…

【GNN2】PyG完成图分类任务,新手入门,保姆级教程

上次讲了如何给节点分类&#xff0c;这次我们来看如何用GNN完成图分类任务&#xff0c;也就是Graph-level的任务。 【GNN 1】PyG实现图神经网络&#xff0c;完成节点分类任务&#xff0c;人话、保姆级教程-CSDN博客 图分类就是以图为单位的分类&#xff0c;举个例子&#xff1…

C++ 树与图的深度优先遍历 || 模版题:树的重心

树和无向图都可以看成有向图&#xff08;无向图在添加边的时候添加双向的&#xff09; 下面是模版&#xff0c;实际使用要根据情况改&#xff1a; #include <iostream> #include <cstring> using namespace std;const int N 10010, M N * 2;int n; int h[N], e[…

搜索与图论第五期 拓扑序列

前言 拓扑排序是非常重要的一部分&#xff0c;希望大家都能够手撕代码&#xff01;&#xff01;&#xff01;&#xff08;嘿嘿嘿&#xff09; 一、拓扑排序定义&#xff08;百度须知嘿嘿嘿&#xff09; 拓扑排序 拓扑排序是一种对有向无环图&#xff08;Directed Acyclic Gra…

P1967 [NOIP2013 提高组] 货车运输

[NOIP2013 提高组] 货车运输 题目描述 A 国有 nnn 座城市&#xff0c;编号从 111 到 nnn&#xff0c;城市之间有 mmm 条双向道路。每一条道路对车辆都有重量限制&#xff0c;简称限重。 现在有 qqq 辆货车在运输货物&#xff0c; 司机们想知道每辆车在不超过车辆限重的情况下…

线段树笔记草稿

一个左节点u << 1和右节点u << 1 | 1 的证明 区间修改部分 1.批量等值修改 前提条件 是要区间修改&#xff0c;区间查询&#xff0c;且修改操作修改的值是相同的 情景 一般是要对一个数组执行k次操作&#xff0c;每次改变其中一个区间内所有元素的值&#x…

算法笔记-换根DP

换根DP 一般是给定一棵不定根树&#xff0c;求以每个节点为根的一些信息。可以通过二次扫描&#xff1a; 第一次扫描&#xff0c;任选一点为根&#xff0c;在有根树上&#xff0c;自底向上转移第二次扫描&#xff0c;从上一次扫描的根开始&#xff0c;自顶向下计算 P3478 [P…

2023/4/13总结

最小生成树 一、Prim算法 1.prim算法也被称为“加点法”&#xff0c;因为该算法是先从任意一顶点出发不断的选择目前距离最近且未被选择的点加入到已选的集合中&#xff0c;直到所有的点都被选到。&#xff08;和最短路径中的Dijkstra算法很像&#xff09; 2.prim算法的实现…

atcoder abc297A-E

Atcoder abc297简单讲讲 A 题意简述&#xff1a; at老友(不说名字了)在弄电脑&#xff0c;一共点击了n次鼠标&#xff0c;当相邻两次点击的时间间隔不超过d时会出发双击&#xff0c;问第一次双击是在什么时候&#xff0c;如果没有输出-1 思路&#xff1a; 简单题好吧&#xf…

图的宽度优先遍历

文章目录 图的宽度优先遍历程序设计程序分析图的宽度优先遍历 【问题描述】根据输入图的邻接矩阵A,给出图的宽度优先遍历序列; 【输入形式】第一行为图的结点个数n,第二行输入顶点的信息,每个顶点用一个字符表示,接下来的n行为图的邻接矩阵A。其中A[i][j]=1表示两个结点邻…

无向连通图中长度为 n 的循环

给定一个无向连通图和一个数字 n,计算图中长度为 n 的循环总数。长度为 n 的圈简单地表示该圈包含 n 个顶点和 n 条边。我们必须计算所有存在的此类循环。 示例: 输入:n = 4 输出:总周期数 = 3 解释 :遵循 3 个独特的循环0 -> 1 -> 2 -> 3 -> 0 0 -> 1 …

图邻接表和拓扑排序

问题引入 由于采用不同方式实现的拓扑排序&#xff0c;输出序列不惟一&#xff0c;因此对此题进行修订。不再检查拓扑序列是否一致。 【问题描述】 设一有向图&#xff08;如下所示&#xff09;&#xff0c;求图的邻接表表示&#xff0c;用拓扑序列检测有向图是否存在环。 【输…

搜索与图论 - spfa 算法

文章目录一、spfa 算法1. spfa 算法简介2. spfa 算法和 bellman-ford 算法的区别3. spfa 算法和 dijkstra 算法的区别4. spfa 算法实现步骤5. spfa 算法举例图解6. spfa 算法用于求最短路和判断负环&#xff0c;详见下面两道例题。二、spfa 算法例题—— spfa 求最短路具体实现…

【图论】网络流

网络流目前只整理模板&#xff0c;学习的话这篇博客可能不太适合 代码参考下方博客&#xff0c;加了一些自己的注释 算法学习笔记(28): 网络流究级的最大流算法&#xff1a;ISAP与HLPP FF 和 EK 仅用作理解代码&#xff0c;赛时请使用 Dinic 或 ISAP 下文建图方式都基于链式…

2022-2023 ICPC Brazil Subregional Programming Contest

文章目录前言A. Finding Maximal Non-Trivial MonotonesD. Displacing ParticlesE. Eliminating BallonsF. Multidimensional HangmanI. Intercepting InformationJ. Playing 23总结前言 vp补题 A. Finding Maximal Non-Trivial Monotones 题意&#xff1a;给定只含有a,b的字…

剑指offer常见题 - 二叉树问题(三)

二叉树相关算法 二叉树相关性质&#xff1a; 性质一&#xff1a;在二叉树的第i层上至多有2^(i-1)个结点(i>1) 性质二&#xff1a;深度为k的二叉树至多有2^(k-1)个结点(k>1) 性质三&#xff1a;对任意一颗二叉树T&#xff0c;若终端结点数为 n0n_0n0​ ,而其度数为2的结…

数据库知识之图的创建以及各种遍历、生成树的形成

利用邻接矩阵创建图并打印输出利用递归完成dfs算法遍历利用非递归完成bfs算法遍历利用prim算法得出最小生成树利用kruskal算法得出最小生成树 #include <iostream> #include <cstdlib>//包含一些特定函数 #include <string> //邻接矩阵结构存储图 #defin…

76.【图】

图( 一).图的基本结构(1).无序偶对.(2).有序偶对(3).有向图和无向图(4).权(5).网图(二).图的基本术语(1).邻接.依附(2).有向完全图,无向完全图(3).顶点的度,入度,出度(4).路径 路径长度 回路(5).简单路径 简单回路(6).子图(7).连通图 连通分量(8).强连通图 强连通分量(三).图的…

洛谷 P1341 无序字母对

【题目链接】 洛谷 P1341 无序字母对 【题目考点】 1. 欧拉图&#xff1a;欧拉路径&#xff08;无向图&#xff09; 【解题思路】 每个字母是一个顶点&#xff0c;每个字母对是一条边。“无序即字母对中的两个字母可以位置颠倒”&#xff0c;意味着这样的边连接的两个字母…

《数据结构》二叉数

学习目录树型结构概念树的重要概念树的表示形式二叉数概念特殊的二叉树二叉树的性质练习题树型结构 概念 树是一种非线性的数据结构&#xff0c;由 n 个有限节点组成一个有层次关系的集合 它具有以下的特点&#xff1a; 有一个特殊的结点&#xff0c;称为根结点&#xff0c;…

POJ 3070 Fibonacci

Time Limit: 1000MSMemory Limit: 65536KTotal Submissions: 30932Accepted: 20284 Description In the Fibonacci integer sequence, F0 0, F1 1, and Fn Fn − 1 Fn − 2 for n ≥ 2. For example, the first ten terms of the Fibonacci sequence are: 0, 1, 1, 2, 3,…

【算法】新的开始(Kruskal算法,虚拟源点)

题目 发展采矿业当然首先得有矿井&#xff0c;小 FF 花了上次探险获得的千分之一的财富请人在岛上挖了 n 口矿井&#xff0c;但他似乎忘记了考虑矿井供电问题。 为了保证电力的供应&#xff0c;小 FF 想到了两种办法&#xff1a; 在矿井 i 上建立一个发电站&#xff0c;费用…

前缀和差分算法

前缀和&差分算法前言前缀和应用场景算法描述代码实现差分应用场景算法描述代码实现补充前言 2023.1.9 重学了前缀和与差分算法&#xff0c;特此写一篇小博客。 前缀和 应用场景 多次求区间和 算法描述 ΣΣΣf[i]a[i]f[i−1] a[i]f[i-1]a[i]f[i−1] 非常的好理解&…

我用递归写单调栈(?)

前言&#xff1a;嗯,这个题上午有的思路&#xff0c;敲了一中午代码&#xff0c;改了一下午最后超时? 题&#xff1a;D. Boris and His Amazing Haircut 题意&#xff1a;一个理发师可以把一段数组给建成一个高度&#xff0c;他现在每个高度的剪子都有若干个。给一个原始数组和…

RMQ--区间最值问题(在更)

RMQ&#xff08;Range Minimum/Maximum Query&#xff09;RMQ解决的问题ST算法 O(nlogn)线段树例题数列区间最大值最敏捷的机器人天才的记忆Frequent values总结&#xff08;ST和线段树对比&#xff09;RMQ解决的问题 RMQ是一个解决多个区间最值查询的算法,即区间最值查询&…

图观 | ChatGTP是如何通过知识图谱回答问题的?

文/Emma Z1950年&#xff0c;图灵发表了具有里程碑意义的论文《计算机器与智能》&#xff08;Computing Machinery and Intelligence&#xff09;&#xff0c;提出了一个关于机器人的著名判断原则——图灵测试&#xff0c;也被称为图灵判断&#xff0c;它指出如果第三者无法辨别…

【算法设计-分治】递归与尾递归

文章目录1. 阶乘尾递归&#xff1a;递归的进一步优化2. 斐波那契数列3. 最大公约数&#xff08;GCD&#xff09;4. 上楼梯5. 汉诺塔&#xff08;1&#xff09;输出移动过程输出移动步数5. 汉诺塔&#xff08;2&#xff09;输出移动过程输出移动步数6. 杨辉三角形7. 完全二叉树1…

省赛第一次训练赛题解

省赛第一次训练赛题解 A(CF1451C) 由于没有操作次数的限制&#xff0c;很容易想到对于任意 k 个相同的字符&#xff0c;他们都可以通过交换换到一起之后修改。而对于两个按照字母顺序排序之后相同的字符串&#xff0c;从第一个也可以经过若干交换换到第二个。 所以问题变成了…

【C++】图

本文包含了图的基本概念 1.相关概念 1.1 无/有向 无向图&#xff1a;每一个顶点之间的连线没有方向 有向图&#xff1a;连线有方向&#xff08;类似离散数学的二元关系 <A,B>代表从A到B的边&#xff0c;有方向&#xff09; <A,B>中A为始点&#xff0c;B为终点在…

图论学习(三)

途径&#xff0c;迹&#xff0c;路&#xff0c;圈&#xff0c;距离和直径 定义&#xff1a;给定图G (V, E)&#xff0c;w v0e1v1e2…ekvk是G中点边交替组成的序列&#xff0c;其中vi∈V&#xff0c;ei∈E&#xff0c;若w满足ei的端点为vi-1与vi&#xff0c;则称w为一条从顶点…

算法总结归纳(第十二天)(剩余的图论)

目录 一、图论 Ⅰ、spfa算法 spfa求最短路 思路&#xff1a; 代码&#xff1a; spfa判断负环 思路&#xff1a; 代码&#xff1a; Ⅱ、floyd算法 思路&#xff1a; 代码&#xff1a; Ⅲ、prime算法 思路&#xff1a; 代码&#xff1a; Ⅳ、kruskai算法 思路&…

基础算法-双指针,滑动窗口,位运算,区间离散化

双指针 两种类型 for(int i0,j0;i<n;i) {while(i<j&&check(i,j)) j;// 每道题目具体逻辑}双指针最核心的性质 可以优化 输入一个字符串 把每个单词输出出来 i找到单词开头 j找到空格 vector<string> rs; for(int i0,j0;i<s.size();i) {ji;while(j&…

MATLAB | 全网最详细网络图(图论图)绘制教程

一篇超超超长&#xff0c;超超超全面网络图绘制教程&#xff0c;本篇基本能讲清楚所有绘制要点&#xff0c;当然图论与网络优化的算法一篇不可能完全讲清楚&#xff0c;未来如果看的人多可以适当更新&#xff0c;同时做部分网络图绘图复刻。 以下是本篇绘图实验效果&#xff1…

信息学奥赛一本通 1341:【例题】一笔画问题

【题目链接】 ybt 1341&#xff1a;【例题】一笔画问题 【题目考点】 1. 图论&#xff1a;欧拉回路 求解欧拉回路使用Hierholzer算法 复杂度&#xff1a;O(VE)O(VE)O(VE) 【解题思路】 无向图有欧拉回路的条件&#xff1a;所有顶点的度都是偶数。无向图有欧拉路径的条件&…

中国石油大学(北京)第三届“骏码杯”程序设计竞赛(同步赛)

E-Construction Complete! 思路&#xff1a; 解决占地面积问题&#xff0c;我们容易想到用二维前缀和处理&#xff0c;空格该点为1&#xff0c;否则为0.就可以求出面积。对于距离d&#xff0c;我们可以用bfs处理每个点距离所有点离建筑物x的最小距离&#xff0c;如果距离小于…

一、基础算法6:双指针算法 模板题+算法模板(最长连续不重复子序列,数组元素的目标和,判断子序列)

文章目录算法模板双指针算法模板最长连续不重复子序列模板暴力法双指针算法数组元素的目标和模板判断子序列模板模板题最长连续不重复子序列原题链接题目题解数组元素的目标和原题链接题目题解判断子序列原题链接题目题解算法模板 双指针算法模板 for (int i 0, j 0; i <…

蓝桥杯 --- 双指针、BFS与图论(习题)

蓝桥杯 --- 双指针、BFS与图论&#xff08;习题&#xff09;1240. 完全二叉树的权值1096. 地牢大师1233. 全球变暖1207. 大臣的旅费826. 单链表1240. 完全二叉树的权值 给定一棵包含 N 个节点的完全二叉树&#xff0c;树上每个节点都有一个权值&#xff0c;按从上到下、从左到…

11853 - Paintball (UVA)

题目链接如下&#xff1a; Online Judge 这道题挺可惜&#xff0c;我思路其实就差了一点点没想出来&#xff0c;还是看了uva 11853 paintball&#xff08;好题&#xff09;——yhx_yhx. live-CSDN博客 这里的文字部分才最终写出来。 dfs版本代码如下&#xff1a; #include …

Codeforces Round 862 A-E

Codeforces Round 862 (Div. 2) 先简单写一下 A-E 的题解。 A 异或的经典性质&#xff1a;x⊕x0x \oplus x0x⊕x0。 B 显然要把字典序最小的那个字母放到最前面。 如果这个字母出现了很多次&#xff0c;那么应该选择最后一次出现的位置。这也很容易证明。 C 联立以后计…

人工智能实验二:约束满足问题

一、实验目的 求解约束满足问题&#xff1b;使用回溯搜索算法求解八皇后问题。 二、实验平台 课程实训平台https://www.educoder.net/paths/369 三、实验内容及步骤 实训内容&#xff1a;2-4 第六章 约束满足问题 1.问题描述 八皇后问题是指在一个 88 的棋盘上摆放八个皇…

RSA加密算法的实际实现与应用

RSA算法实现概述 按照算法实现所使用整数长度的分类&#xff0c;我们可以将算法实现分为小整数版本RSA和大整数版本RSA。一般小整数版本RSA的整数长度小于64位&#xff0c;大整数版本RSA的整数长度大于64位。网上很多博客和项目编写的RSA加密算法实现&#xff0c;其实都是小整数…

【DS】河南省第十三届ICPC大学生程序设计竞赛 J-甜甜圈

明天就要省赛了&#xff0c;感觉已经寄了捏 J-甜甜圈_河南省第十三届ICPC大学生程序设计竞赛&#xff08;重现赛&#xff09; (nowcoder.com) 题意&#xff1a; 思路&#xff1a; 直接模拟复杂度太高&#xff0c;因此考虑用DS优化 我们考虑用树状数组维护 在用线段树和树状…

第三章:高精度算法(加、减、乘、除)

高精度算法高精度的整体思路&#xff1a;一、加法1、思路&#xff1a;2、模板&#xff1a;&#xff08;1&#xff09;C版&#xff1a;&#xff08;2&#xff09;C语言版&#xff1a;二、减法1、思路&#xff1a;2、模板&#xff1a;CC三、乘法1、思路&#xff1a;2、模板&#…

1797F Li Hua and Path(Min-rt树,Max-rt树)

题目链接 题意 &#xff1a; 给你一个大小为nnn的树&#xff0c;我们想求解一个问题&#xff0c;问题的定义是找有多少条路径满足恰好满足路径的端点是路径的最小值ororor最大值条件之一&#xff0c;【注】不能同时满足路径的两个端点是最小值又是最大值 现在增加mmm个操作&am…

图的传递闭包

给定一个有向图,对于给定图中的所有顶点对(i, j),找出一个顶点j是否可从另一个顶点i到达。这里的可达性是指从顶点i到j有一条路径。可达性矩阵称为图的传递闭包。 例如,考虑下面的图表 上述图的传递闭包为 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 该图以邻接矩阵的形式给出,…

天梯赛练习(L2-007 ~ L2-012)

L2-007 家庭房产 给定每个人的家庭成员和其自己名下的房产&#xff0c;请你统计出每个家庭的人口数、人均房产面积及房产套数。 Input 输入第一行给出一个正整数N&#xff08;≤1000&#xff09;&#xff0c;随后N行&#xff0c;每行按下列格式给出一个人的房产&#xff1a;…

图的存储(邻接矩阵邻接表)

图的存储 文章目录 图的存储1 邻接矩阵1.1 邻接矩阵存储结构定义1.2 完整代码应用 2 邻接表2.1 邻接表存储结构定义2.2 完整代码应用 1 邻接矩阵 A [ i ] [ j ] 1 A[i][j]1 A[i][j]1 表示顶点i与顶点j邻接&#xff0c;即i与j之间存在边或者弧。 A [ i ] [ j ] 0 A[i][j]0 A…

Educational Codeforces Round 147 (Rated for Div. 2)

文章目录 一、A - Matching二、B - Sort the Subarray三、C - Tear It Apart四、D - Black Cells 一、A - Matching 思路: 有几个问号就是10的几次方,除了第一个字符是问号,如果第一个字符是问号,就是* 9,因为没有前导零 代码: #include <iostream> #include <cstr…

GNN邻接矩阵归一化

诸神缄默不语-个人CSDN博文目录 文章目录 1. 对称归一化 D − 1 2 A D − 1 2 D^{-\frac{1}{2}}AD^{-\frac{1}{2}} D−21​AD−21​2. D − 1 A D^{-1}A D−1A 1. 对称归一化 D − 1 2 A D − 1 2 D^{-\frac{1}{2}}AD^{-\frac{1}{2}} D−21​AD−21​ 代码参考自R-former&…

abc 283E 经典dp

题意&#xff1a;https://www.luogu.com.cn/problem/AT_abc283_e 思路&#xff1a;非常经典的dp&#xff0c;设为前i行第i行是否反转和第i1行是否反转。 /*keep on going and never give up*/ #include<cstdio> #include<iostream> #include<queue> #inclu…

洛谷——P1091 合唱队形

【题目描述】 n 位同学站成一排&#xff0c;音乐老师要请其中的 n−k 位同学出列&#xff0c;使得剩下的 k 位同学排成合唱队形。 合唱队形是指这样的一种队形&#xff1a;设 kk 位同学从左到右依次编号为 1,2, … ,k&#xff0c;他们的身高分别为​,​, … ,​&#xff0c;则…

bmpfile

#include <stdio.h> #include <stdlib.h> #include <time.h> #include “bmpfile.h” #pragma pack(2) typedef struct { unsigned char bfType[2]; unsigned int bfSize; unsigned short bfReserved1; unsigned short bfReserved2; unsigned int bfOffBits…

二叉树基本概念、种类、存储方式、遍历(JS实现)

&#x1f4dd;个人主页&#xff1a;爱吃炫迈 &#x1f48c;系列专栏&#xff1a;数据结构与算法 &#x1f9d1;‍&#x1f4bb;座右铭&#xff1a;道阻且长&#xff0c;行则将至&#x1f497; 文章目录 二叉树基本概念性质 二叉树的种类满二叉树完全二叉树二叉搜索树平衡二叉搜…

图论初入门

目录 一、前言 二、图的概念 三、例题及相关概念 1、全球变暖&#xff08;2018年省赛&#xff0c;lanqiao0J题号178&#xff09; 2、欧拉路径 3、小例题 4、例题&#xff08;洛谷P7771&#xff09; 一、前言 本文主要讲了树与图的基本概念&#xff0c;图的存储、DFS遍历…

动脉自旋标记:技术、临床应用和解释

动脉自旋标记(ASL)是一种新兴的无创MRI技术&#xff0c;用于评估大脑血流灌注。ASL灌注不需要外源性示踪剂&#xff0c;使用动脉血磁性标记水质子作为内源性可扩散示踪剂。因此&#xff0c;对儿童、禁忌症或不良反应的患者、肾功能衰竭患者以及那些需要重复随访的患者来说&…

AtCoder Beginner Contest 292 (A - E) 记录第一场ABC

AtCoder Beginner Contest 292 A - E前言Q1 A - CAPS LOCKQ2 Yellow and Red CardQ3 Four VariablesQ4 D - Unicyclic ComponentsQ5 E - Transitivity前言 本来晚上在打Acwing周赛&#xff0c;最后一题Trie想不出来咋写&#xff0c;看群里有人说ABC要开始了&#xff0c;想着没…

数据结构学习笔记:图论

前言 图论〔Graph Theory〕是数学的一个分支。它以图为研究对象。图论中的图是由若干给定的点及连接两点的线所构成的图形&#xff0c;这种图形通常用来描述某些事物之间的某种特定关系&#xff0c;用点代表事物&#xff0c;用连接两点的线表示相应两个事物间具有这种关系。  …

第23期:dp——DAG上的动态规划

有向无环图上的动态规划是学习动态规划的基础&#xff0c;很多问题都可以转化为DAG上的最长路、最短路或路径计数问题。 1. DAG模型 嵌套矩形问题 硬币问题 2. 最长路及其字典序 3. 固定终点的最长路和最短路

第20期:图论模型与算法——再谈树

1 无根树转有根树 问题&#xff1a;输入一个n个结点的无根树的各条边&#xff0c;并指定一个根结点&#xff0c;要求把该树转化为有根树&#xff0c;输出各个结点的父结点编号。。 用vector数组存边 #include<bits/stdc.h> using namespace std; const int maxn1e6100…

1138 Postorder Traversal(25行代码)

分数 25 全屏浏览题目 作者 CHEN, Yue 单位 浙江大学 Suppose that all the keys in a binary tree are distinct positive integers. Given the preorder and inorder traversal sequences, you are supposed to output the first number of the postorder traversal sequ…

1053 Path of Equal Weight(超级无敌详细注释+45行代码)

分数 30 全屏浏览题目 切换布局 作者 CHEN, Yue 单位 浙江大学 Given a non-empty tree with root R, and with weight Wi​ assigned to each tree node Ti​. The weight of a path from R to L is defined to be the sum of the weights of all the nodes along the pa…

CF840B Leha and another game about graph 题解(证明 dfs 求解的正确性 + 详细注释代码)

题意 给定 nnn 个点&#xff0c;mmm 条边&#xff0c;保证没有自环&#xff0c;且图连通。对于每个点有一个期望度数d[i]d[i]d[i]&#xff0c;−1≤d[i]≤1-1\leq d[i]\leq1−1≤d[i]≤1。询问是否能保存图中的一些边使得所有点的度数的奇偶性与期望度数的奇偶性相同。&#x…

经典题目和算法

常见的解题算法 求矩阵中子矩阵元素和不大于K的个数 前缀和双指针O(n^3) 思路&#xff1a; 1&#xff09;枚举子矩阵的 左边界i 和 右边界j&#xff0c; 2&#xff09;用快指针t枚举子矩阵的下边界&#xff0c;慢指针s维护子矩阵的上边界 (s≤t) 3&#xff09;如果得到的子矩…

P3243 [HNOI2015]菜肴制作(思维 + 拓扑排序+反图)

题目描述 知名美食家小 A 被邀请至 ATM 大酒店&#xff0c;为其品评菜肴。ATM 酒店为小 A 准备了 nn 道菜肴&#xff0c;酒店按照为菜肴预估的质量从高到低给予 11 到 nn 的顺序编号&#xff0c;预估质量最高的菜肴编号为 11。 由于菜肴之间口味搭配的问题&#xff0c;某些菜肴…

还不会拓扑排序?看这一篇就够了

目录一、什么是拓扑排序&#xff1f;二、拓扑排序的实现2.1 拓扑排序模版三、拓扑排序的应用3.1 有向图的拓扑序列3.2 家谱树3.3 奖金3.4 可达性统计3.5 Directing Edges一、什么是拓扑排序&#xff1f; 拓扑排序是一种有向无环图&#xff08;DAG&#xff09;的顶点排序方法&a…

2023年 ZZU ACM 招新赛暨选拔赛题解

A. NANA与字符串—找规律 题目链接 注意题目中 字符串中只有a&#xff0c;b两个字符 因此只要找到左右两端点字符相同的子串&#xff0c;这个子串一定回文&#xff0c;这里不在证明 求长为偶数回文串数量&#xff0c;就等于求相同的两个字符&#xff0c;而下标奇偶性不同的数…

第二十一章 opengl之高级OpenGL(高级GLSL)

OpenGLGLSL的内建变量顶点着色器变量gl_PointSizegl_VertexID片段着色器gl_FragCoordgl_FrontFacinggl_FragDepth接口块Uniform缓冲对象Uniform块布局使用Uniform缓冲一个简单的例子GLSL的使用技巧。学习一些有趣的内建变量&#xff0c;管理着色器输入和输出的信访室&#xff0…

蓝桥小小结

100. 增减序列 给定一个长度为 n 的数列 a1,a2,…,an&#xff0c;每次可以选择一个区间 [l,r]&#xff0c;使下标在这个区间内的数都加一或者都减一。 求至少需要多少次操作才能使数列中的所有数都一样&#xff0c;并求出在保证最少次数的前提下&#xff0c;最终得到的数列可…

最少砝码(思维+找规律)

最少砝码 前n个可以表示0~k; 第n1个为x&#xff08;x>k&#xff09;; 最大可测maxnkx; 第n1个和前n个放两边 可测得x-k&#xff1b; 让x-kk1&#xff0c;得到x2k1&#xff1b; maxn3k1&#xff1b; k1 可以用(2k1) - (k-0) 表示 k2 可以用(2k1) - (k-1) 表示 … 2k1 可以用…

树形DP/换根DP 习题

Part 1&#xff1a;树形DP 选边 题意 一棵树有 nnn 个结点&#xff0c;n−1n-1n−1 条边&#xff0c;第 iii 条边是&#xff1a;u[i],v[i],w[i]u[i],v[i],w[i]u[i],v[i],w[i] 表示结点 u[i]u[i]u[i] 与结点 v[i]v[i]v[i] 有一条权值为 w[i]w[i]w[i] 的无向边。 你需要从这 …

1094 The Largest Generation(34行代码+超详细注释)

分数 25 全屏浏览题目 作者 CHEN, Yue 单位 浙江大学 A family hierarchy is usually presented by a pedigree tree where all the nodes on the same level belong to the same generation. Your task is to find the generation with the largest population. Input Sp…

【A*算法——清晰解析 算法逻辑——算法可以应用到哪些题目】例题1.第K短路

A*算法 A*算法是什么例题1. 第K短路题意解析 欢迎观看我的博客&#xff0c;如有问题交流&#xff0c;欢迎评论区留言&#xff0c;一定尽快回复&#xff01;&#xff08;大家可以去看我的专栏&#xff0c;是所有文章的目录&#xff09;   文章字体风格&#xff1a; 红色文字表示…

week5-质数-最大公约数-快速幂-组合计数-博弈论

蓝桥 等差数列——欧几里得算法质数质数的判定——试除法分解质因数——试除法筛质数——埃氏筛法筛质数——线性筛法质数问题质数距离约数试除法求约数约数个数约数之和最大公约数-欧几里得算法(辗转相除法)扩展欧几里得算法裴蜀定理应用——线性同余方程消灭老鼠Hankson的趣…

邻接表—链式前向星

1.构成&#xff1a;前驱数组first【】&#xff0c;标记数组book【】&#xff0c;距离数组dis【】 前驱数组 first【】&#xff1a;用于存储起点x到最后第cnt条边&#xff0c;first【x】cnt eg:第一条边&#xff1a;1->2&#xff1b;第二条边&#xff1a;1->3&#xff1b;…

第14届蓝桥杯C++B组省赛

今年比去年难好多 A. 日期统计 直接8个for&#xff0c;然后剪枝一下&#xff08;只取2023&#xff09;开头的&#xff0c;跑起来还是很快的&#xff0c;自己电脑100ms&#xff0c;机房1s左右 我算的答案是235,不一定对qwq #include <bits/stdc.h> using namespace st…

【栈与队列】

目录知识框架No.0 筑基No.1 栈与队列题目来源&#xff1a;蓝桥杯-2012省赛-括号问题题目来源&#xff1a;PTA-L2-037 包装机题目来源&#xff1a;PTA-L2-032 彩虹瓶题目来源&#xff1a;PTA-L2-033 简单计算器题目来源&#xff1a;PTA-L3-002 特殊堆栈题目来源&#xff1a;蓝桥…

​ 【蓝桥杯】每日四道编程题(两道真题+两道模拟)​| 第5天

专栏&#xff1a; 蓝桥杯——每日四道编程题&#xff08;两道真题两道模拟&#xff09; “蓝桥杯就要开始了&#xff0c;这些题刷到就是赚到” ₍ᐢ..ᐢ₎♡ 另一个专栏&#xff1a; 蓝桥杯——每日四道填空题&#xff08;两道真题两道模拟题&#xff09; 目录 专栏&#xff1…

最小生成树详解-模板

文章首发于&#xff1a;My Blog 欢迎大佬们前来逛逛 概念 最小生成树的定义 在一张带权无向图中&#xff0c;最小生成树是一棵生成树&#xff0c;它的边权值之和最小。 生成树是一颗包含原图中所有顶点的树&#xff0c;它的边集合是原图的一个子集&#xff0c;且任意两个顶点…

数据结构篇六:二叉树

文章目录 前言1. 树的概念及结构1.1 树的概念1.2 树的相关概念1.3 树的结构 2. 二叉树的概念及结构2.1 二叉树的概念2.2 特殊的二叉树2.3 二叉树的性质2.4 二叉树的存储结构 3. 二叉树的顺序结构及实现3.1 二叉树的顺序结构3.2 堆的概念及结构3.3 堆的实现3.3.1 堆的创建3.3.2 …

【id:162】【20分】E. 身体评估(类与对象)

题目描述 评估成年人身体健康有多个指标&#xff0c;包括BMI、体脂率等 设计一个身体健康类&#xff0c;包含私有成员&#xff1a;姓名、身高(米)、体重(公斤)&#xff0c;腰围(厘米)&#xff0c;实现两个公有方法如下&#xff1a; BMI方法&#xff0c;返回BMI数值(整数&…

数据结构与算法一览(树、图、排序算法、搜索算法等)- Review

算法基础简介 - OI Wiki (oi-wiki.org) 文章目录1. 数据结构介绍1.1 什么是数据结构1.2 数据结构分类2. 链表、栈、队列&#xff1a;略3. 哈希表&#xff1a;略4. 树4.1 二叉树4.2 B 树与 B 树4.3 哈夫曼&#xff08;霍夫曼&#xff09;树&#xff1a;Huffman Tree4.4 线段树&a…

最短路径算法及Python实现

最短路径问题 在图论中&#xff0c;最短路径问题是指在一个有向或无向的加权图中找到从一个起点到一个终点的最短路径。这个问题是计算机科学中的一个经典问题&#xff0c;也是许多实际问题的基础&#xff0c;例如路线规划、通信网络设计和交通流量优化等。在这个问题中&#…

[入门必看]数据结构6.1:图的基本概念

[入门必看]数据结构6.1&#xff1a;图的基本概念 第六章 图6.1 图的基本概念知识总览6.1.1 图的基本概念 6.1.1 图的基本概念图的定义图逻辑结构的应用无向图、有向图简单图、多重图顶点的度、入度、出度顶点-顶点的关系描述连通图、强连通图研究图的局部——子图连通分量强连通…

一日一题:第三题--方格迷宫(DFS小难,不过很详细!)

题目描述 给定一个 n 行 m 列的方格矩阵。 行从上到下依次编号为 1∼n&#xff0c;列从左到右依次编号为 1∼m。 第 i 行第 j 列的方格表示为 (i,j)。 矩阵中的方格要么是空地&#xff08;用 . 表示&#xff09;&#xff0c;要么是陷阱&#xff08;用 # 表示&#xff09;。…

离散数学_十章-图 ( 3 ):由旧图构造新图

&#x1f4f7;10.3 由旧图构造新图 概念1. 子图2. 真子图3. 导出的子图 旧图构造新图的方法1. 删除或增加图中的边2. 边的收缩3. 删除顶点 有时解决问题只需要图的一部分。 比如我们现在只关心大型计算机网络中涉及济南&#xff0c;广州&#xff0c;深圳的计算机中心&#xff0…

[D-OJ练习] (★Prim路径输出)使用邻接矩阵实现最小生成树Prim算法

用邻接矩阵存储无向图&#xff0c;实现最小生成树Prim算法&#xff0c;图中边的权值为整型&#xff0c;顶点个数少于10个。 输入描述 首先输入图中顶点个数和边的条数&#xff1b; 再输入顶点的信息&#xff08;字符型&#xff09;&#xff1b; 再输入各边及其权值。 输出描述…

[总结]单源最短路(朴素Dijkstra)与最小生成树(Prim,Kruskal)

目录 最短路 朴素Dijkstra 最小生成树 Prim 算法 Kruskal 算法 最短路 朴素Dijkstra 时间复杂度: O(n2m) , n 表示点数&#xff0c;m 表示边数 稠密图&#x1f449; 存储形式:邻接矩阵 模板: g[x][y]存的是初始化时边权, st[i]表示i是否加入正在逐步…

[D-OJ练习] 求无向图中某顶点的度

已知无向图的顶点为字符型&#xff0c;要求采用邻接矩阵表示&#xff0c;图中顶点序号按字符顺序排列&#xff0c;从键盘输入图中顶点的个数、边的条数、顶点的信息和边的组成等。求某顶点的度是多少&#xff1f; 输入描述 第一行输入无向图的顶点数和边的条数&#xff0c;以空…

【喜闻乐见,包教包会】二分图最大匹配:匈牙利算法(洛谷P3386)

&#x1f3ad;不要管上面那玩意。。。 引入 现在&#xff0c;你&#xff0c;是一位酒店的经理。 西装笔挺&#xff0c;清瘦智慧。 金丝眼镜&#xff0c;黑色钢笔。 大理石的地板&#xff0c;黑晶石的办公桌&#xff0c;晶莹的落地玻璃。 而现在&#xff0c;有几个雍容华贵的…

算法提高-图论-floyd算法及其扩展应用

floyd算法及其扩展应用 floyd算法及其扩展应用AcWing 1125. 牛的旅行AcWing 343. 排序AcWing 344. 观光之旅AcWing 345. 牛站 floyd算法及其扩展应用 AcWing 1125. 牛的旅行 #include <iostream> #include <cstring> #include <cmath> #include <algori…

【数据结构】图的遍历、图的应用

以下是对王道数据结构图的部分选择题的纠错 图的遍历 对于一个非连通无向图G&#xff0c;采用DFS访问所有顶点&#xff0c;在DFSTraverse函数中调用DFS的次数正好等于连通分量个数 一次遍历必然会将一个连通图中的所有顶点都访问到&#xff0c;对于已被访问的顶点不在调用DFS&…

【构造】0617 Edge Split

题意&#xff1a; 给定一个 n n n 点 m m m 条边的无向连通图&#xff0c;其中 1 ≤ m ≤ n 2 1\leq m\leq n2 1≤m≤n2。 m m m 条边中有一些条边被染成红色&#xff0c;剩下的边被染成蓝色。只考虑红色边&#xff0c;有 c 1 c_1 c1​ 个连通分量。只考虑蓝色边&#xf…

[POJ - 1015]Jury Compromise(01背包问题)

[POJ - 1015]Jury Compromise&#xff08;01背包问题&#xff09; 一、问题二、分析1、状态表示2、状态转移3、方案输出 三、代码 一、问题 二、分析 这道题可以转化为一个01背包问题&#xff0c;问题描述可以改为&#xff0c;每个物品具有两个属性 a a a和 b b b&#xff0c;…

3050:Hopscotch(深搜)

(1条消息) POJ 3050 Hopscotch&#xff08;深搜&#xff09;_3050hopscotch_皮皮皮皮皮皮皮卡乒的博客-CSDN博客 #include <iostream> #include<cstring> #include<set> using namespace std; int a[5][5]; int i; set<int> s; int dis[4][2]{0,1,0,-1…

算法提高课第二章多源BFS

有这样一个情景&#xff0c;对于很多源点&#xff0c;求得离他最近的目标的最短路径&#xff0c;称为多源最短路。这时可以创建一个虚拟源点&#xff0c;以边权为0连接所有的源点&#xff0c;这样就把多源最短路转化为了单源最短路 AcWing 173. 矩阵距离 #include <iostrea…

算法提高-图论- 无向图的双连通分量

无向图的双连通分量 无向图的双连通分量桥&#xff08;割边&#xff09;AcWing 395. 冗余路径 割点AcWing 1183. 电力AcWing 396. 矿场搭建 无向图的双连通分量 本篇章的内容我的学习大多已开在算法进阶指南这本书和题解&#xff08;算法进阶指南中有关搜索树的概念解释的特别…

供水管线 码蹄集

题目来源&#xff1a;码蹄集 题目描述&#xff1a; 解决思路&#xff1a; 首先&#xff0c;题目要求我们去掉一些管道&#xff0c;使得总的管道管理费用最小。在去掉部分管道的情况下&#xff0c;城市之间不再形成一个回路&#xff0c;即城市之间构成了一棵树。因此&#xff…

链式存储的直接插入排序

typedef int ElemType; typedef struct Node {ElemType data;struct Node *next; }Node,*LinkList;void insert_sort(LinkList *p, LinkList *new){//创建新链表头结点*new (Node *)malloc(sizeof(Node));(*new)->next NULL;Node *q (*p)->next;while(q){Node *loc,*…

【A*算法——清晰解析 算法逻辑——算法可以应用到哪些题目】例题1.第K短路 例题2.

A*算法 A*算法是什么例题1. 第K短路题意解析 例题2. 八数码 欢迎观看我的博客&#xff0c;如有问题交流&#xff0c;欢迎评论区留言&#xff0c;一定尽快回复&#xff01;&#xff08;大家可以去看我的专栏&#xff0c;是所有文章的目录&#xff09;   文章字体风格&#xff1…

P2233 [HNOI2002]公交车路线

题目描述 在长沙城新建的环城公路上一共有 8 个公交站&#xff0c;分别为 A、B、C、D、E、F、G、H。公共汽车只能够在相邻的两个公交站之间运行&#xff0c;因此你从某一个公交站到另外一个公交站往往要换几次车&#xff0c;例如从公交站 A 到公交站 D&#xff0c;你就至少需要…

算法设计:图论

我们主要学这些&#xff1a; 我们呢先学最短路径&#xff1a; 先学习普通的有向图&#xff0c;可以有负权的。 用屁股想也可以知道&#xff0c;我们首先就要证优化子结构&#xff1a;最优路径包括最优子路径。这个显然不言而喻。 这里要注意一个性质&#xff1a; 这个负圈就是…

Educational Codeforces Round 149 (Rated for Div. 2)

D. Bracket Coloring 链接 题目大意就是给一个括号序列染色以成为漂亮的括号序列 题目大意就是给一个括号序列染色以成为漂亮的括号序列 题目大意就是给一个括号序列染色以成为漂亮的括号序列 题目要求最少染色颜色种类 题目要求最少染色颜色种类 题目要求最少染色颜色种类 …

[Daimayuan] Owwwwwwwwwww...f(C++,强连通分量)

小 A A A地盘上的所有人被从 1 1 1 到 n n n 编号&#xff0c;每个人都有自己传话的对象&#xff0c;第 i i i 个人对第 a i a_i ai​个人传话。 有一天&#xff0c;小 A A A在宫殿的顶部大声喊着 O w f Owf Owf&#xff0c;于是一个有趣的游戏在小 A A A的地盘上开始了。 …

图论与算法(2)图的基本表示

1. 图的分类 &#xff08;1&#xff09; 有向图和无向图&#xff1a; 有向图&#xff08;Directed Graph&#xff09;&#xff1a;图中的边具有方向&#xff0c;表示节点之间的单向关系。无向图&#xff08;Undirected Graph&#xff09;&#xff1a;图中的边没有方向&#x…

D-遗迹探险

牛客小白月赛 72 D 题目链接 链接&#xff1a;https://ac.nowcoder.com/acm/contest/56825/D 来源&#xff1a;牛客网 示例1 输入 3 3 1 2 3 4 5 6 7 8 9 2 2 1 1 3 3 3 1 1 1 3 3 1输出 58 41题解&#xff1a; 如果先不考虑传送门&#xff0c;这题就是一道简单dp 设状态 …

图论支配集、点独立集、点覆盖集

例图&#xff1a; 点支配集&#xff1a;&#xff08;个人理解就是点覆盖所有点&#xff09; 给定无向图G &#xff08;V , E&#xff09;,其中V是点集&#xff0c; E是边集&#xff0c; 称V的一个子集S称为支配集当且仅当对于V-S中任何一个点v, 都有S中的某个点u, 使得(u, v) ∈…

树的数据结构、最小支撑树(上)

树的数据结构、最小支撑树&#xff08;上&#xff09; – 潘登同学的图论笔记 文章目录树的数据结构、最小支撑树&#xff08;上&#xff09; -- 潘登同学的图论笔记无向树二叉树森林无向树理论部分无向树的等价定义支撑树最小支撑树构造最小生成树的算法Prim算法算法实现Krusk…

图论学习加餐部分

加餐部分 – 潘登同学的图论笔记 文章目录加餐部分 -- 潘登同学的图论笔记加餐第一题&#xff1a; 骑士周游问题DFS实现加餐第二题&#xff1a; 词梯问题BFS实现加餐第三题&#xff1a; 强连通分支&#xff08;kosaraju算法&#xff09;加餐第四题&#xff1a; 图的最短路径算法…

网络与流--图论笔记

网络与流 – 潘登同学的图论笔记 文章目录网络与流 -- 潘登同学的图论笔记(算法)Ford-Fulkerson&#xff08;G) (最大流最小割算法)网络与流 假设G&#xff08;V&#xff0c;E&#xff09;G&#xff08;V&#xff0c;E&#xff09;G&#xff08;V&#xff0c;E&#xff09;是一…

图的着色--图论笔记

图的着色 – 潘登同学的图论笔记 文章目录图的着色 -- 潘登同学的图论笔记图的着色 对简单图G的每个顶点赋予一种颜色使得相邻的顶点颜色不同&#xff0c;称图G的一种点着色。对简单图G进行点着色所需的最少颜色数称为G的点色数&#xff0c;记为χ(G)χ(G)χ(G) &#xff08;注…

图的匹配---图论笔记

图的匹配 – 潘登同学的图论笔记 文章目录图的匹配 -- 潘登同学的图论笔记独立数和支配数的关系匹配边覆盖柯尼希给出&#xff1a;二部图中匹配数和最小点覆盖数的相等关系二部图的匹配顶点支配,独立与覆盖 (前提假设,G是没有孤立顶点的简单图) 设G(V,E)G (V,E)G(V,E)是无向简…

图的分类--图论笔记

图的分类 – 潘登同学的图论笔记 文章目录图的分类 -- 潘登同学的图论笔记无向图(我们着重讨论简单图)图的数学语言简单图:不存在自环和重边的无向图在简单图范畴下的其他有特点的图二部图(很经典)有向图图的同构与子图构造子图的几种方法道路、回路与连通性欧拉图(算法)构造欧…

图的数据结构

图的数据结构 – 潘登同学的图论笔记 文章目录图的数据结构 -- 潘登同学的图论笔记节点数据结构图数据结构话不多说 上代码&#xff01;图的邻接表 简化起见 图的邻接矩阵节点数据结构 在数据结构中我们可以知道&#xff0c;图由节点和边构成&#xff0c;那么想实现图的数据结…

邻接表创建图

用C语言或C给出图的邻接表存储结构的定义&#xff0c;并写出输入一个无向图的算法。 typedef struct edgeNode{ //边节点int pos;int value;struct edgeNode *next; }edgeNode;typedef struct vexNode{ //顶点节点int data;edgeNode *firstNode; }Vexs[SIZE];typedef s…

哈夫曼树python实现

HuffmanTree的python实现 – 潘登同学的图论笔记 文章目录HuffmanTree的python实现 -- 潘登同学的图论笔记哈夫曼树构建哈夫曼树的过程树节点实现HuffmanTree实现绘制HuffmanTree测试代码哈夫曼树 当用 n 个结点&#xff08;都做叶子结点且都有各自的权值&#xff09;试图构建…

【算法竞赛模板】拓扑序列

拓扑序列1. 定义2. 例题讲解1. 定义 在图论中&#xff0c;拓扑排序是一个有向无环图的所有顶点的线性序列&#xff0c;且必须满足 ①每个顶点出现且只出现一次 ②若存在一条从顶点 A 到顶点 B 的路径&#xff0c;那么在序列中顶点 A 出现在顶点 B 的前面 写出上图的拓扑排序&a…

C++蓝白点思想Prim算法(最小生成树 - 懒猫老师)

最小生成树Prim算法&#xff08;C蓝白点思想&#xff09;一、知识储备1.图的构造2.蓝白点思想二、代码实现一、知识储备 我们都知道&#xff0c;最小生成树的定义为&#xff1a;是原图的极小连通子图&#xff0c;包含图中所有结点&#xff0c;最重要的是保持图连通最少的边。❤…

最完整+全解析的Floyd算法(C++版)

Floyd算法&#xff08;完整版解决最短路径问题&#xff09;一、Floyd算法简介二、代码部分Graph.h文件代码Graph.cpp文件代码main.cpp文件代码例子展示本文小述&#xff1a;本文运用邻接矩阵构造的是有向图&#xff0c;用邻接矩阵实现Floyd算法&#xff08;有兴趣的话可以自己动…

6-14图-关键路径

关键路径 一.基础知识 1.AOE网&#xff08;Activity On Edge NetWork&#xff09;有向边表示活动的网络 &#xff08;1&#xff09;有向带权 &#xff08;2&#xff09;仅有一个入度为0的顶点&#xff0c;称为开始顶点&#xff08;源点&#xff09;&#xff0c;他表示整个工程…

[邻接表形式]有向图的建立与深度,广度遍历

目录 DirectedGraph类的构成 构造函数 析构函数 深度优先遍历 广度优先遍历 前文回顾: [邻接矩阵形式]无向图的建立与深度,广度遍历_☆迷茫狗子的秘密基地☆-CSDN博客目录MGraph类构造函数深度优先遍历广度优先遍历MGraph类const int N 10;int visit[N]; // 顶点是否被访…

同余(数论)1082同余方程

同余 如果整数a和整数b除以正整数m的余数相等&#xff0c;叫做a&#xff0c;b模m同余&#xff0c;记作a≡b(mod m) 当然有两种理解的方法 1.两个数除以m的余数相同 2.两个数的差是m的倍数 关于同余有很多的性质&#xff1a; 1.自反性&#xff1b;2.对称性&#xff1b;3.传递性…

Dijkstra算法详细(单源最短路径算法)

我们大部分人可能比较了解BFS 和 DFS,对于Dijkstra算法他是图算法结构中解决单源最短路径问题的算法。 大概就是这样一个有权图&#xff0c;Dijkstra算法可以计算任意节点到其他节点的最短路径。&#xff08;单源最短路径问题&#xff09;,Dijkstra算法只能求一个顶点到其他点…

《离散数学》:代数系统和图论导论

一、代数系统 代数系统是数学中的一个重要概念&#xff0c;它涉及一组对象以及定义在这些对象上的运算规则。代数系统可以是抽象的&#xff0c;也可以是具体的。 在抽象代数中&#xff0c;代数系统通常由一组元素和一组操作&#xff08;或称为运算&#xff09;组成。这些操作…

Capter14: Vertex Colourings(点染色)

Capter 14 点染色14.1 色数基本概念贪婪着色算法色数界值有向图的染色14.2 临界图临界图定义在S上一致可分和不可分概念G的{u,v}分支Ⅰ型和Ⅱ型14.3 围长和色数14.1 色数 基本概念 k-点染色&#xff1a; 图G(V,E)G(V,E)G(V,E)的一个k-点染色指从顶点集V(G)到颜色集{1,2…,k}的…

题341.最小生成树扩展-acwing-Q1148--秘密的牛奶运输

文章目录题341.最小生成树扩展-acwing-Q1148--秘密的牛奶运输一、题目二、题解题341.最小生成树扩展-acwing-Q1148–秘密的牛奶运输 一、题目 二、题解 由于牛奶运输往销售点后可由销售点继续运输往其他地方&#xff0c;要你求牛奶运输往各个销售点所需的次最小花费&#xff0c…

题222.2022寒假天梯赛训练-7-11 深入虎穴 (25 分)

文章目录题222.2022寒假天梯赛训练-7-11 深入虎穴 (25 分)一、题目二、题解题222.2022寒假天梯赛训练-7-11 深入虎穴 (25 分) 一、题目 二、题解 要你找最远的那扇门就是bfs到底&#xff0c;然后输出最后一个节点就完事了。要注意的是&#xff0c;开始节点需要你自己去找&#…

最短路径算法:dijkstra与Floyd算法

1、无权图的单源最短路径算法 本质为广度优先搜索算法BFS&#xff0c;在BFS中&#xff0c;原来需要一个布尔变量visited[w]来标记节点是否已经被搜索过了&#xff0c;这里替换为dist[w]&#xff0c;不仅可以标记是否被搜索过&#xff0c;还可以记录最短距离。 /* 无权图的单…

[图论 最短路]dijkstra算法详解

今天给大家讲解dijkstradijkstradijkstra图论最短路算法 在讲解dijkstradijkstradijkstra算法之前,先来给大家讲解一下图论中的松弛操作。 松弛,即relaxtionrelaxtionrelaxtion,是一种编程学术语。 举例说明&#xff0c;例如我们可以从某个机场坐飞机达到若干个机场&#xf…

GDUT_专题三:B - Learning Languages

题目&#xff1a; The "BerCorp" company has got n employees. These employees can use m approved official languages for the formal correspondence. The languages are numbered with integers from 1 to m. For each employee we have the list of language…

最小生成树题单

最小生成树模板 Kruskal #include <stdio.h> #include <iostream> #include <math.h> #include <algorithm>#define scd2(a, b) scanf("%d %d", &a, &b) #define scd3(a, b, c) scanf("%d %d %d", &a, &b, &…

Dijkstra求最短路(常见疑惑解答 + 代码模板)

Dijkstra算法讲解一、概念详解二、算法详解1. 区分情况2. 时间复杂度3. 正负无穷4. 邻接表构造① 为什么会使用数组构造邻接表&#xff1f;② 如何用数组构造邻接表&#xff1f;5. 进行堆优化6. 代码模板苟蒻小白发文&#xff0c;邻接表讲解引用 大佬文章&#xff0c;有任何不足…

spfa最短路径算法模板(C++版带注释)

废话不多说&#xff0c;直接上代码&#xff0c;小白发文&#xff0c;有任何不足欢迎大佬们斧正~v(≧∇≦)&#xff89; SPFA算法简介 该算法是求单源最短路的一种算法&#xff0c;spfa和Dijkstra很像&#xff0c;但spfa可以处理带负权边的图&#xff08;但是不能有负权环&#…

[贪心/二分+kruskal] [JSOI2010]GROUP 部落划分 GROUP

[JSOI2010]GROUP 部落划分 GROUP (nowcoder.com)https://ac.nowcoder.com/acm/problem/20181 题目描述 聪聪研究发现&#xff0c;荒岛野人总是过着群居的生活&#xff0c;但是&#xff0c;并不是整个荒岛上的所有野人都属于同一个部落&#xff0c;野人们总是拉帮结派形成属于…

[拓扑排序+记忆化搜索+bfs/dfs] [HAOI2016]食物链

[HAOI2016]食物链 (nowcoder.com)https://ac.nowcoder.com/acm/problem/20000 目录 题目描述 输入描述: 输出描述: 输入 输出 BFS写法 DFS写法 题目描述 现在给你n个物种和m条能量流动关系&#xff0c;求其中的食物链条数。 物种的名称为从1到n编号 M条能量流动关系…

2104 二进制

2104 二进制 这不就是一个很简单的模拟吗 按照题目进行模拟&#xff0c;然后处理进位啊 这个题我感觉挺简单的 不配做黄题 ‘*2’&#xff1a;在二进制中&#xff0c;乘以2就相当于十进制中的乘以十&#xff0c;只需要将数字右移一位即可&#xff0c;因为我们用字符串来存储直…

5683 道路拆除

5683 道路拆除 这个题也就是最短路径呗&#xff0c;挺好的&#xff0c;我猜猜&#xff0c;首先求一下最短路径然后把不是最短路径的边全部删去 很显然我猜错了 由起点开始到两个终点&#xff0c;很容易理解是最短路 接着想&#xff0c;直接最短路是行不通的&#xff0c;因为我…

1164 小A点菜

1164 小A点菜 这是不是一个完全背包&#xff1f;在花完的钱数下吃最多的饭&#xff0c;肯定是一个背包 这好像是一个01背包 我们首先设f[i][j]表示i个物品在j元的方案数量 所以&#xff0c;我们就有了三个方程&#xff1a; 1.当前的钱数恰好能买一道菜 2.当前的钱数不够买一道…

1137 旅行计划

1137 旅行计划 很明显的暗示&#xff0c;这一个拓扑排序&#xff0c;再加上一个动态规划&#xff0c;这和一开始入门的动态规划很相似&#xff0c;比较水&#xff0c;太水了&#xff0c;就是要进利用拓扑排序将图划分然后利用阶段ij1就可以求出来了&#xff0c;连递推的&#…

【使用Neo4j进行图数据可视化】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

图的单源最短路算法:Bellman-Ford

Bell-Ford算法思想 对一个点的松弛操作&#xff0c;就是找到经过这个点的另外一条路径&#xff08;多走一条边&#xff09;&#xff0c;使得花费的代价更小。 如果一个图没有负权环&#xff0c;从一点到另外一点的最短路径&#xff0c;最多经过所有的V个顶点&#xff0c;有V-1…

《程序设计基础》 第七章 数组 7-34 调查电视节目受欢迎程度 (15 分)

某电视台要调查观众对该台8个栏目&#xff08;设相应栏目编号为1~8&#xff09;的受欢迎情况&#xff0c;共调查了n位观众&#xff08;1≤n≤1000&#xff09;&#xff0c;现要求编写程序&#xff0c;输入每一位观众的投票情况&#xff08;每位观众只能选择一个最喜欢的栏目投票…

《程序设计基础》 第五章 函数 例题5-3 使用函数判断完全平方数 (10 分)

本题要求实现一个判断整数是否为完全平方数的简单函数。 函数接口定义&#xff1a; int IsSquare( int n ); 其中n是用户传入的参数&#xff0c;在长整型范围内。如果n是完全平方数&#xff0c;则函数IsSquare必须返回1&#xff0c;否则返回0。 裁判测试程序样例&#xff1…

无向图中最小生成树的解决办法(1) ----- Prim算法

什么是最小生成树&#xff1f; 对于n个顶点构成的通信网&#xff0c;通信网可以构建许多不同的生成树&#xff0c;每一颗生成树都是一个通信网。我们现在要在该通信网中找到一颗生成树&#xff0c;该生成树连接所有顶点&#xff0c;且总花费最小。这样的生成树即称为最小生成树…

1003 Emergency

题目来源&#xff1a;PAT (Advanced Level) Practice As an emergency rescue team leader of a city, you are given a special map of your country. The map shows several scattered cities connected by some roads. Amount of rescue teams in each city and the length…

树和图的dfs和bfs概念

1.深度优先遍历每搜一次就进入递归调用自身 2.宽度优先遍历没有进行递归也就是一直搜索当前节点能到达的下一层节点直到节点搜索完时再搜索下一节点 使用邻接表 遍历&#xff1a;每个点只会被遍历一次 1.深度优先遍历。 尽可能往深了搜&#xff0c;当触底时回溯&#xff0c;…

GA遗传算法解决经典TSP问题

遗传算法 遗传算法&#xff08;Genetic Algorithm&#xff09;是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型&#xff0c;是一种通过模拟自然进化过程搜索最优解的方法。遗传算法是从代表问题可能潜在的解集的一个种群&#xff08;population&#xf…

ACM图论算法—邮递员投递问题

题目描述 著名图论问题之一。邮递员从邮局出发送信&#xff0c;要求对辖区内每条街&#xff0c;都至少通过一次&#xff0c;再回邮局。在此条件下&#xff0c;怎样选择一条最短路线&#xff1f;此问题由中国数学家管梅谷于1960年首先研究并给出算法&#xff0c;故名。 中国邮…

数据结构 图形化_图形在数据结构中的表示

数据结构 图形化What you will learn? 您将学到什么&#xff1f; In this article we are going to study how graph is being represented? 在本文中&#xff0c;我们将研究图形如何表示 &#xff1f; Following is an undirected graph, 以下是无向图&#xff0c; We ca…

《程序设计基础》 第四章 循环结构 7-30 梅森数 (20 分)

形如2n−1的素数称为梅森数&#xff08;Mersenne Number&#xff09;。例如22−13、23−17都是梅森数。1722年&#xff0c;双目失明的瑞士数学大师欧拉证明了231−12147483647是一个素数&#xff0c;堪称当时世界上“已知最大素数”的一个记录。 本题要求编写程序&#xff0c;…

P4355 [CERC2015] Kernel Knights

P4355 [CERC2015] Kernel Knights 题面翻译: 骑术是一项中世纪的比赛&#xff0c;人们骑在马背上&#xff0c;在高速骑行时&#xff0c;试图用木制长矛互相攻击。总共有2n个骑士参加了一个激战锦标赛——来自两个主要竞争对手的N个骑士。到达后&#xff0c;每一个骑士都从另一…

GDUT_专题三:G-食物链 【图论】【类拓扑】【记忆化搜索】

题目链接 题目大意&#xff1a; 现在给你 n 个物种和 m 条能量流动关系&#xff0c;求其中的食物链条数。 思路分析&#xff1a; 由题目给出的数据范围与数据给出的关系&#xff0c;我们可以考虑邻接表建图&#xff0c;而对于一条食物链而言&#xff0c;我们需要找到生产者&…

图论——邻接矩阵

文章目录图论——邻接矩阵声明图的邻接矩阵代码实现复杂度分析图论——邻接矩阵 声明 本小节针对的图是简单无向无权图&#xff0c;对于图的基本知识&#xff0c;例如什么是简单图&#xff0c;请自行百度。 图的邻接矩阵 对于上图的邻接矩阵A如下 0 1 1 0 1 0 0 1 1 0 0 1 …

7.2 POJ深搜广搜刷题记录(未完)

1321:棋盘问题 #include<cstring> #include<iostream> using namespace std; int a[10],n,k,first; int sum; char map[10][10]; //行由x控制&#xff0c;列由for循环里面的j控制 void dfs(int x,int step){int j;if(step0){ //满足临界条件&#xff0c;即已经遍…

CSP 202104-5 exgcd+Dijkstra

疫苗运输 题意 样例说明 Input 5 2 3 1 100 2 100 3 100 3 3 100 4 100 5 100 Output 100 200 inf infInput 5 3 3 1 100 2 100 3 100 3 3 100 4 100 5 100 2 3 125 5 125 Output 100 200 1600 625搞懂题意看懂样例first&#xff0c;今天早上有点点…不清醒…顺样例的时候发现…

并查集——你一看就明白就会用

本文分成两个部分&#xff0c;第一部分是基础知识&#xff0c;这一块这篇文章就讲得非常好了&#xff0c;生动有趣又简单易懂&#xff0c;是我见过的最好的算法解说博文。既然它已经做到最好&#xff0c;我就没必要做重复的事情了&#xff0c;就在这里给大家点一个方向。 我要…

图论——二分图检测

文章目录图论——二分图检测问题分析代码图论——二分图检测 问题分析 什么是二分图&#xff0c;二分图的定义太过于晦涩&#xff0c;我们可以这么做&#xff0c;如果对于一张图&#xff0c;用黑白两个颜色给顶点染色&#xff0c;要求相邻顶点颜色不同&#xff0c;最终可以完…

图论——环检测

文章目录图论——环检测问题分析代码图论——环检测 问题分析 检测上图是否有环其实也相当简单&#xff0c;只要dfs的过程发现某个顶点的邻接顶点已经访问过了&#xff0c;就说明有环&#xff0c;除此之外&#xff0c;还要排除一种情况&#xff0c;如下&#xff1a; 例如从0开…

支配树(Dominator Tree)学习笔记

因为是学习笔记所以是边学边写&#xff0c;以防自己到时候忘掉了w 一些定义和性质 首先&#xff0c;支配树是一棵树&#xff08;废话&#xff09;&#xff0c;用来求解必经点问题。 即求一个有向图中以r为根到达每一个点的必经点。 树中每一个点x的父亲为idom(x)&#xff0…

图论——单源路径问题

文章目录图论——单源路径问题问题分析代码指定终点代码图论——单源路径问题 问题分析 对于本小节&#xff0c;我们只讨论简单无向无权图的单源路径问题。 单源路径是指从某个给定顶点出发找到一条路径到其他顶点&#xff0c;其实在dfs或者bfs的过程中我们已经遍历了每个顶…

图论——邻接表HashSet,TreeSet存储

文章目录图论——邻接表HashSet,TreeSet存储前言HashSetTreeSet图论——邻接表HashSet,TreeSet存储 前言 上一小节已经说过邻接表了&#xff0c;用的是LinkedList数组存储&#xff0c;这一小节用另外两个数据结构。 HashSet性能最高&#xff0c;但是集合中元素无序 TreeSet性…

图论——邻接表

文章目录图论——邻接表邻接表表示代码复杂度分析图论——邻接表 邻接表表示 对于上图的邻接表如下 0&#xff1a;1->2 意思是顶点0保持着一个链表&#xff0c;链表里存放顶点0的邻接顶点 1&#xff1a;0->3 意思是顶点1保持着一个链表&#xff0c;链表里存放顶点1的…

HNU数据结构与算法分析-作业4-图结构

1. (简答题) 【应用题】11.3 &#xff08;a&#xff09;画出所示图的相邻矩阵表示 &#xff08;b&#xff09;画出所示图的邻接表表示 &#xff08;c&#xff09;如果每一个指针需要4字节&#xff0c;每一项顶点的标号占用2字节&#xff0c;每一条边的权需要2字节&#xff0…

C语言:L2-024 部落 (25 分) —— 并查集

文章目录一、题目二、方法11、思路2、代码一、题目 在一个社区里&#xff0c;每个人都有自己的小圈子&#xff0c;还可能同时属于很多不同的朋友圈。我们认为朋友的朋友都算在一个部落里&#xff0c;于是要请你统计一下&#xff0c;在一个给定社区中&#xff0c;到底有多少个互…

C语言:L2-020 功夫传人 (25 分)

文章目录一、题目二、方法11、思路2、代码一、题目 一门武功能否传承久远并被发扬光大&#xff0c;是要看缘分的。一般来说&#xff0c;师傅传授给徒弟的武功总要打个折扣&#xff0c;于是越往后传&#xff0c;弟子们的功夫就越弱…… 直到某一支的某一代突然出现一个天分特别高…

C语言:L2-013 红色警报 (25 分) — 并查集

文章目录一、题目二、方法11、思路2、代码一、题目 战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序&#xff0c;当失去一个城市导致国家被分裂为多个无法连通的区域时&#xff0c;就发出红色警报。注意&#xff1a;若该国本来就不完全连通&#xff0c;是分…

C语言:L1-080 乘法口诀数列 (20 分)

文章目录一、题目二、方法11、思路2、代码一、题目 本题要求你从任意给定的两个 1 位数字 a1 和 a2 开始&#xff0c;用乘法口诀生成一个数列 {an}&#xff0c;规则为从 a1 开始顺次进行&#xff0c;每次将当前数字与后面一个数字相乘&#xff0c;将结果贴在数列末尾。如果结果…

C语言:L1-025 正整数A+B (15 分)

文章目录一、题目二、方法11、思路2、代码一、题目 题的目标很简单&#xff0c;就是求两个正整数A和B的和&#xff0c;其中A和B都在区间[1,1000]。稍微有点麻烦的是&#xff0c;输入并不保证是两个正整数。 输入格式&#xff1a; 输入在一行给出A和B&#xff0c;其间以空格分开…

C语言:L1-017 到底有多二 (15 分)

文章目录一、题目二、方法11、思路2、代码一、题目 一个整数“犯二的程度”定义为该数字中包含2的个数与其位数的比值。如果这个数是负数&#xff0c;则程度增加0.5倍&#xff1b;如果还是个偶数&#xff0c;则再增加1倍。例如数字-13142223336是个11位数&#xff0c;其中有3个…

C语言:L1-013 计算阶乘和 (10 分)

文章目录一、题目二、方法11、思路2、代码一、题目 对于给定的正整数N&#xff0c;需要你计算 S1!2!3!…N!。 输入格式&#xff1a; 输入在一行中给出一个不超过10的正整数N。 输出格式&#xff1a; 在一行中输出S的值。 输入样例&#xff1a; 3 输出样例&#xff1a; 9 二、方…

C语言:L1-012 计算指数 (5 分)

文章目录一、题目二、方法11、代码一、题目 真的没骗你&#xff0c;这道才是简单题 —— 对任意给定的不超过 10 的正整数 n&#xff0c;要求你输出 2n。不难吧&#xff1f; 输入格式&#xff1a; 输入在一行中给出一个不超过 10 的正整数 n。 输出格式&#xff1a; 在一行中按…

116. 填充每个节点的下一个右侧节点指针——广度搜索、队列

方法一 使用队列 class Solution { public:Node* connect(Node* root) {if(!root)return root;queue<Node*> que;Node* ptr root;que.push(root);while(!que.empty()){int size que.size();Node *left que.front(); //先获取每层最左侧的节点if(left -> left) …

2016icpc大连站k题

2016icpc大连站k题题目描述代码题目描述 附上链接 题目基本意思就是&#xff1a; AAA在[L,R][L, R][L,R]之间随机选取一个数XXX&#xff0c;之后BBB来猜这个数&#xff0c;如果猜的数比XXX小&#xff0c;那么AAA就告诉BBB猜小了&#xff0c;如果猜的数大于XXX&#xff0c;那么…

(2022.1.25)训练:2021icpc沈阳站

&#xff08;2022.1.25&#xff09;训练&#xff1a;icpc沈阳站总体题目B代码题目E代码题目F代码题目J代码题目M代码总体 这一次的训练赛整体上来说比起上一次的训练要好上很多&#xff0c;可能是因为上一周的训练让状态多少找回来一点&#xff0c;不过进步的空间还是很大。以…

第四章--无向图深度优先搜索算法

public class DepthFirstPaths {private boolean marked[];// 用于存放被标记过的顶点private int edgeTo[];// 数组内的元素表示某顶点&#xff0c;其索引表示某顶点的相邻顶点。private final int s;// 起点private int count;// 已遍历顶点的数量public DepthFirstPaths(Gra…

Floyd有向网最短路径解析

Floyd相比起Dijkstra&#xff0c;找任意两点最短距离更加方便。然而时间复杂度也会更高&#xff0c;为O(n3)O(n^3)O(n3)。 下面用几张图描述算法实现具体过程 首先是一张有向网 初始化邻接矩阵A−1A_{-1}A−1​&#xff0c;不直接相连的两点之间权值无穷大&#xff0c;顶点到…

图的存储 和 DFS / BFS遍历

有向图&#xff1a;所有边都有方向 无向图&#xff1a;所有边都是双向的 入度&#xff1a;有向图顶点的入边条数 出度&#xff1a;有向图顶点的出边条数 图的存储&#xff1a; 邻接矩阵存储邻接表 单链表 &#xff08;每个点都开一个单链表&#xff09; 同一个顶点的所有出边…

【题目记录】——2021CCPC新疆省赛

文章目录A balloonB sophistryC bombD xsum题目集地址 2021CCPC新疆省赛A balloon 题目大意:n个孩子分别可以跳到h的高度&#xff0c;m个气球每个有一个位置&#xff08;高度&#xff09;&#xff0c;孩子起跳拿走所有能摸到的气球&#xff0c;孩子按照起跳高度从低到高依次起…

Android Studio 中系统内置文件位置

关于R文件 我们在使用Android Studio的时候&#xff0c;会用到一些布局文件&#xff0c;对于我们自定义的布局文件&#xff0c;引用的时候就直接R.layout.name即可&#xff0c;这个R文件是资源标识的统一管理文件&#xff0c;后来这个R文件隐藏的越来越深&#xff0c;我找了一…

单词接龙-图论127-python

本题要求的是最短转换序列的长度&#xff0c;看到最短首先想到的就是广度优先搜索。想到广度优先搜索自然而然的就能想到图&#xff0c;但是本题并没有直截了当的给出图的模型&#xff0c;因此需要按照题意把它抽象成图的模型。 class Solution:def ladderLength(self, beginW…

【题目记录】——Codeforces Round #744 (Div. 3)

文章目录A Casimirs String Solitaire 简单题字符串B Shifting Sort 思维模拟C Ticks 思维模拟题目集地址 Codeforces Round #744 (Div. 3)A Casimir’s String Solitaire 简单题字符串 题目地址A Casimir’s String Solitaire 题目大意&#xff1a;给一个字符串只含有A&#…

【算法与数据结构】——动态规划(1)

经典01背包问题 一共有N件物品&#xff0c;第i&#xff08;i从1开始&#xff09;件物品的重量为w[i]&#xff0c;价值为v[i]。在总重量不超过背包承载上限W的情况下&#xff0c;能够装入背包的最大价值是多少&#xff1f; dp[i][j]表示将前i件物品装进限重为j的背包可以获得的…

各大Oj经典图论500题

以下是最小生成树并查集 【HDU】 *1213 How Many Tables 基础并查集★ *1272 小希的迷宫 基础并查集★ *1325&&poj1308 Is It A Tree? 基础并查集★ *1856 More is better 基础并查集★ *11…

1030 Travel Plan

题目来源&#xff1a;PAT (Advanced Level) Practice A travelers map gives the distances between cities along the highways, together with the cost of each highway. Now you are supposed to write a program to help a traveler to decide the shortest path between…

1072 Gas Station

题目来源&#xff1a;PAT (Advanced Level) Practice A gas station has to be built at such a location that the minimum distance between the station and any of the residential housing is as far away as possible. However it must guarantee that all the houses a…

CSP 201909-5 城市规划 暴力前20分

原题链接&#xff1a;CSP 201909-5 城市规划 暴力前20分 #include <bits/stdc.h> using namespace std; #define ll long long const int INF1e8; int big[2020];struct node {int v;int w;node(int _v,int _w){v_v;w_w;} };vector<node> g[2010]; int vis[2010];…

根据字符出现的频率构造哈夫曼编码

例&#xff1a;要传输的字符集D{C&#xff0c;A&#xff0c;S&#xff0c;T&#xff0c;&#xff1b;}&#xff0c;字符出现频率分别为w{2&#xff0c;4&#xff0c;2&#xff0c;3&#xff0c;3}&#xff0c;写出其哈夫曼编码。 方法&#xff1a; 第一步&#xff1a;将每个字符…

最大流与最小费用最大流简略版)

1.最大流 由源点sss到汇点ttt的最大流量。 图的最大流≤\leq≤将图进行割边的流量(任意割) 证明最大流等于最小割: 简略版) 对于一张图网络&#xff0c;假设开始是一个连通图且源点sss和汇点ttt都在一个集合里&#xff0c;设图网络的最大流为FFF&#xff0c;那么FFF等于从源…

PAT 甲 1030 Travel Plan Dijkstra+DFS 算法

2022.2.13 练习 PAT 甲 1030 Travel Plan &#xff08;原题链接&#xff09; 题解一&#xff1a; #include <bits/stdc.h> using namespace std; const int MAX_NUM510; const int INF0x3fffffff; int n,m,s,D;int d[MAX_NUM];//起点到各点的最短路径长度 int visit[MA…

MATLAB - 梯度可视化

1、梯度&#xff08;gradugradugradu或∇u\nabla u∇u&#xff09; 1&#xff09;概念&#xff1a; ∇ue⃗l∂u∂l∣max⁡\nabla u\left.\vec{e}_{l} \frac{\partial u}{\partial l}\right|_{\max }∇uel​∂l∂u​∣∣∣∣​max​ 2&#xff09;意义&#xff1a;描述标量场在…

割点(模板)

dfnxdfn_xdfnx​表示访问到xxx点的标号 lowxlow_xlowx​表示指向以xxx点能够往之前走到点的最远的点 割点的点的必须同时满足性质否则不为割点: 1.去掉改点后图被分成两个连通图 2.以该割点为根的孩子数至少为2 3.缩点后若dfn[x]<low[y](y为x孩子) #include <bits/stdc.h…

L1-057 PTA使我精神焕发 (5 分)

L1-057 PTA使我精神焕发 (5 分) 以上是湖北经济学院同学的大作。本题就请你用汉语拼音输出这句话。 输入格式&#xff1a; 本题没有输入。 输出格式&#xff1a; 在一行中按照样例输出&#xff0c;以惊叹号结尾。 输入样例&#xff1a; 无输出样例&#xff1a; PTA shi3 w…

节点,枝,根,叶,度,层/深度/高度,双亲/孩子/兄弟,祖先/后代,森林

建立了图&#xff08;graph&#xff09;的认识&#xff0c;“树”就好理解了。“树”是一种很特别的图&#xff08;graph&#xff09;。用图来定义“树”&#xff1a;任意2点之间都连通&#xff0c;并且没有“环”的图。下面的图就是一颗树&#xff0c;因此&#xff0c;树是图的…

三元环计数

三元环计数就是考试的时候整了一个这个科技&#xff0c;我没想出来&#xff0c;然后无了… 具体来说就是计算图中三元团的个数。 有一个 O(mm)O(m\sqrt m)O(mm​) 的算法&#xff1a; 让度数大的点连接度数小的点。枚举每个点并将其相邻的点记录匹配点为当前点 iii。枚举当前…

图论基础(邻接矩阵,邻接表,深度优先遍历,连通分量)的实现

DenseGraph.h.表示邻接矩阵实现的图&#xff0c;一般邻接矩阵用于较为稠密的图 #ifndef DenseGraph_h #define DenseGraph_h#include <iostream> #include <vector> #include <cassert>using namespace std; //稠密图 --邻接矩阵 class DenseGraph { privat…

【GDOI2006】拯救亚特兰蒂斯

题目大意&数据范围 &#xff08;绝对不是懒得打才放图的qwq&#xff09; 思路 题目中说明每一种怪物都是有且只有一种对应的剑术和法术&#xff0c;所以当一种怪物没有所对应的剑术或法术时&#xff0c;直接判断无解即可。 自然&#xff0c;如果满足以上条件的话&#x…

《Graph Representation Learning》笔记 Chapter2

目录节点特征node degreenode centrality集聚系数 The clustering coefficient图特征Weisfieler-Lehman kernel邻域重叠检测 Neighborhood Overlap Detection局部重叠度量 Local overlap measure全局重叠度量 Global overlap measureKate indexLeicht, Holme, and Newman(LHN) …

浅谈欧拉路径,欧拉回路,以及有向图欧拉回路的计数

浅谈欧拉路径&#xff0c;欧拉回路文章目录引入欧拉图欧拉路径定义&#xff1a;无向图有向图欧拉回路定义无向图有向图具体实现套路字典序要求拆点成边Best 定理限制具体部分例题引入 前有哈密顿路径&#xff0c;表示经过每个点恰好一次&#xff0c;现有欧拉路径&#xff0c;表…

【GDKOI2006】新红黑树

题目大意 给出 nnn 条边的左右端点和边的颜色(111 或 −1-1−1)和权值 www&#xff0c;边组成一棵树&#xff0c;根节点为 000&#xff0c;有 A,BA,BA,B 二人轮流删边&#xff0c;AAA 只能删掉颜色为 111 的边&#xff0c; BBB 只能删掉颜色为 −1-1−1 的边&#xff0c;若一条…

字典树与双数组字典树

树的节点代表集合 树的边代表关系 字典树代码 查找代码 #include<iostream> #include<cstdio> #include<queue> #include<stack> #include<algorithm> #include<string> #include<map> #include<set> #include<vector&g…

C++基础图论算法大集合 (图论,看我就行了)

图论搜索技术深度优先搜索 &#xff08;应用——求重心&#xff09;广度优先搜索 &#xff08;应用——图中的层次遍历&#xff09;有向图的拓扑排序最短路问题Dijkstra算法&#xff08;朴素版&#xff09;Dijkstra算法 &#xff08;堆优化&#xff09;bellman_ford算法spfa算法…

树的简单理解

文章目录简介树存储结构的实现二叉树基本定义性质二叉树的树实现二叉树的遍历简介 树是一种树是一种非线性数据结构&#xff0c;所谓非线性数据结构&#xff0c;是指可以元素之间的关系可以一对多或多对一&#xff0c;多对多的数据结构。树是一种典型的非线性数据结构&#xf…

1月14日总结--搜索

题目描述 有一个 n \times mnm 的棋盘&#xff0c;在某个点 上有一个马&#xff0c;要求你计算出马到达棋盘上任意一个点最少要走几步。 输入格式 输入只有一行四个整数&#xff0c;分别为 n, m, x, y。 输出格式 一个 nm 的矩阵&#xff0c;代表马到达某个点最少要走几步…

CF938D Buy a Ticket 题解 C++

CF938D Buy a Ticket 题解 文章目录CF938D Buy a Ticket 题解题目大意思路虚拟源点细节代码题目大意 题目传送门 给定n个点&#xff0c;m条边&#xff0c;点权与边权告诉你&#xff0c;你要输出n个数&#xff0c;第i个数表示以i为起点&#xff0c;以任意一点为终点的最短路*2终…

算法——最大流

最大流洛谷P1418——构造矩阵1、建图2、解题步骤洛谷P6054——开门大吉建图毒瘤洛谷P1418——构造矩阵 洛谷P1418 使用最大流搜索出是否有解。 1、建图 首先&#xff0c;需要图化二维矩阵&#xff0c;将二维矩阵的所有行和列&#xff0c;转化成图的结点&#xff0c;即每行都…

记PAT A1003题解题过程

这是题目&#xff0c;给各位翻译一下。现有一个城市群。每个城市都有自己的救援力量&#xff0c;每个城市之间的路途距离也有给出。现在你作为区域的救援队长&#xff0c;一旦出现紧急情况。你需要在最短的距离赶到救援现场&#xff0c;并尽可能从途中带走更多的救援力量到达救…

点的距离(LCA)

试题描述 给定一棵有n个结点的树&#xff0c;Q 个询问&#xff0c;每次询问点x到点y两点之间的距离。 输入 第一行一个n&#xff0c;表示这棵树有n个结点。接下来n−1行&#xff0c;每行两个整数x,y表示x,y之间有一条连边。然后一个整数Q&#xff0c;表示有Q个询问&#xff0c;…

冗余连接-并查集684-python

并查集问题&#xff0c;在find和union函数的构造参考并查集的模板&#xff0c;same函数用于找到问题的答案。 class Solution:def findRedundantConnection(self, edges: List[List[int]]) -> List[int]:n len(edges)parent [0] * n # 祖先数组&#xff1a;用于记录每一个…

Boruvka 最小生成树算法

P3366 【模板】最小生成树 这个算法就是考虑每一次合并 nnn 个联通块&#xff0c;变成 n2\frac{n}{2}2n​ 个。所以总共合并的次数是 log⁡2n\log_2 nlog2​n 次。 我们还是使用并查集来维护每一个联通块&#xff0c;这个算法的好处就是因为其合并次数是 log⁡n\log nlogn 级…

2021天梯赛训练-6——7-9 红色警报 (25分)

战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序&#xff0c;当失去一个城市导致国家被分裂为多个无法连通的区域时&#xff0c;就发出红色警报。注意&#xff1a;若该国本来就不完全连通&#xff0c;是分裂的k个区域&#xff0c;而失去一个城市并不改变其他…

2021天梯赛训练-6——7-10 功夫传人 (25分)

一门武功能否传承久远并被发扬光大&#xff0c;是要看缘分的。一般来说&#xff0c;师傅传授给徒弟的武功总要打个折扣&#xff0c;于是越往后传&#xff0c;弟子们的功夫就越弱…… 直到某一支的某一代突然出现一个天分特别高的弟子&#xff08;或者是吃到了灵丹、挖到了特别的…

拓扑序列(拓扑排序)

文章目录摘要什么是拓扑序列拓扑序的求法摘要 本文主要介绍拓扑序列&#xff0c;和求解拓扑序列的方法。 什么是拓扑序列 拓扑序列是对于有向图而言的&#xff0c;有向图的拓扑序是其顶点的线性排序&#xff0c;使得对于从顶点uuu 到顶点vvv的每个有向边uvuvuv&#xff0c; …

2021天梯赛训练-2——7-9 分而治之 (25分)

分而治之&#xff0c;各个击破是兵家常用的策略之一。在战争中&#xff0c;我们希望首先攻下敌方的部分城市&#xff0c;使其剩余的城市变成孤立无援&#xff0c;然后再分头各个击破。为此参谋部提供了若干打击方案。本题就请你编写程序&#xff0c;判断每个方案的可行性。 输…

最短路问题的五种算法

单元最短路和多源汇最短路的适用算法摘要单源最短路&#xff1a; 一个点到其他点的最短路。多源汇最短路&#xff1a; 任意两点间的最短路。图的存储方式朴素Dijkstra堆优化DijkstraBellman-Ford求总路径条数不多于K条的最短路径SPFA堆优化Dijkstra和SPFA的区别和优缺点用SPFA判…

算法与数据结构--图论基础知识

1、图论基础概念 Graph Theory 图 &#xff1a;是由由 节点 和 边 组成的数据模型&#xff0c;它有两个重要部分 1、节点2、边 节点是两个村&#xff0c; 边表示两个村直接连通的道路 或者节点是人&#xff0c; 边表示人与人之间的关系。 点是一个域名&#xff0c; 边是域名之…

代码随想录额外题目——图论部分

记录一下代码随想录中额外题目的图论部分 841.钥匙和房间 有 n 个房间&#xff0c;房间按从 0 到 n - 1 编号。最初&#xff0c;除 0 号房间外的其余所有房间都被锁住。你的目标是进入所有的房间。然而&#xff0c;你不能在没有获得钥匙的时候进入锁住的房间。 当你进入一个…

冗余连接II-并查集685-python

并查集的应用&#xff0c;分为存在\不存在入度为&#xff12;的顶点两种情况讨论。 附加的边指向根节点&#xff0c;则包括根节点在内的每个节点都有一个父节点&#xff0c;此时图中一定有环路&#xff1b;附加的边指向非根节点&#xff0c;则恰好有一个节点&#xff08;即被附…

数据结构C++——图的邻接矩阵和邻接表

数据结构C——图的邻接矩阵和邻接表 文章目录数据结构C——图的邻接矩阵和邻接表一、图的介绍及概念二、图的邻接矩阵①邻接矩阵的存储结构②邻接矩阵表示法创建无向网③LocateVex()函数的代码实现④打印邻接矩阵⑤测试的完整代码⑥邻接矩阵的优缺点分析二、图的邻接表①邻接表…

第三章 搜索与图论(一)——深搜,广搜,图的存储与拓扑序列

文章目录 深度优先搜索广度优先搜索树和图的存储图的深搜 拓扑序深搜练习题842. 排列数字843. n-皇后问题 广搜练习题844. 走迷宫845. 八数码 树和图的存储与遍历练习题846. 树的重心847. 图中点的层次 拓扑序练习题848. 有向图的拓扑序列 深度优先搜索 数据结构&#xff1a; …

Kruskal算法,最小生成树,c/c++描述

感谢bilibili懒猫老师和小甲鱼老师的讲解。   图的最小生成树&#xff0c;是图的最小连通子图。前面我们讲了Prim算法&#xff0c;其依据的核心定理是&#xff1a;把图里顶点分成两个集合&#xff0c;连接这两个集合的边中&#xff0c;权值最小的边一定在最小生成树MST里&…

最小生成树-prim算法

#include<cstdio> #include<map> #include<iostream> #include<algorithm> #include<queue> using namespace std; const int inf 0x3f3f3f3f; int n, m, graph[66][66], vis[66], dis[66];//dis表示当前顶点i离生成树最近距离 int sum 0; voi…

最短路径-Dijkstra算法

#include<cstdio> #include<map> #include<iostream> #include<algorithm> #include<queue> using namespace std; const int inf 0x3f3f3f3f; int n, m; int graph[66][66],vis[66],dis[66]; void dijkstra(int s)//s表示源点 {memset(vis, 0,…

算法——图的最小生成树

引言 本文整理了常见的图最小生成树相关算法&#xff0c;方便以后查阅。更多相关文章和其他文章均收录于贝贝猫的文章目录。 Kruskal package bbm.graph;import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; import java.util.LinkedList; im…

[Hnoi2014]世界树

首先明显是个虚树&#xff0c;这不多说了。 然后考虑虚树上怎么做这个东西。 类比一下&#xff0c;抽象成每个关键点有个人在跑&#xff0c;看谁跑的快那个点是谁的。 首先虚树叶子的子树肯定归这个节点管。进一步的&#xff0c;每个点的儿子子树如果不在虚树上&#xff0c;…

convert time-24小时制转换为12小时制

convert time-24小时制转换为12小时制&#xff0c;允许重复计算&#xff1a;//convert time #include<iostream>using namespace std;void get_time(int& hours,int& minutes); void convert_time(int& hours,char& ampm); void show_time(int hours,int…

第三章 图论 No.10无向图的双连通分量

文章目录 定义Tarjan求e-DCCTarjan求v-DCC395. 冗余路径1183. 电力396. 矿场搭建 定义 无向图有两种双连通分量 边双连通分量&#xff0c;e-DCC点双连通分量&#xff0c;v-DCC 桥&#xff1a;删除这条无向边后&#xff0c;图变得不连通&#xff0c;这条边被称为桥 边双连通分…

第12周算法题

第12周算法题 A — 过山车 题目 RPG girls今天和大家一起去游乐场玩&#xff0c;终于可以坐上梦寐以求的过山车了。可是&#xff0c;过山车的每一排只有两个座位&#xff0c;而且还有条不成文的规矩&#xff0c;就是每个女生必须找个个男生做partner和她同坐。但是&#xff0…

PTA:5-3 找鞍点 (17 分)

PTA&#xff1a;5-3 找鞍点 (17 分) 题目&#xff1a; 一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。本题要求编写程序&#xff0c;求一个给定的n阶方阵的鞍点。 输入格式&#xff1a; 输入第一行给出一个正整数n&#xff08;1≤n≤6&#xff09;。…

什么是拓扑排序

在图论中&#xff0c;拓扑排序是一个有向无环图&#xff08;DAG, Directed Acyclic Graph&#xff09;的所有顶点的线性序列。且该序列必须满足下面两个条件&#xff1a; 每个顶点出现且只出现一次。若存在一条从顶点 A 到顶点 B 的路径&#xff0c;那么在序列中顶点 A 出现在…

题目:售货员的难题(状压dp)

售货员的难题 题目描述输入输出格式输入格式&#xff1a;输出格式&#xff1a; 输入输出样例输入样例#1&#xff1a;输出样例#1&#xff1a; 思路AC代码&#xff1a; 题目描述 某乡有n个村庄( 1 < n < 16 )&#xff0c;有一个售货员&#xff0c;他要到各个村庄去售货&am…

C语言-图的存储结构(邻接矩阵)

查找函数&#xff08;LocateVex查找坐标&#xff09;构建有向图&#xff08;Directed Graph&#xff09;构建无向图&#xff08;Undirected Graph&#xff09;构建有向网&#xff08;Directed Network&#xff09;构建无向网&#xff08;Undirected Network&#xff09;图的类型…

数据结构-图篇(更新中)

1、图的定义即基本概念 (1)相关术语及定义&#xff1b; 图是由顶点(vertex)集合及顶点间的关系(edge)组成的一种数据结构。Graph(V,E) 其中&#xff0c;顶点集合 V{x|x∈某个对象数据集}V{x|x∈某个对象数据集} 是有穷非空集合&#xff1b; E{(x,y)|x,y∈V}E{(x,y)|x,y∈V} 是…

#816 Div2E. Long Way Home 斜率优化dp

E. Long Way Home 斜率优化dp&#xff0c;dijkstra 题意 给定一个 nnn 个点&#xff0c; mmm 条边的带权无向图&#xff0c;边形如 <u,v,w><u, v, w><u,v,w> &#xff0c;起点为 111 。可以乘坐至多 kkk 次飞机&#xff0c;从 uuu 到 vvv &#xff0c;距离…

leetcode 2097 — 合法重新排列数对

leetcode 2097 — 合法重新排列数对一、题目描述二、分析三、算法1、欧拉通路&#xff08;1&#xff09;实现&#xff08;2&#xff09;优化2、实现一、题目描述 二、分析 不难发现&#xff0c;这个问题其实就是将不同的数字作为图中的顶点&#xff0c;将所有 pair 的头尾相连…

普里姆算法_最小代价生成树_邻接矩阵表示法

基本思想&#xff1a; 最小生成树问题的概念—普里姆算法是从点的角度来解决。若在解决问题过程中需要遍历图的所有点&#xff0c;则普里姆算法更好。 普里姆算法更像构建一棵树。联想我们构建二叉树的过程&#xff0c;从根节点出发&#xff0c;构建左右子树&#xff0c;再以左…

蓝桥杯之图论、广度优先、深度优先

图的表示、图的遍历[7.1 深度优先]求连通性给定一个方阵&#xff0c;定义连通&#xff1a;上下左右相邻&#xff0c;并且值相同。 可以想象成一张地图&#xff0c;不同的区域被涂以不同颜色。 输入&#xff1a; 整数N, (N<50)表示矩阵的行列数 接下来N行&#xff0c;每行N个…

拓扑排序(图)

拓扑排序原理&#xff08;本质是图&#xff09;&#xff1a; 用顶点表示活动的网络 (AOV网络) DFS的逆序就是拓扑排序&#xff08;邓俊辉mooc有&#xff09;&#xff0c;由0出度的点依次放入栈中&#xff0c;然后栈的输出就是拓扑排序 计划、施工过程、生产流程、程序流程等…

算法--递归

NO.1 递归实现指数型枚举 从 1∼n 这 n 个整数中随机选取任意多个&#xff0c;输出所有可能的选择方案。 输入格式 输入一个整数 n 输出格式 每行输出一种方案。 同一行内的数必须升序排列&#xff0c;相邻两个数用恰好 1 个空格隔开。 对于没有选任何数的方案&#xff0c;输出…

图---->最小生成树 ( minimum cost spanning tree )

使用不同的遍历图的方法&#xff0c;可以得到不同的生成树&#xff1b;从不同的顶点出发&#xff0c;也可能得到不同的生成树。按照生成树的定义&#xff0c;n 个顶点的连通网络的生成树有 n 个顶点、n-1条边。构造最小生成树 假设有一个网络&#xff0c;用以表示 n 个城市之…

图的最短路径(dijkstra算法)

洛谷有题 P3371 【模板】单源最短路径&#xff08;弱化版&#xff09; - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) P4779 【模板】单源最短路径&#xff08;标准版&#xff09; - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 先放大佬的ac代码&#xff08;请看第一篇题…

SAM学习笔记

并没有完全理解&#xff0c;处于只会板子阶段。 SAM 就是后缀自动机&#xff0c;比较为大众所接受的定义是&#xff1a;一个接受 sss 所有后缀的最小自动机。 什么是自动机 比较通俗的说法是一张 DAG &#xff0c;有一个起始点&#xff0c;路径上有字符。&#xff08;定义是…

图的建立(邻接矩阵与邻接表)

图的基本概念可以翻书 目录 图的模板基类 邻接矩阵 邻接矩阵的具体类实现 邻接矩阵构造函数实现&#xff08;基于这个构造函数可以初始化一个邻接矩阵&#xff09; 图的第二种存储方法———邻接表 邻接表建立算法&#xff01; 图的存储一般来说有四种&#xff0c;但是由…

P1967 [NOIP2013 提高组] 货车运输 —— LCA模板题 + 最大生成树

P1967 [NOIP2013 提高组] 货车运输 思路 显然只有2*(n-1)条边可能被用到,所以先求最大生成树,然后由于两点间的路径是唯一的,所以进行LCA,并用 w [ i ] [ j ] w[i][j] w[i][j] 记录从第i个节点到它的 <

算法设计技巧: 广度优先搜索(BFS)

给定一个图G(V,E)G(V,E)G(V,E), 其中VVV代表顶点的集合, EEE代表边的集合. 给定初始点s∈Vs\in Vs∈V, 遍历图GGG所有顶点一般有两种方法: 广度优先(Breadth-first-search)和深度优先(Depth-first-search). 本文介绍广度优先的思想和实现方式. 广度优先 如下图所示, 从sss开始…

数据结构—无向图创建邻接矩阵、深度优先遍历和广度优先遍历(C语言版)

无向图创建邻接矩阵、深度优先遍历和广度优先遍历一、概念解析&#xff1a;&#xff08;1&#xff09;无向图&#xff1a;&#xff08;2&#xff09;邻接矩阵&#xff1a;二、创建邻接矩阵&#xff1a;三、深度遍历、广度遍历&#xff08;1&#xff09;深度遍历概念&#xff1a…

⌈算法进阶⌋图论::并查集——快速理解到熟练运用

目录 一、原理 1. 初始化Init 2. 查询 find 3. 合并 union 二、代码模板 三、练习 1、 990.等式方程的可满足性&#x1f7e2; 2、 1061. 按字典序排列最小的等效字符串&#x1f7e2; 3、721.账户合并 &#x1f7e1; 4、 839.相似字符串组&#x1f7e1; 5、 2812.找出最安全…

2022离散数学图论笔记02

2022离散数学图论笔记02内容预览笔记笔记内容为日常上课记录与整理&#xff0c;为图片格式&#xff0c;仅供学习。内容预览 1.图的基本概念 2.通路与回路 3.无向图的连通性 4.无向图的连通度 5.图论重点整理 6.可图化 可简单图化 7.欧拉图 8.哈密顿图 9.习题 笔记 ——————…

洛谷 P1111 修复公路

其实还是考查并查集&#xff0c;但是增加了一个问题&#xff0c;就是任意两个村庄都可通车的最短时间&#xff08;可以是多条公路连成一条道路&#xff09;&#xff0c;看输出结果这些公路大概是能同时修的&#xff0c;还是先套用并查集的模板先把输入的公路都连通&#xff0c;…

3.6日题解

1.tokitsukaze and Connection 题目大意&#xff1a;字符串中的相同字符是不是全部在一起 思路&#xff1a;对于每一个字符&#xff0c;判断是否出现过&#xff0c;出现过则判断它的上一个字母与现在的是否相同&#xff0c;相同则连续&#xff0c;否则不连续&#xff1b;没出现…

5347. 使网格图至少有一条有效路径的最小代价

5347. 使网格图至少有一条有效路径的最小代价 BFS中每个点只入列一次&#xff0c;但有时&#xff0c;我们可能需要bfs中允许一个点入列多次才能解决问题&#xff0c;这种方法就是SPFA。 class Solution {public int minCost(int[][] grid) {int m grid.length, n grid[0].len…

【差分约束】洛谷P1993 小K的农场 题解

【差分约束】洛谷P1993 小K的农场 题解 题目传送门 分析 一看题目就知道可以把条件转换成不等式&#xff0c;然后使用差分约束求解。差分约束可以自行 百度OR谷歌。 可以把建边为w(a,b) c&#xff0c; 转换成 &#xff0c;建边为w(b,a) -c。然后使用dfs优化的spfa跑一个最…

经典BFS问题之走迷宫

题目信息 给定一个 nm 的二维整数数组&#xff0c;用来表示一个迷宫&#xff0c;数组中只包含 0 或 1&#xff0c;其中 0 表示可以走的路&#xff0c;1 表示不可通过的墙壁。 最初&#xff0c;有一个人位于左上角 (1,1) 处&#xff0c;已知该人每次可以向上、下、左、右任意一…

数据结构 图 深度优先遍历(DFS) 广度优先遍历(BFS)

图的邻接表表示法看这里 首先定义必要的辅助数组和函数 bool visited[MAX_VERTEX_NUM];//标志是否访问过template<typename VertexType, typename InfoType> int firstAdjVex(ALGraph<VertexType, InfoType>ALG, int vIndex)//寻找第一个邻接点&#xff0c;未找到…

数据结构 最小生成树Prim算法 最短路径Dijkstra算法 最短路径Floyd算法

图的邻接矩阵存储看这里 使用的图为&#xff1a; 最小生成树Prim算法 首先标记第一个点已经确定&#xff0c;然后计算出第一个点到其余各个未确定点的权值&#xff0c;并修改邻接点为第一个点之后每一步都找到上一步更新后的权值中最小的那个点&#xff0c;确定该点并计算出…

#796 Div.2 F. Sanae and Giant Robot set *

1688F set&#xff0c;2500 题意 给出 a,ba,ba,b 两个序列&#xff0c;并给出 mmm 个区间 [li,ri][l_i,r_i][li​,ri​]&#xff0c;每次可以从它们中满足 ∑ilrai∑ilrbi\sum_{il}^ra_i\sum_{il}^rb_i∑ilr​ai​∑ilr​bi​ 的区间中任选一个&#xff0c;对这个区间的所有数…

1696D. Permutation Graph 思维

link 思维 题意 给出一个序列 a1,a2,...,ana_1,a_2,...,a_na1​,a2​,...,an​ 为 1&#xff5e;n1&#xff5e;n1&#xff5e;n 的全排列。 i,ji,ji,j 之间存在一条无向边当且仅当 ai,aja_i,a_jai​,aj​ 恰好是 ai,...,aja_i,...,a_jai​,...,aj​ 这些数的最小值和最大值&…

#801 Div.2 D. Tree Queries 结论

1695D 结论题&#xff0c;大佬们画画图就出来了&#xff0c;蒻想了1h也没想出来。又画了一会图&#xff0c;懂了但也不会详细证明。 题意 现在有一棵 nnn 个节点的树&#xff08;边权均为1&#xff09;&#xff0c;和一个未知的点 x(1≤x≤n)x(1\leq x\leq n)x(1≤x≤n)&…

#800 Div.2 E. Keshi in Search of AmShZ 最短路

1697D 最短路 2300 题意 给你一个有向图&#xff0c;目标是从1走到 nnn &#xff0c;每次操作可以选择以下两种之一&#xff1a; 删去一条边在可以走的路径中&#xff0c;随机选一条路走到下一个点。 记任意时刻所处的位置都是已知的&#xff0c;问最少多少次操作能保证到达…

Codeforces Round #800 (Div. 2) D. Fake Plastic Trees

link 拓扑排序 题意 给你一棵以1为根的树&#xff0c;你可以进行以下操作若干次&#xff1a; 随意选中一个点&#xff0c;设从根到这个点的简单路径一共有 nnn 个点&#xff0c;则你可以任选一个序列 c1,c2,...,cn(0≤c1≤...≤cn)c_1, c_2,...,c_n(0\leq c_1\leq ...\leq c_…

CF1674G. Remove Directed Edges dp

Problem G dag上的dp 题意 给你一个有向无环图&#xff0c;你需要删去其中的若干条边&#xff0c;使得 对于每个节点&#xff0c;它的入度比原来小&#xff0c;或原来即为0对于每个节点&#xff0c;它的出度比原来小&#xff0c;或原来即为0 在删边之后的图中取出一个点集 …

Autochess 寒假训练赛 set

Link 模拟&#xff0c;set 题意 看了半天发现就是模拟自走棋升级棋子过程&#xff0c;还蛮有趣的。 m,n,km, n, km,n,k 分别代表加入棋子次数&#xff0c;位置个数&#xff0c;合成一个更高星的所需的个数。 具体要求&#xff1a; 设当前加入的棋子名称为 sss。&#xff08;每…

CF1627E. Not Escaping *

Link dp&#xff0c;离散化&#xff0c; 2200 题意 有一栋 nnn 层高楼&#xff0c;每层有 mmm 个房间&#xff0c;现在需要从(1,1)→(n,m)(1,1) \rightarrow (n, m)(1,1)→(n,m)&#xff0c;同层间向左or右移动需要消耗 xix_ixi​ 点体力&#xff08;每层对应一个 xix_ixi​ …

CF1369E. DeadLee 思维

Link 思维&#xff0c;贪心&#xff0c;拓扑排序 2400 题意 有nnn种菜&#xff0c;每种菜都有wiw_iwi​碟&#xff0c;你有mmm个朋友&#xff0c;每个朋友都有两种喜欢的菜&#xff0c;你按照某个排序让朋友一个一个来吃菜&#xff0c;如果现在桌上有这个朋友喜欢的菜&#x…

CF1632E1. Distance Tree (easy version)

Link 2400 题意 给你一棵树&#xff0c;每条边权为1&#xff0c;f(x)表示点x到1的路径上权重和。 你可以增加一条边权为k的边连接&#xff0c;使得f(x)最大值最小。问你k在[1,n]时最大f(x)最小是多少。 n≤3000n \leq 3000n≤3000 思路 O(n2log⁡n)O(n^2\log n)O(n2logn)&am…

P4556 [Vani有约会]雨天的尾巴 线段树合并做法*

Link 线段树合并的板子题&#xff0c;等刷过几道再去补树剖做法。 注意&#xff1a; 线段树空间开很多倍的同时&#xff0c;不要忘记把root数组也同样开到很多倍 思路 其实就是树上差分LCA&#xff0c;但空间复杂度 O(NM)O(NM)O(NM)&#xff0c;通过线段树合并将空间复杂度降…

P1099 [NOIP2007 提高组] 树网的核——树的直径

Link 方法蛮多的一道题&#xff0c;主要是在书上看的&#xff0c;这里不想写了&#xff0c;贴个代码保存一下。 代码 // // #include <bits/stdc.h> using namespace std; //#define mp make_pair #define pii pair<int,int> #define pb push_back #define ll lo…

P3629巡逻 树的直径*

Link 挺有意思的一道题&#xff0c;思路其实蛮清晰也比较容易理解&#xff0c;然而实现的时候写了半天 代码 const int maxn 1e6 10; const int maxm 1e6 10; struct Edge {int to, dis, next; }edge[maxm]; int n, m; int head[maxn], dis[maxn], cnt 1; bool vis[maxn…

acwing349 黑暗城堡 ——最短路径生成树

Link 思路 最短路径生成树计数 代码 // // #include <bits/stdc.h> using namespace std; //#define mp make_pair #define pii pair<int,int> #define pb push_back #define ll long long #define LL long long #define ld long double #define endl \n #defi…

P2371 [国家集训队]墨墨的等式 ——同余最短路

P2371 思路 同余最短路&#xff0c;自我感觉做这类题要注意两点。 1.虽然n的范围很小&#xff0c;但实际建图的点的数量为min{a_i} 5e5&#xff0c;边的数量为n∗ain * a_in∗ai​即12*5e5。 2.和上篇文章的题目初始dis[1] 1不同&#xff0c;这道题目初始值即为dis[0] 0,表…

P3403 跳楼机 同余最短路

P3403 思路 同余最短路 dis[i]表示仅通过2,3操作能够达到的 a mod x i 的最小的a值 注意由于起始位置在1处&#xff0c;故dis[1] 1 代码 // // #include <bits/stdc.h> using namespace std; //#define mp make_pair #define pii pair<int,int> #define pb p…

2023-8-30 Dijkstra 求最短路(一)

题目链接&#xff1a;Dijkstra求最短路 I #include <iostream> #include <cstring> #include <algorithm>using namespace std;const int N 510;int n, m; int g[N][N]; int dist[N]; bool st[N];int dijkstra() {memset(dist, 0x3f, sizeof dist);dist[1…

图论岛屿问题DFS+BFS

leetcode 200 岛屿问题 class Solution {//定义对应的方向boolean [][] visited;int dir[][]{{0,1},{1,0},{-1,0},{0,-1}};public int numIslands(char[][] grid) {//对应的二维数组int count0;visitednew boolean[grid.length][grid[0].length];for (int i 0; i < grid.l…

CF1594D. The Number of Imposters 1700 ——种类并查集*

题目链接 和POJ1417相似 题意&#xff1a; 思路&#xff1a; 种类并查集&#xff0c; 具体见代码 注意判断矛盾的方法&#xff1a;如果两个节点的属于同一个集合 判断的是它们而不是它们的根节点&#xff08;代码68行&#xff09; 最后统计个数的方法需要更加熟练&#x…

LeetCode 【算法专栏】 【图】

图相关算法有关BFS和DFS求有权图的单源最短路径算法(Dijkstra算法)求有权图的多源最短路径算法(Floyd算法)最小生成树—Prim算法leetcode 1584 连接所有点的最小费用(primpriority_queue)Kruskal算法实现思想&#xff08;并查集&#xff09;leetcode 1584 连接所有点的最小费用…

2023-8-31 spfa求最短路

题目链接&#xff1a;spfa求最短路 #include <iostream> #include <cstring> #include <algorithm> #include <queue>using namespace std;const int N 100010;int n, m; int h[N], w[N], e[N], ne[N], idx;int dist[N]; bool st[N];void add(int a…

算法——图的排序

引言 本文整理了常见的图排序相关算法&#xff0c;方便以后查阅。更多相关文章和其他文章均收录于贝贝猫的文章目录。 图 BFS package bbm.graph;import java.util.LinkedList; import java.util.List; import java.util.concurrent.LinkedBlockingQueue;import static bbm.…

2023-8-31 Floyd求最短路

题目链接&#xff1a;Floyd求最短路 #include <iostream> #include <algorithm> #include <cstring>using namespace std;const int N 210, INF 1e9;int n, m, Q;int d[N][N];void floyd() {for(int k 1; k < n; k)for(int i 1; i < n; i)for(int …

LCS最大公共子序列 与 LIS最大递增子序列

LCS Largest Common Subsequence 最大公共子序列 /* Input s1 s2//两个字符串Output length//长度 ans//具体字母 */ #include<iostream> using namespace std; int main() {string s1,s2;cin>>s1>>s2;int dp[100][100]{0};//dp[i][j]表示s1取前i位&#x…

第三章 图论 No.13拓扑排序

文章目录 裸题&#xff1a;1191. 家谱树差分约束拓扑排序&#xff1a;1192. 奖金集合拓扑序&#xff1a;164. 可达性统计差分约束拓扑序&#xff1a;456. 车站分级 拓扑序和DAG有向无环图联系在一起&#xff0c;通常用于最短/长路的线性求解 裸题&#xff1a;1191. 家谱树 119…

leetcode解题思路分析(一百四十六)1267 - 1278 题

统计参与通信的服务器 这里有一幅服务器分布图&#xff0c;服务器的位置标识在 m * n 的整数矩阵网格 grid 中&#xff0c;1 表示单元格上有服务器&#xff0c;0 表示没有。如果两台服务器位于同一行或者同一列&#xff0c;我们就认为它们之间可以进行通信。请你统计并返回能够…

超图嵌入论文阅读1:对偶机制非均匀超网络嵌入

超图嵌入论文阅读1&#xff1a;对偶机制非均匀超网络嵌入 原文&#xff1a;Nonuniform Hyper-Network Embedding with Dual Mechanism ——TOIS&#xff08;一区 CCF-A&#xff09; 背景 超边&#xff1a;每条边可以连接不确定数量的顶点 我们关注超网络的两个属性&#xff1…

数据结构--拓扑排序

数据结构–拓扑排序 AOV⽹ A O V ⽹ \color{red}AOV⽹ AOV⽹(Activity On Vertex NetWork&#xff0c;⽤顶点表示活动的⽹)&#xff1a; ⽤ D A G 图 \color{red}DAG图 DAG图&#xff08;有向⽆环图&#xff09;表示⼀个⼯程。顶点表示活动&#xff0c;有向边 < V i , V j …

图:最短路径问题(BFS算法,Dijkstra算法,Floyd算法)

1 .单源最短路径 1.BFS算法(无权图) 使用广度优先遍历实现一个顶点到达其他所有顶点的最短路径。 注:无权图可以视为一种特殊的带权图&#xff0c;只是每条边的权值都为1。 1.算法思路&#xff1a; 定义一个数组存储每个结点与当前的结点的最短距离&#xff0c;定义一个数组…

图的存储-链式前向星

链式前向星 链式前向星是民间OI选手发明的数据结构。用另一个词解释它就是&#xff1a;用数组模拟的邻接链表。最核心的思想就是用数组模拟链表。 &#xff08;1&#xff09;前向星 前向星就是边的集合。一个图&#xff0c;只要将它的所有边存储起来&#xff0c;就能知道它的…

1761. 一个图中连通三元组的最小度数

文章目录 Tag题目来源题目解读解题思路方法一&#xff1a;无向图暴力枚举方法二&#xff1a;给无向图定向 写在最后 Tag 【暴力枚举】【度数】【有向图】【无向图】 题目来源 1761. 一个图中连通三元组的最小度数 题目解读 现在有一个无向图&#xff0c;找出连通三元组中度…

最短路Dijkstra,spfa,图论二分图算法AYIT---ACM训练(模板版)

文章目录 前言A - Dijkstra Algorithm0x00 算法题目0x01 算法思路0x02 代码实现 B - 最长路0x00 算法题目0x01 算法思路0x02 代码实现 C - 二分图最大匹配0x00 算法题目0x01 算法思路0x02 代码实现 D - 搭配飞行员0x00 算法题目0x01 算法思路0x02 代码实现 E - The Perfect Sta…

CF1120 D. Power Tree 巧妙的图论转化

传送门 [前题提要]:无 题目描述: 就是给你一棵树,然后每个点有花费,然后你可以选一个点,付费后对这个点的子树的所有叶子结点增减任意权值. 考虑有一个人会给这棵树的所有叶子结点赋值(值我们不知道),输出最小的花费,使得无论它如何赋值,我们使用上述的花 费都能使所有的叶子…

Acwing 3472. 八皇后

题目如下&#xff1a; 会下国际象棋的人都很清楚&#xff1a;皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。 如何将 88 个皇后放在棋盘上&#xff08;有 88 个方格&#xff09;&#xff0c;使它们谁也不能被吃掉&#xff01; 这就是著名的八皇后问题。 对于某个满足要…

每天一道leetcode:1306. 跳跃游戏 III(图论中等广度优先遍历)

今日份题目&#xff1a; 这里有一个非负整数数组 arr&#xff0c;你最开始位于该数组的起始下标 start 处。当你位于下标 i 处时&#xff0c;你可以跳到 i arr[i] 或者 i - arr[i]。 请你判断自己是否能够跳到对应元素值为 0 的 **任一** 下标处。 注意&#xff0c;不管是什…

2022寒假牛客训练营五

D&#xff1a;数位小孩 题意 | 简单 给定一个区间 [l , r l,rl,r] ,求这个区间内有多少个数字满足以下条件&#xff1a; 每相邻两个数位和为素数 其中至少一个数位为1 没有前导零 0 ≤ \leq≤ l &#xff0c; r l&#xff0c;rl&#xff0c;r ≤ \leq≤ 1 0 10 10^{10}10 10 …

算法随笔:强连通分量

概念和性质&#xff1a; 强连通&#xff1a;在有向图G中&#xff0c;如果两个点u和v是互相可达的&#xff0c;即从u出发可以到达v&#xff0c;从v出发也可以到达u&#xff0c;则成u和v是强连通的。 强连通分量&#xff1a;如果一个有向图G不是强连通图&#xff0c;那么可以把它…

最小生成树Kruskal、Prim算法C++

什么是最小生成树 连通图&#xff1a; 在无向图中&#xff0c;若从顶点v1到顶点v2有路径&#xff0c;则称顶点v1和顶点v2是连通的。如果图中任意一对顶点都是连通的&#xff0c;则称此图为连通图。 生成树&#xff1a; 一个连通图的最小连通子图称作为图的生成树。有n个顶点的…

【图论】Floyd

算法提高课笔记&#xff09; 文章目录 例题牛的旅行题意思路代码 排序题意思路代码 观光之旅题意思路代码 例题 牛的旅行 原题链接 农民John的农场里有很多牧区&#xff0c;有的路径连接一些特定的牧区。 一片所有连通的牧区称为一个牧场。 但是就目前而言&#xff0c;你…

【管理运筹学】第 7 章 | 图与网络分析(4,最大流问题)

系列文章目录 【管理运筹学】第 7 章 | 图与网络分析&#xff08;1&#xff0c;图论背景以及基本概念、术语、矩阵表示&#xff09; 【管理运筹学】第 7 章 | 图与网络分析&#xff08;2&#xff0c;最小支撑树问题&#xff09; 【管理运筹学】第 7 章 | 图与网络分析&#xf…

【图论】最小生成树的应用

一.题目 P1550 [USACO08OCT] Watering Hole G - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 二.分析 1.我们是要使所有的农场都要有水 2.可以从起点引水&#xff0c;也可以互相引水。 3.费用要最小 这时我们可以想到最小生成树&#xff0c;建立一个虚拟节点即可。思路一…

缩点的综合应用(二)

一.上期链接 http://t.csdn.cn/XaysJ 二.题目一 P1262 间谍网络 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 三.思路 1.每个人都可以揭发一些人&#xff0c;如果一个人能被揭发&#xff0c;那就不需要管了&#xff0c;只需要管揭发他的人即可。所有我们只要管入度为0的人…

数字放大(C++)

系列文章目录 1.进阶的卡沙_睡觉觉觉得的博客-CSDN博客 2. 数1的个数_睡觉觉觉得的博客-CSDN博客 3. 双精度浮点数的输入输出_睡觉觉觉得的博客-CSDN博客 4. 足球联赛积分_睡觉觉觉得的博客-CSDN博客 5. 大减价(一级)_睡觉觉觉得的博客-CSDN博客 6. 小写字母的判断_睡觉觉觉得…

蓝桥杯 题库 简单 每日十题 day3

01 约数个数 题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 1200000 有多少个约数&#xff08;只计算正约数&#xff09;。 解题思路 枚举&#xff0c;从1开始一直到1200000本身都作为1200000的除数&#xff0c;…

(图论) 1020. 飞地的数量 ——【Leetcode每日一题】

❓ 1020. 飞地的数量 难度&#xff1a;中等 给你一个大小为 m x n 的二进制矩阵 grid &#xff0c;其中 0 表示一个 海洋单元格、1 表示一个 陆地单元格。 一次 移动 是指从一个陆地单元格走到另一个相邻&#xff08;上、下、左、右&#xff09;的陆地单元格或跨过 grid 的边…

(图论) 827. 最大人工岛 ——【Leetcode每日一题】

❓ 827. 最大人工岛 难度&#xff1a;困难 给你一个大小为 n x n 二进制矩阵 grid 。最多 只能将一格 0 变成 1 。 返回执行此操作后&#xff0c;grid 中最大的岛屿面积是多少&#xff1f; 岛屿 由一组上、下、左、右四个方向相连的 1 形成。 示例 1: 输入: grid [[1, 0]…

算法随笔:Floyd

Floyd算法是一种对所有点对最短路径算法、多源最短路径算法&#xff0c;以此计算能得到图中每一对节点之间的最短路径。Floyd不仅可以用来求多源最短路&#xff0c;也可以用于解决传递闭包问题。 算法思想&#xff1a; Floyd求最短路径用的是“从小图到全图”的动态规划思想&a…

算法|图论 4

LeetCode 827.最大人工岛 题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题目描述&#xff1a;给你一个大小为 n x n 二进制矩阵 grid 。最多 只能将一格 0 变成 1 。 返回执行此操作后&#xff0c;grid 中最大的岛屿面积是多…

图论(基础)

知识&#xff1a; 顶点&#xff0c;边 | 权&#xff0c;度数 1.图的种类&#xff1a; 有向图 | 无向图 有环 | 无环 联通性 基础1&#xff1a;图的存储&#xff08;主要是邻接矩阵和邻接表&#xff09; 例一&#xff1a;B3643 图的存储 - 洛谷 | 计算机科学教育新生态 (…

2023-8-28 树的重心(树与图的深度优先遍历)

题目链接&#xff1a;树的重心 #include <cstring> #include <iostream> #include <algorithm>using namespace std;const int N 100010, M N * 2;int n; int h[N], e[M], ne[M], idx; int ans N; bool st[N];void add(int a, int b) {e[idx] b, ne[id…

搜索与图论-拓扑序列

为什么记录呢 因为不记录全忘了 虽然记了也不一定会看 有向无环图一定有拓扑序列邮箱无环图 - 拓扑图 入度为0的点作为起点入度为0的点入队列枚举出边 t->j删掉当前边&#xff0c;t->j . j的入度减1判断j的入度是否为0&#xff0c;来判断是否加入队列 有环&#xff1a; …

图论算法基础:单源最短路径Dijkstra算法分析

文章目录 图的邻接矩阵 一.Dijkstra算法分析算法的核心逻辑要素算法的执行逻辑 二.Dijkstra算法接口实现邻接矩阵堆优化版本: 图的邻接矩阵 namespace Graph_Structure {//Vertex是代表顶点的数据类型,Weight是边的权值的数据类型,MAX_W是权值的上限值(表示不相两)//Direction…

最短路-稀疏图-堆优化的dijstra算法-优先队列

优先队列 heap 堆 先进先出 队列里面的类型是pair,先比较第一个元素&#xff0c;第一个相同比较第二个 #include<queue> //大的数排在前面 从大到小进行排列 typedef pair<int,int> PII; priority_queue<PII,vector<PII>> q;//从小到大进行排列 #inc…

c++最小步数模型(魔板)

C 最小步数模型通常用于寻找两个点之间的最短路径或最少步数。以下是一个基本的 C 最小步数模型的示例代码&#xff1a; #include<bits/stdc.h> using namespace std; const int N 1e5 5; vector<int> G[N]; int d[N]; bool vis[N];void bfs(int s) {queue<i…

26. 图论 - 树

文章目录 树生成树最小生成树图与人工智能人工智能数学基础Hi,你好。我是茶桁。 这一节课是我们AI秘籍整个数学篇的最后一节课。同样的,这节课的概念还是比较重要的。我们要来了解一下「树」。 树 树其实是图的一种,首先呢它是一个连通图,是一个不含圈的连通图。 什么叫…

图的DFS非递归实现,栈

图的DFS非递归实现&#xff0c;栈 思路 第一个结点入栈&#xff0c;读栈顶&#xff0c;结点有未被访问的邻接点则将邻接点入栈&#xff0c;再读栈顶&#xff08;不出栈&#xff09;&#xff0c;栈顶元素有未被访问的边则继续入栈若读到的栈顶没有边或者都被访问过&#xff0c…

图:最小生成树

1.最小生成树的概念 又称最小代价树。 1.生成树 回顾之前生成树的概念&#xff1a; 连通图&#xff08;无向图&#xff09;的生成树是包含图中全部顶点的一个极小连通子图&#xff08;边尽可能的少&#xff0c;但要保持连通&#xff09;。 在这篇文章中有详细的讲解&#xf…

图论---最小生成树问题

在连通网的所有生成树中&#xff0c;所有边的代价和最小的生成树&#xff0c;称为最小生成树。解决最小生成树问题一般有两种算法&#xff1a;Kruskal算法和Prim算法。 Kruskal算法 原理&#xff1a;基本思想是从小到大加入边&#xff0c;是个贪心算法。我们将图中的每个边按…

CCF-CSP 30次 第四题【电力网络】

20分&#xff0c;六重循环看不懂 计算机软件能力认证考试系统 #include<bits/stdc.h> using namespace std; int NK[6][10]; int line[6][6][10][10]; int main() {int N,M,K;cin>>N>>M>>K;for(int i0;i<N;i){for(int j0;j<K;j){cin>>NK…

图论-01-图的基本表示-邻接矩阵和邻接表-Java

文章目录 邻接矩阵邻接表邻接表的问题和改进总结 邻接矩阵 import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Scanner;public class AdjMatrix {private int V;private int E;private int[][] adj;// 构造函数&#xff0c;从文…

蓝桥杯 题库 简单 每日十题 day7

01 啤酒和饮料 题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。啤酒每罐2.3元&#xff0c;饮料每罐1.9元。小明买了若干啤酒和饮料&#xff0c;一共花了82.3元。我们还知道他买的啤酒比饮料的数量少&#xff0c;请你…

算法|图论 2

LeetCode 695- 岛屿的最大面积 题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题目描述&#xff1a;给你一个大小为 m x n 的二进制矩阵 grid 。 岛屿 是由一些相邻的 1 (代表土地) 构成的组合&#xff0c;这里的「相邻」要求…

缓存(cache)与缓冲区(buffer)的主要区别

缓存&#xff08;cache&#xff09;与缓冲区(buffer)的主要区别 1.Buffer的核心作用是用来缓冲&#xff0c;缓和冲击&#xff08;对输出设备的冲击&#xff0c;包括磁盘、打印机、显示器&#xff09;。比如你每秒要写100次硬盘&#xff0c;对系统冲击很大&#xff0c;浪费了大…

GDPU 数据结构 天码行空3

一、【实验目的】 1、掌握建立单链表的基本方法。 2、掌握单链表的插入、删除算法的思想和实现 二、【实验内容】 仿照教材中的单链表实现例子&#xff0c;自己设计一个有序单链表&#xff0c;单链表中的数据元素为整型并递增有序。有序单链表的定义: 逻辑结构:有序线性表&a…

【学习笔记】 LGV引理

LGV引理 在一个有向无环图G中&#xff0c;出发点 A { a 1 , a 2 , . . . a n } A\{a_1,a_2,...a_n\} A{a1​,a2​,...an​}&#xff0c;目标点 B { b 1 , b 2 , . . b n } B\{b_1,b_2,..b_n\} B{b1​,b2​,..bn​}。有向边 e e e的权值为 w e w_e we​&#xff0c; e ( u , …

【蓝桥】串门

1、题目 问题描述 过年小蓝想要回家串门。 蓝桥村可以抽象为 n n n 个节点&#xff0c; n − 1 n-1 n−1 条边的一棵树&#xff0c;每条边有边权长度 w i w_i wi​。 小蓝可以选择任意一个点作为起点&#xff0c;然后选择一条路径&#xff0c;可以访问每个节点至少一次。…

24. 图论 - 图的表示种类

Hi,你好。我是茶桁。 之前的一节课中,我们了解了图的来由和构成,简单的理解了一下图的一些相关概念。那么这节课,我们要了解一下图的表示,种类。相应的,我们中间需要穿插一些新的知识点用于更好的去理解图,比如说邻接矩阵。 图的表示 我们一般用什么样的形式来表示图…

蓝桥杯 题库 简单 每日十题 day11

01 质数 质数 题目描述 给定一个正整数N&#xff0c;请你输出N以内&#xff08;不包含N&#xff09;的质数以及质数的个数。 输入描述 输入一行&#xff0c;包含一个正整数N。1≤N≤10^3 输出描述 共两行。 第1行包含若干个素数&#xff0c;每两个素数之间用一个空格隔开&…

蓝桥杯 题库 简单 每日十题 day12

01 列名 问题描述 在Excel中&#xff0c;列的名称使用英文字母的组合。前26列用一个字母&#xff0c;依 次为A到Z&#xff0c;接下来2626列使用两个字母的组合&#xff0c;依次为AA到zz. 请问第2022列的名称是什么&#xff1f; 答案提交 这是一道结果填空的题&#xff0c;你只…

1500*C. Kefa and Park(dfstree)

Kefa and Park - 洛谷 Problem - 580C - Codeforces Examples input 4 1 1 1 0 0 1 2 1 3 1 4 output 2 input 7 1 1 0 1 1 0 0 0 1 2 1 3 2 4 2 5 3 6 3 7 output 2 解析&#xff1a; dfs遍历&#xff0c;记录前一个结点权值是否为1&#xff0c;并且累计路径1的个数…

NOIP2023模拟3联测24-博弈树

Alice \text{Alice} Alice 和 Bob \text{Bob} Bob 又开始玩游戏了&#xff0c;他们已经把石子堆得比山还高了&#xff0c;现在他们要玩一种更新奇的游戏&#xff0c;这种游戏的规则如下&#xff1a; 给定一颗 n n n 个节点的树&#xff0c; Alice \text{Alice} Alice 和 Bo…

区间dp--石子合并

题目表示 有N堆石子排成一排,每堆石子有一定的数量。现要将N堆石子并成为一堆。合并的过程只能每次将相邻的两堆石子堆成一堆,每次合并花费的代价为这两堆石子的和,经过N-1次合并后成为一堆。求出总的代价最小值。 举例1: 2,4,5 总代价最小值为17 举例2: 4,1,1,4 总代…

图论+博弈论上dp:CF536D

此题其实比较板&#xff0c;只是我没看出来 首先肯定要跑个最短路&#xff0c;然后发现可以离散化把值域缩小 然后 n n n 很小&#xff0c;直接暴力列个 n 2 n^2 n2 dp。 转移要注意的是必须从大往小dp。从小到大会产生后效性。 然后拿个双指针优化下转移就行。 // LUOG…

图论---拓扑排序

概念 一个有向图&#xff0c;如果图中有入度为 0 的点&#xff0c;就把这个点删掉&#xff0c;同时也删掉这个点所连的边。一直进行上面的处理&#xff0c;如果所有点都能被删掉&#xff0c;则这个图可以进行拓扑排序。拓扑排序是对DAG&#xff08;有向无环图&#xff09;上的节…

图论---图的遍历

在图论中&#xff0c;图的遍历一般有两种&#xff0c;分别为DFS&#xff08;深度优先遍历&#xff09;、BFS&#xff08;广度优先遍历&#xff09;&#xff0c;以下是这两种遍历方式的模板&#xff1a; DFS&#xff08;深度优先搜索&#xff09; 代码框架&#xff1a; void …

AtCoder Beginner Contest 228(A-Ex)

A - On and Off (atcoder.jp) &#xff08;1&#xff09;题意 高桥每天在S点钟打开他房间的灯&#xff0c;并在T点钟关灯&#xff0c;指示灯亮起时&#xff0c;日期可能会发生改变&#xff0c;判断是否在X点过后30分时亮着。 &#xff08;2&#xff09;思路 直接模拟即可。 &am…

图论第2天----第1020题、第130题

# 图论第2天----第1020题、第130题 文章目录 一、第1020题--飞地的数量二、第130题--被围绕的区域 ​ 又继续开始修行&#xff0c;把图论这块补上&#xff0c;估计要个5-6天时间。 一、第1020题–飞地的数量 ​ 跟前面做的思路差不多&#xff0c;其实有另外一种思路。我这里是…

算法竞赛备赛进阶之数字三角形模型训练

目录 1.数字三角形 2.摘花生.1015 3.最低通行费 4.方格取数 在算法竞赛中&#xff0c;有时候会遇到一些图形相关的题目&#xff0c;需要运用图论相关的知识进行求解。今天我们将一起探讨一个比较常见的模型——数字三角形模型。 在数字三角形模型中&#xff0c;每个位置的…

1600*C. k-Tree(DP)

Problem - 431C - Codeforces 解析&#xff1a; #include<bits/stdc.h> using namespace std; #define int long long const int mod1e97,N110; int n,k,d,dp[N][2]; signed main(){scanf("%lld%lld%lld",&n,&k,&d);dp[0][0]1;for(int i1;i<n;…

1600*A. Linova and Kingdom(DFS优先队列贪心)

Problem - 1336A - Codeforces Linova and Kingdom - 洛谷 解析&#xff1a; 开始认为分情况讨论 k 小于等于叶子结点和大于叶子结点的情况&#xff0c;然后选择深度最深的叶子结点和子孙数量最小的结点&#xff0c;但是发现如果把某一个非叶子结点选取&#xff0c;那么其子孙…

【算法分析与设计】分支限界法(下)

目录 一、最大团问题1.1 问题描述1.2 上界函数1.3 算法思想 二、旅行售货员问题2.1 问题描述2.2 算法描述 三、电路板排列问题3.1 算法描述 四、批处理作业调度问题4.1 问题的描述4.2 限界函数4.3 算法描述 五、小结六、随机化算法 一、最大团问题 1.1 问题描述 给定无向图G(V…

P7537 [COCI2016-2017#4] Rima

由于题目涉及到后缀&#xff0c;不难想到用 trie 树处理。 将每个字符串翻转插入 trie&#xff0c;后缀就变成了前缀&#xff0c;方便处理。 条件 LCS ( A , B ) ≥ max ⁡ ( ∣ A ∣ , ∣ B ∣ ) − 1 \text{LCS}(A,B) \ge \max(|A|,|B|)-1 LCS(A,B)≥max(∣A∣,∣B∣)−1&…

蓝桥杯(迷宫,C++)

输入&#xff1a; 思路&#xff1a; 1、注意输入用字符串。 2、采用广度搜素的方法来求解。 3、因为最后要求字典序最小且D<L<R<U,所以在遍历四个方向的时候&#xff0c; 先向下&#xff0c;再向左、右&#xff0c;最后向上。 #include<iostream> #include…

AtCoder Beginner Contest 324(F)

AtCoder Beginner Contest 324 F Beautiful Path 需要一点思维的转化&#xff0c;一时竟然没想到。 题意 给定大小为 n n n 的有向图&#xff0c; m m m 条边&#xff0c;每条边有 b i , c i b_i,c_i bi​,ci​ 两个属性&#xff0c;需要找到一条从 1 ∼ n 1\sim n 1∼n…

代码随想录——图论一刷day03

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣130. 被围绕的区域二、力扣417. 太平洋大西洋水流问题三、力扣827. 最大人工岛 前言 一、力扣130. 被围绕的区域 class Solution {boolean[][] flag;i…

P3177 [HAOI2015] 树上染色

P3177 [HAOI2015] 树上染色 [P3177 HAOI2015] 树上染色 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 文章目录 P3177 [HAOI2015] 树上染色题目大意思路code 题目大意 有一棵 n n n 个点的树&#xff0c;你可以在上面把 k k k 个点染成黑色&#xff0c;收益为黑点两两之间…

基于深度优先搜索的图遍历

这里写目录标题 基于深度优先搜索的无向图遍历算法流程图Python实现Java实现 基于深度优先搜索的有向图遍历Python实现 基于深度优先搜索的无向图遍历 使用深度优先搜索遍历无向图&#xff0c;将无向图用邻接表存储&#xff1a; 算法流程图 初始化起点 source&#xff0c;当…

F. Minimum Maximum Distance Codeforces Round 903 (Div. 3)

Problem - F - Codeforces 题目大意&#xff1a;有一棵n个点的树&#xff0c;其中有k个标记点&#xff0c;令点i到所有标记点的最远距离为fi&#xff0c;问所有点中fi的最小值是多少 1<k<n<2e5 思路&#xff1a;我们首先考虑取得最小值的点在哪&#xff0c;我们假设…

回忆旅途的过往

回忆旅途的过往 文章目录 回忆旅途的过往题大意思路code 题大意 有 n n n 个砝码&#xff0c;每个砝码都有初始重量 a i a_i ai​ 。 Q Q Q 次操作&#xff0c;每次操作有以下两种 1 &#xff0c; l , r , x 1&#xff0c;l,r,x 1&#xff0c;l,r,x&#xff1a;表示把 l l…

算法|图论 6 并查集

并查集基本模板&#xff1a; int n 10; vector UFSets(n,0);//若将初值全设置为-1&#xff0c;那就不用再有初始化操作了。//初始化 void Initial(vector<int> S[]){for(int i0;i<n;i){S[i] -1;} }//查操作 int Find(vector<int> &S,int x){int root x;…

哈夫曼树实现哈夫曼编码(C++)

题目要求&#xff1a;根据哈夫曼编码的原理&#xff0c;编写一个程序&#xff0c;在用户输入结点权值的基础上求赫夫曼编码&#xff0c;并能把给定的编码进行译码。 &#xff08;1&#xff09;初始化&#xff1a;从键盘输入一字符串&#xff08;或读入一文件&#xff09;&…

图论02-【无权无向】-图的深度优先遍历DFS

文章目录 1. 代码仓库2. 深度优先遍历图解3. 主要代码3.1 dfs递归的主要代码 - 先序遍历和后序遍历3.2 dfs非递归的主要代码 - 使用栈3.3 递归与非递归遍历出来的顺序不一致3.4 标记不同的联通分量 4. 完整代码4.1 CC.java4.2 Graph.java 1. 代码仓库 https://github.com/Chufe…

图论04-【无权无向】-图的广度优先遍历BFS

文章目录 1. 代码仓库2. 广度优先遍历图解3.主要代码4. 完整代码 1. 代码仓库 https://github.com/Chufeng-Jiang/Graph-Theory 2. 广度优先遍历图解 3.主要代码 原点入队列原点出队列的同时&#xff0c;将与其相邻的顶点全部入队列下一个顶点出队列出队列的同时&#xff0c;将…

图论05-【无权无向】-图的广度优先BFS遍历-路径问题/检测环/二分图/最短路径问题

文章目录 1. 代码仓库2. 单源路径2.1 思路2.2 主要代码 3. 所有点对路径3.1 思路3.2 主要代码 4. 联通分量5. 环检测5.1 思路5.2 主要代码 6. 二分图检测6.1 思路6.2 主要代码6.2.1 遍历每个联通分量6.2.2 判断相邻两点的颜色是否一致 7. 最短路径问题7.1 思路7.2 代码 1. 代码…

[CSP-S 2023] 种树 —— 二分+前缀和

This way 题意&#xff1a; 一开始以为是水题&#xff0c;敲了一个二分贪心检查的代码&#xff0c;20分。发现从根往某个节点x走的时候&#xff0c;一路走来的子树上的节点到已栽树的节点的距离会变短&#xff0c;那么并不能按照初始情况贪心。 于是就想着检查时候用线段树…

2023CSPS 种树 —— 二分+前缀和

This way 题意&#xff1a; 一开始以为是水题&#xff0c;敲了一个二分贪心检查的代码&#xff0c;20分。发现从根往某个节点x走的时候&#xff0c;一路走来的子树上的节点到已栽树的节点的距离会变短&#xff0c;那么并不能按照初始情况贪心。 于是就想着检查时候用线段树…

2023CSPJ 旅游巴士 —— dijkstra

This way 题意&#xff1a; 给你一个有向图&#xff0c;1号点为起点&#xff0c;n为终点。你可以在k的倍数的时间点在起点开始&#xff0c;每条边的边长为1&#xff0c;同时&#xff0c;每条边有一个限定时间ai&#xff0c;表示你必须在大于等于ai的时间点才能走这条边。 …

蓝桥杯 题库 简单 每日十题 day8

01 扫雷 题目描述 在一个n行列的方格图上有一些位置有地雷&#xff0c;另外一些位置为空。 请为每个空位置标一个整数&#xff0c;表示周围八个相邻的方格中有多少个地雷。 输入描述 输入的第一行包含两个整数n&#xff0c;m。 第2行到第n1行每行包含m个整数&#xff0c;相邻整…

代码随想录图论 第二天 | 695. 岛屿的最大面积 1020. 飞地的数量

代码随想录图论 第二天 | 695. 岛屿的最大面积 1020. 飞地的数量 一、695. 岛屿的最大面积 题目链接&#xff1a;https://leetcode.cn/problems/max-area-of-island/ 思路&#xff1a;典型的遍历模板题&#xff0c;我采用深度优先&#xff0c;每块岛屿递归遍历的时候计数&…

NOIP2023模拟2联测23-害怕

澪有个 n n n 个点 m m m 条边的无向图&#xff0c;每条边都有蓝白两种颜色中的一种&#xff0c;保证蓝色的边形成了这个图的一个生成树。 她希望给这些边赋上边权&#xff0c;保证边权是 1 ∼ m 1 \sim m 1∼m 的排列&#xff0c;使得蓝色的边是最小生成树。 希望这些边权…

[补题记录] Atcoder Beginner Contest 321(E)

URL&#xff1a;https://atcoder.jp/contests/abc321 目录 E Problem/题意 Thought/思路 Code/代码 E Problem/题意 有一颗 N 个节点的完全二叉树&#xff0c;现在给出节点 X&#xff0c;一个整数 K&#xff0c;问举例节点 X 的长度为 K 的点有多少个&#xff1f; Thoug…

图的应用1.0-----最小生成树问题

目录 前言 生成树 1.基本概念 2.生成树的特点 3.生成树形成过程 最小生成树(Minimum Spanning Tree) 1.基本概念 2.构造方法&#xff08;MST&#xff09; 普里姆(Prime)算法 1.算法思想 2.代码实现 克鲁斯卡尔&#xff08;Kruskal&#xff09;算法 1.算法思想 2.代码…

A - Block Sequence

思路&#xff1a; &#xff08;1&#xff09;对于每一个位置&#xff0c;有三种选择&#xff0c;一是选择删除&#xff0c;二是选择当排头清洗&#xff0c;三是被前面的排头清洗&#xff1b; &#xff08;2&#xff09;注意到总是要求将最后一位数清洗完&#xff0c;即前面信…

数学知识:扩展欧几里得算法

gcd就是a、b的最大公约数 #include<iostream> using namespace std;int exgcd(int a, int b, int &x, int &y)//返回gcd(a,b) 并求出解(引用带回) {if(b0){x 1, y 0;return a;}int x1,y1,gcd;//这里不用看a和b谁大&#xff0c;因为递归还是会反过来比较&#x…

[题] 前缀和 (含输入输出的耗时对比)

题目 前缀和 题解 前缀和模板 太简单了就多加了点东西:对比cin cout和scanf printf的耗时对比 代码 #include <iostream> using namespace std; const int N 100010; int n, m; int a[N], s[N]; int main(){scanf("%d%d", &n, &m);//原数组 for (in…

牛客周赛 Round 17 C,D

C 数组平均 思路&#xff1a;题目令我们把k个数字换成其对应的平均值后&#xff0c;要求整个数组的最大值和最小值的差值最小。 考虑贪心&#xff0c;对于数字的选择&#xff0c;我们尽可能选择一些差值比较大的数字&#xff0c;换言之&#xff0c;则是对数组进行排序后&…

【算法】染色法判定二分图

题目 给定一个 n 个点 m 条边的无向图&#xff0c;图中可能存在重边和自环。 请你判断这个图是否是二分图。 输入格式 第一行包含两个整数 n 和 m。 接下来 m 行&#xff0c;每行包含两个整数 u 和 v&#xff0c;表示点 u 和点 v 之间存在一条边。 输出格式 如果给定图是二分…

t2017递推1攀天梯

1、攀天梯(2006夏令营检测题) Description 北武当山又名真武山&#xff0c;古称龙王山。北武当山主峰四周几乎都是陡壁悬崖&#xff0c;只有一条人造“天梯”可攀&#xff0c;天梯由N级就山凿筑的石阶组成。 现在&#xff0c;聪聪打算通过天梯攀上北武当山主峰。攀天梯时&am…

多式联运路径优化问题:基于拓扑排序的遗传算法染色体编码

一、什么是拓扑排序 在图论中&#xff0c;拓扑排序&#xff08;Topological Sorting&#xff09;是一个有向无环图&#xff08;DAG, Directed Acyclic Graph&#xff09;的所有顶点的线性序列。且该序列必须满足下面两个条件&#xff1a; 每个顶点出现且只出现一次。若存在一…

P1144 最短路计数 题解

文章目录 题目描述输入格式输出格式样例样例输入样例输出 数据范围与提示完整代码 题目描述 给出一个 N N N 个顶点 M M M 条边的无向无权图&#xff0c;顶点编号为 1 ∼ N 1\sim N 1∼N。问从顶点 1 1 1 开始&#xff0c;到其他每个点的最短路有几条。 输入格式 第一行…

【LeetCode每日一题合集】2023.9.18-2023.9.24(⭐拓扑排序⭐设计数据结构:LRU缓存实现 LinkedHashMap⭐)

文章目录 337. 打家劫舍 III&#xff08;树形DP&#xff09;2560. 打家劫舍 IV&#xff08;二分查找动态规划&#xff09;LCP 06. 拿硬币&#xff08;简单贪心模拟&#xff09;2603. 收集树中金币⭐思路——拓扑排序删边 2591. 将钱分给最多的儿童&#xff08;分类讨论&#xf…

C++ Prim和kruskal求最小生成树算法

C Prim和 kruskal 求最小生成树算法 生成树&#xff1a;在图中找一棵包含图中的所有节点的树&#xff0c;生成树是含有图中所有顶点的无环连通子图。所有可能的生成树中&#xff0c;权重和最小的那棵生成树就叫最小生成树。在无向加权图中计算最小生成树&#xff0c;使用最小生…

[算法日志]图论刷题 沉岛思想的运用

[算法日志]图论刷题: 沉岛思想的运用 leetcode 695 岛屿最大面积 给你一个大小为 m x n 的二进制矩阵 grid . 岛屿 是由一些相邻的 1 (代表土地) 构成的组合, 这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻. 你可以假设 grid 的四个边缘都被 0&#xff08…

2023NOIP A层联测27 A.kotori

2023NOIP A层联测27 A.kotori 文章目录 2023NOIP A层联测27 A.kotori题目大意思路code 题目大意 琴里的飞船中有 n n n 个人&#xff0c;其中有 n − 1 n - 1 n−1 个通道&#xff0c;所以飞船的内部是一个树形结构。每个人从 1 − n 1-n 1−n 编号&#xff0c;编号越小代表…

算法进阶指南图论 道路与航线

其实再次看这题的时候。想法就是和强连通分量有关&#xff0c;我们很容易发现&#xff0c;题目中所说的双向边&#xff0c;就构成了一个强连通分量&#xff0c;而所谓的单向边&#xff0c;则相当于把强连通分量进行缩点&#xff0c;然后整个图成为了一个DAG&#xff0c;众所周知…

95 课程表

课程表 题解1 BFS&#xff08;拓扑图模板&#xff09;题解2 DFS 你这个学期必须选修 numCourses 门课程&#xff0c;记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出&#xff0c;其中 prerequisites[i] [ai, bi] &am…

【算法】最短路计数(计算最短路的数量)

题目 给出一个 N 个顶点 M 条边的无向无权图&#xff0c;顶点编号为 1 到 N。 问从顶点 1 开始&#xff0c;到其他每个点的最短路有几条。 输入格式 第一行包含 2 个正整数 N,M&#xff0c;为图的顶点数与边数。 接下来 M 行&#xff0c;每行两个正整数 x,y&#xff0c;表示有…

代码随想录图论部分-695. 岛屿的最大面积|1020. 飞地的数量

695. 岛屿的最大面积 题目&#xff1a;给你一个大小为 m x n 的二进制矩阵 grid 。岛屿 是由一些相邻的 1 (代表土地) 构成的组合&#xff0c;这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0&#xff08;代表水&#xff0…

C++算法:图中的最短环

题目 现有一个含 n 个顶点的 双向 图&#xff0c;每个顶点按从 0 到 n - 1 标记。图中的边由二维整数数组 edges 表示&#xff0c;其中 edges[i] [ui, vi] 表示顶点 ui 和 vi 之间存在一条边。每对顶点最多通过一条边连接&#xff0c;并且不存在与自身相连的顶点。 返回图中 …

C++中图的存储

文章目录 0. 实例图1. 邻接矩阵2. 邻接矩阵2.1 链表数组2.2 链式前向星 3. 参考 0. 实例图 考虑下面这样一个图 1. 邻接矩阵 vis[i][j] 表示从i 到j有一条边。直接用二维数组就可以了。 using namespace std; int vertex_num 5; vector<vector<int>> graph(v…

Problem I. Magic Potion--2018ICPC南京

解析&#xff1a; 对于英雄跑一边二分图匹配&#xff0c;记录res1 再跑一边二分图匹配&#xff0c;记录res2 答案即为res1min&#xff08;k&#xff0c;res2&#xff09; #include<bits/stdc.h> using namespace std; int n,m,k; int g[510][510],match[510],st[510]; b…

C++ Dijkstra 最短路径求解算法的两种实现方案

迪杰斯特拉算法(Diikstra) 是由荷兰计算机科学家狄克斯特拉于1959 年提出的&#xff0c;因此又叫狄克斯特拉算法。 核心思想&#xff0c;搜索到某一个顶点后&#xff0c;更新与其相邻顶点的权重。顶点权重的数据含义表示从起始点到此点的最短路径长度&#xff08;也就是经过的…

P5960【模板】差分约束

【模板】差分约束 题目描述 给出一组包含 m m m 个不等式&#xff0c;有 n n n 个未知数的形如&#xff1a; { x c 1 − x c 1 ′ ≤ y 1 x c 2 − x c 2 ′ ≤ y 2 ⋯ x c m − x c m ′ ≤ y m \begin{cases} x_{c_1}-x_{c_1}\leq y_1 \\x_{c_2}-x_{c_2} \leq y_2 \\ \cd…

2023NOIP A层联测27-kotori

琴里的飞船中有 n n n 个人&#xff0c;其中有 n − 1 n - 1 n−1 个通道&#xff0c;所以飞船的内部是一个树形结构。每个人从 1 ∼ n 1\sim n 1∼n 编号&#xff0c;编号越小代表这个人的投票经验最丰富。 每个人有一个投票装置&#xff0c;初始都没有启动。现在琴里希望…

算法进阶指南图论 最优贸易

最优贸易 题目描述 C C C 国有 n n n 个大城市和 m m m 条道路&#xff0c;每条道路连接这 n n n 个城市中的某两个城市。任意两个城市之间最多只有一条道路直接相连。这 m m m 条道路中有一部分为单向通行的道路&#xff0c;一部分为双向通行的道路&#xff0c;双向通行的…

图论10-哈密尔顿回路和哈密尔顿路径+状态压缩+记忆化搜索

文章目录 1 哈密尔顿回路2 哈密尔顿回路算法实现2.1 常规回溯算法2.2 引入变量记录剩余未访问的节点数量 3 哈密尔顿路径问题4 状态压缩4.1 查看第i位是否为14.2 设置第i位是为1或者04.3 小结4.4 状态压缩在哈密尔顿问题中的应用 5 记忆化搜索5.1 记忆化搜索与递推区别5.2 记忆…

图神经网络 (GNN)

目录 一、GNN介绍1.1引入1.1.1图的介绍1.1.2怎样将内容表示成图1.1.4图神经网络是在做什么 1.2基本概念 二、GNN流程2.1聚合2.2更新2.2.1一次GNN操作 2.3循环2.3.1多层GNN操作2.3.2能做什么 三、GNN算法原理3.1数据3.2变量定义3.3GNN算法3.3.1Forward3.3.2Backward 四、GNN优势…

图论11-欧拉回路与欧拉路径+Hierholzer算法实现

文章目录 1 欧拉回路的概念2 欧拉回路的算法实现3 Hierholzer算法详解4 Hierholzer算法实现4.1 修改Graph&#xff0c;增加API4.2 Graph.java4.3 联通分量类4.4 欧拉回路类 1 欧拉回路的概念 2 欧拉回路的算法实现 private boolean hasEulerLoop(){CC cc new CC(G);if(cc.cou…

畅通工程之局部最小花费问题 (C++)

目录 题目&#xff1a; 思路&#xff1a; 代码&#xff1a; 结果 题目&#xff1a; 思路&#xff1a; 详细思路都在代码注释里 。 代码&#xff1a; #include<iostream>//无向图邻接矩阵 #include<map> #include<algorithm> #define mvnum 1005 using …

acwing算法基础之搜索与图论--有向图的拓扑序列

目录 1 基础知识2 模板3 工程化 1 基础知识 拓扑序列&#xff1a;针对有向图而言&#xff0c;该序列内&#xff0c;所有边都是从前指向后的。 如果存在环&#xff0c;那么该图一定不存在拓扑序列。否则&#xff0c;一定存在拓扑序列。 有向图中的入度和出度。 入度为0的结点…

【基础算法模板梳理】再也不想学算法了!(待更新)

目录 1、【二分】 &#xff08;1&#xff09;rmid —— 大于等于某数的最小值 &#xff08;2&#xff09;lmid —— 小于等于某数的最大值 2、【前缀和】 &#xff08;1&#xff09;一维前缀和 &#xff08;2&#xff09;二维前缀和 3、【差分】 &#xff08;1&#x…

acwing算法基础之搜索与图论--floyd算法

目录 1 基础知识2 模板3 工程化 1 基础知识 floyd算法的时间复杂度为O(n^3)&#xff0c;它用来解决多源最短路问题。它的原理是基于动态规划。 floyd算法的关键步骤&#xff1a; k从1到n。i从1到n。j从1到n&#xff0c;d[i][j] min(d[i][j], d[i][k] d[k][j])。经过上述三…

acwing算法基础之搜索与图论--染色法判断二分图

目录 1 基础知识2 模板3 工程化 1 基础知识 二分图&#xff1a;每条边连接的起点和终点&#xff0c;分别属于集合A和集合B。 一个图是二分图&#xff0c;当且仅当&#xff0c;图中不含奇数环&#xff08;即&#xff0c;回环中的结点数目是奇数&#xff09;。 染色法判定二分…

LeetCode热题100——图论

图论 1. 岛屿的数量2. 腐烂的橘子 1. 岛屿的数量 给你一个由 ‘1’&#xff08;陆地&#xff09;和 ‘0’&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格中岛屿的数量。岛屿总是被水包围&#xff0c;并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆…

洛谷 P4568 [JLOI2011] 飞行路线 pytho解析

P4568 [JLOI2011] 飞行路线 pytho解析 时间&#xff1a;2023.11.20 题目地址&#xff1a;[JLOI2011] 飞行路线 题目分析 对于这个题呢就是最短路的问题了。那就可以用Dijkstra 算法&#xff0c;唯一不同的地方就是有免费的机票次数&#xff0c;那我们就先不考虑这个&#xf…

第1关:图的邻接矩阵存储及求邻接点操作

任务要求参考答案评论2 任务描述相关知识 顶点集合边集合编程要求测试说明 任务描述 本关任务&#xff1a;要求从文件输入顶点和边数据&#xff0c;包括顶点信息、边、权值等&#xff0c;编写程序实现以下功能。 1&#xff09;构造无向网G的邻接矩阵和顶点集&#xff0c;即图…

《洛谷深入浅出基础篇》P3916 图的遍历——逆向搜索

上链接&#xff1a; P3916 图的遍历 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P3916上题干&#xff1a; 题目描述 给出 N 个点&#xff0c;M 条边的有向图&#xff0c;对于每个点 v&#xff0c;求 A(v) 表示从点 v 出发&#xff0c;能到…

14——1

这句话的意思是&#xff0c;如图中月份12天数23时&#xff0c;就是1223&#xff1b;当月份9天数2时&#xff0c;就是0902. 可以看到在上面给出的数组元素中&#xff0c;并没有连续挨在一起的2023数字元素——就有人可能输出答案0。 所以这里要看一下—— ——子序列的含义&…

【算法】spfa算法求最短路(没有负环)

题目 给定一个 n 个点 m 条边的有向图&#xff0c;图中可能存在重边和自环&#xff0c; 边权可能为负数。 请你求出 1 号点到 n 号点的最短距离&#xff0c;如果无法从 1 号点走到 n 号点&#xff0c;则输出 impossible。 数据保证不存在负权回路。 输入格式 第一行包含整…

【数据结构】F : 道路建设 (Ver. I)

F : 道路建设 (Ver. I) Description 有N个村庄&#xff0c;编号从1到N&#xff0c;你应该建造一些道路&#xff0c;使每个村庄都可以相互连接。 两个村A和B是相连的&#xff0c;当且仅当A和B之间有一条道路&#xff0c;或者存在一个村C使得在A和C之间有一条道路&#xff0c;并…

图论——二部图及其算法

什么是二部图 二部图的判定 例子1 任选一个节点染成红色 红色的邻居染成蓝色 蓝色邻居染成红色 例子2 这个不是二部图 无权二部图的最大匹配

PTA 密接判定v1(close_contact1)

Omicron变种病毒传染性太强了&#xff0c;城市屡屡破防。封闭在家的我决定为防疫做点事&#xff1a;帮助筛选密切接触、次密切接触人员。 网格员提供了一些小区的风险时段内的接触记录、确诊人员&#xff0c;需要判断人员的风险分类&#xff1a; A类&#xff1a;疑似病例、临床…

图的建立基本操作

#include <stdio.h> #include <stdlib.h> #include <stdbool.h> // 添加头文件#define MAX_VERTEX_NUM 100 //图中最大顶点数//struct ArcNode* nextarc; //ArcNode* firstarc; //这两个是很有必要的&#xff0c;如果你没有这两个指针&#xff0c;你就无法判…

【算法】区间(差分约束)

题目 给定 n 个区间 [ai,bi] 和 n 个整数 ci。 你需要构造一个整数集合 Z&#xff0c;使得 ∀i∈[1,n]&#xff0c;Z 中满足 ai≤x≤bi 的整数 x 不少于 ci 个。 求这样的整数集合 Z 最少包含多少个数。 输入格式 第一行包含整数 n。 接下来 n 行&#xff0c;每行包含三个…

[图片来源BZhan]最小生成树(Prim➕Kruskal)、最短路径(Dijkstra➕Floyd)

文章目录 0.基础知识0.1图的存储结构0.2算法复杂度1.BFS和DFS2.Prim和Kruskal 1.最小生成树1.1Prim算法1.算法思想2.Prim代码实现 1.2Kruskal算法1.算法思想2.Kruskal代码实现[demo] 2.最短路径2.1问题抽象:2.2两种常见的最短路径问题:1.Dijkstra: 单源最短路径O(N^2)2.Floyd: …

51-58-图论

LeetCode 热题 100 文章目录 LeetCode 热题 100图论51. 中等-全排列52. 中等-子集53. 中等-电话号码的字母组合54. 中等-组合总和55. 中等-括号生成56. 中等-单词搜索57. 中等-分割回文串58. 困难-N皇后 本文存储我刷题的笔记。 图论 51. 中等-全排列 52. 中等-子集 53. 中等…

算法基础之合并集合

合并集合 核心思想:并查集: 1.将两个集合合并2.询问两个元素是否在一个集合当中 基本原理:每个集合用一棵树表示 树根的编号就是整个集合的编号 每个节点存储其父节点&#xff0c;p[x]表示x的父节点 #include<iostream>using namespace std;const int N100010;int p[N];…

代码随想录图论|130. 被围绕的区域 417太平洋大西洋水流问题

130. 被围绕的区域 **题目&#xff1a;**给你一个 m x n 的矩阵 board &#xff0c;由若干字符 ‘X’ 和 ‘O’ &#xff0c;找到所有被 ‘X’ 围绕的区域&#xff0c;并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。 题目链接&#xff1a;130. 被围绕的区域 解题思路&#xff1a…

【算法】Floyd算法多源汇最短路

最短路问题基础问题到这里就结束了&#xff0c;附上最短路问题知识结构图。 题目 给定一个 n 个点 m 条边的有向图&#xff0c;图中可能存在重边和自环&#xff0c;边权可能为负数。 再给定 k 个询问&#xff0c;每个询问包含两个整数 x 和 y&#xff0c;表示查询从点 x 到点…

acwing算法基础之搜索与图论--prim算法

目录 1 基础知识2 模板3 工程化 1 基础知识 朴素版prim算法的关键步骤&#xff1a; 初始化距离数组dist&#xff0c;将其内的所有元素都设为正无穷大。定义集合S&#xff0c;表示生成树。循环n次&#xff1a;找到不在集合S中且距离集合S最近的结点t&#xff0c;用它去更新剩余…

数据结构从未如此简单——图(一)

文章目录 前言图的初印象教科书力扣工作中的实际应用我们的学习方法 前言 个人感觉数据结构学习最大的难点就是抽象。这些概念和算法都是从许多源问题中抽离、精炼、总结出来的。我们学习的看似是最精华的部分&#xff0c;但是忽略了推导过程&#xff0c;很容易变成死记硬背&a…

图论12-无向带权图及实现

文章目录 带权图1.1带权图的实现1.2 完整代码 带权图 1.1带权图的实现 在无向无权图的基础上&#xff0c;增加边的权。 使用TreeMap存储边的权重。 遍历输入文件&#xff0c;创建TreeMap adj存储每个节点。每个输入的adj节点链接新的TreeMap&#xff0c;存储相邻的边和权重 …

B3644 【模板】拓扑排序 / 家谱树

Portal. 拓扑排序的定义为&#xff0c;若存在边 u → v u\rightarrow v u→v&#xff0c;则 u u u 的拓扑序小于 v v v。拓扑排序是针对 DAG&#xff08;有向无环图&#xff09;而言的。 拓扑排序的流程如下&#xff1a; 记录每个点的度数&#xff0c;把度数为 0 0 0 的…

【算法每日一练]-单调队列,滑动窗口(保姆级教程 篇1) #滑动窗口 #求m区间的最小值 #理想的正方形 #切蛋糕

今天讲单调队列 目录 题目&#xff1a;滑动窗口 思路&#xff1a; 题目&#xff1a;求m区间的最小值​ 思路&#xff1a; 题目&#xff1a;理想的正方形 思路&#xff1a; 题目&#xff1a;切蛋糕 思路&#xff1a; 一共两种类型&#xff1a;一种是区间中的最值&…

两个序列(数论)

两个序列 Problem:B Time Limit:1000ms Memory Limit:65535K Description Gugu 有两个长度无限长的序列A,BA0a^0/0!,A1a^1/1!,A2a^2/2!,A3a^3/3!…. B00, B1b^1/1!,B20,B3b^3/3!,B40, B5b^5/5! … Douge 看到这道这两个序列很觉得很麻烦&#xff0c;所以他想到一个好点子&…

图论2023.11.12

二分图--匈牙利算法匹配 P2319 [HNOI2006] 超级英雄 P1894[USACO4.2] 完美的牛栏The Perfect Stall P2071 座位安排 分层图 P4822 [BJWC2012] 冻结 P4568[JLOI2011] 飞行路线 P2939 [USACO09FEB] Revamping Trails G 最短路 P2149[SDOI2009] Elaxia的路线 Elaxia 和 w*…

克鲁斯卡尔算法(C++)

目录 克鲁斯卡尔算法 ​编辑代码&#xff1a; 结果&#xff1a; 克鲁斯卡尔算法 克鲁斯卡尔算法是一种用于求解最小生成树的算法。最小生成树是指一棵包含了所有节点的连通图&#xff0c;并且边的权值之和最小。 克鲁斯卡尔算法的基本思想是&#xff0c;每次选择图中最小的…

二分图判定和二分图最大匹配

1.二分图的定义 二分图是一种特殊的无向图&#xff0c;它的节点可以被划分为两个互不相交的集合&#xff0c;使得同一集合中的任意两个节点之间没有边相连&#xff0c;而不同集合中的节点之间都有边相连。 换句话说&#xff0c;如果一个无向图可以被划分为两个集合&#xff0…

【算法每日一练]-图论(保姆级教程 篇4(遍历))#传送门 #负环判断 #灾后重建

今天继续 目录 题目&#xff1a;传送门 思路&#xff1a; 题目&#xff1a;负环判断 思路&#xff1a; 题目&#xff1a;灾后重建 思路&#xff1a; 题目&#xff1a;传送 门 思路&#xff1a; 先跑一边floyd&#xff0c;然后依次加入每个传送门&#xff0c;O(n^5)不行…

电子学会C/C++编程等级考试2021年03月(三级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:找和为K的两个元素 在一个长度为n(n < 1000)的整数序列中,判断是否存在某两个元素之和为k。 时间限制:1000 内存限制:65536输入 第一行输入序列的长度n和k,用空格分开。 第二行输入序列中的n个整数,用空格分开。输出 如…

图论与网络优化2

CSDN 有字数限制&#xff0c;因此笔记分别发布&#xff0c;目前&#xff1a; 【笔记1】概念与计算、树及其算法【笔记2】容量网络模型 4.1 容量网络模型 4.1.1 容量网络 容量网络&#xff1a;如果一个加权有向网络 D D D 满足如下三个条件&#xff1a;①存在唯一一个入度为…

acwing算法基础之搜索与图论--匈牙利算法求二分图的最大匹配数

目录 1 基础知识2 模板3 工程化 1 基础知识 二分图中的最大匹配数&#xff1a;从二分图中选择一些边&#xff08;这些边连接集合A和集合B&#xff0c;集合A中结点数目为n1&#xff0c;集合B中结点数目为n2&#xff09;&#xff0c;设为集合S&#xff0c;其中任意两条边不共用一…

【算法每日一练]-单调队列(保姆级教程 篇2)#琪露诺 #选数游戏 #寻找段落

最后一期单调队列了啊 目录 题目&#xff1a;琪露诺 思路&#xff1a; 题目&#xff1a;选数游戏 思路&#xff1a; 题目&#xff1a;寻找段落 思路&#xff1a; 之前做的都是连续的长度区间求最值&#xff0c;今天体验一下不连续的区间。 然后就是要注意维护单调队列时…

有向图的强连通分量,tarjan算法,367. 学校网络

367. 学校网络 - AcWing题库 一些学校连接在一个计算机网络上&#xff0c;学校之间存在软件支援协议&#xff0c;每个学校都有它应支援的学校名单&#xff08;学校 A 支援学校 B&#xff0c;并不表示学校 B 一定要支援学校 A&#xff09;。 当某校获得一个新软件时&#xff0…

lucas模板

代码&#xff1a; #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<cstdio> #include<cstdlib> #include<string> #include<cstring> #include<cmath> #include<ctime> #include<algorithm> #include<utili…

P3371 【模板】单源最短路径(弱化版)

【模板】单源最短路径&#xff08;弱化版&#xff09; 题目背景 本题测试数据为随机数据&#xff0c;在考试中可能会出现构造数据让SPFA不通过&#xff0c;如有需要请移步 P4779。 题目描述 如题&#xff0c;给出一个有向图&#xff0c;请输出从某一点出发到所有点的最短路…

【算法每日一练]-图论(保姆级教程篇11 tarjan模板篇)无向图的桥 #无向图的割点 #有向图的强连通分量

目录 预备知识 模板1&#xff1a;无向图的桥 模板2&#xff1a;无向图的割点 模板3&#xff1a;有向图的强连通分量 讲之前先补充一下必要概念&#xff1a; 预备知识 无向图的【连通分量】&#xff1a; 即极大联通子图&#xff0c;再加入一个节点就不再连通&#xff08;对…

1076 Forwards on Weibo (链接表层序遍历)

题意&#xff1a;给出关注列表&#xff0c;博主的粉丝会给博主点赞&#xff0c;粉丝的粉丝也会给博主点赞&#xff0c;一直递推到最多L层&#xff0c;求&#xff0c;最后会有多少人给博主点赞。 思路&#xff1a;将关注的粉丝用链接表存储&#xff0c;再对博主进行层序遍历&am…

[Tricks] 记各类欧拉回路问题

以前从来没见过除了板子以外的题&#xff0c;但最近总是做题见到欧拉回路&#xff0c;然后一样的 trick 每次都想不到。 怎么一点举一反三的能力都没有的&#xff1f; 板子 有向图的欧拉回路 dfs&#xff0c;当前弧优化。 Code stack<int> q; void dfs(int u) {for(int i…

图论|并查集理论基础 1971. 寻找图中是否存在路径

什么是并查集 并查集是一种数据结构&#xff0c;用于处理一些不交集的合并及查询问题。它支持两种操作&#xff1a; 查找&#xff08;Find&#xff09;&#xff1a;确定某个元素属于哪个子集。它可以用来判断两个元素是否属于同一个子集。 合并&#xff08;Union&#xff09;&…

【图论】重庆大学图论与应用课程期末复习资料(私人复习资料)

考试章节范围 第一章&#xff1a;1.1、1.2、1.3 填空 顶点集和边集都有限的图&#xff0c;称为有限图只有一个顶点的图&#xff0c;称为平凡图边集为空的图&#xff0c;称为空图顶点数为n的图&#xff0c;称为n阶图连接两个相同顶点的边的条数称为边的重数&#xff1b;重数大…

AtCoder Beginner Contest 327 A-F

文章目录 A - abB - A^AC - Number PlaceD - Good Tuple ProblemE - Maximize RatingF - Apples A - ab #include <bits/stdc.h>using namespace std; const int N 2e5 5; typedef long long ll; typedef pair<ll, ll> pll; typedef array<ll, 3> p3; int…

PTA-快速幂

要求实现一个递归函数&#xff0c;高效求ab(1≤a,b≤62,ab<263)。 函数接口定义&#xff1a; long long int pow(int a, int b); 其中a 、b 是用户传入的参数。 裁判测试程序样例&#xff1a; #include<iostream> using namespace std; long long int pow(int a,…

客观题测试-第6章图

第1关&#xff1a;图-客观题测试 &#xff08;一&#xff09; 1、无向图中一个顶点的度是指图中&#xff08;&#xff09;。 A、通过该顶点的简单路径数 B、与该顶点相邻接的顶点数 C、与该顶点连通的顶点数 D、通过该顶点的回路数 2、以下说法正确的是&#xff08;&…

C++ 图论之Floyd算法求解次最短路径的感悟,一切都是脱壳后找最值而已

公众号&#xff1a;编程驿站 1. 前言 抛开基因的影响&#xff0c;学霸和学渣到底是在哪一点上有差异&#xff1f; 学霸刷完 200 道题&#xff0c;会对题目分类&#xff0c;并总结出解决类型问题的通用模板&#xff0c;我不喜欢模板这个名词&#xff0c;感觉到投机的意味&…

数据结构(超详细讲解!!)第二十六节 图(下)

1.无向图的连通分量 图遍历时&#xff0c;对于连通图&#xff0c;无论是广度优先搜索还是深度优先搜索&#xff0c;仅需要调用一次搜索过程&#xff0c;即从任一个顶点出发&#xff0c;便可以遍历图中的各个顶点。对于非连通图&#xff0c;则需要多次调用搜索过程&#xff0c;而…

有权图的最短路径算法

目录 单源最短路径问题 Dijkstra算法 原理 ​ 获得最短路径长度的Dijkstra代码实现 时间复杂度 算法优化 优先队列优化后的代码实现 时间复杂度 可以具体获得最短路径的Dijkstra代码实现 Bellman-Ford算法 原理 代码实现 Floyed算法 原理 代码实现 单源最短路…

C++双指针算法:统计点对的数目

本周推荐阅读 C二分算法&#xff1a;得到子序列的最少操作次数 本题其它解法 C二分查找&#xff1a;统计点对的数目 题目 给你一个无向图&#xff0c;无向图由整数 n &#xff0c;表示图中节点的数目&#xff0c;和 edges 组成&#xff0c;其中 edges[i] [ui, vi] 表示 u…

电子学会C/C++编程等级考试2021年03月(五级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:最小新整数 给定一个十进制正整数n(0 < n < 1000000000),每个数位上数字均不为0。n的位数为m。 现在从m位中删除k位(0<k < m),求生成的新整数最小为多少? 例如: n = 9128456, k = 2, 则生成的新整数最小为12456…

【Java】图论笔记

已含dfs和bfs&#xff0c;相关算法正在研究 代码 import java.util.*;public class Prim{public static void main(String[] args) {Graph graphnew Graph();graph.addVertex("A");graph.addVertex("B");graph.addVertex("C");graph.addVertex…

U4_2:图论之MST/Prim/Kruskal

文章目录 一、最小生成树-MST生成MST策略一些定义 思路彩蛋 二、普里姆算法&#xff08;Prim算法&#xff09;思路算法流程数据存储分析 伪代码时间复杂度分析 三、克鲁斯卡尔算法&#xff08;Kruskal算法&#xff09;分析算法流程并查集-Find-set 伪代码时间复杂度分析 一、最…

电子学会C/C++编程等级考试2021年06月(五级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:数字变换 给定一个包含5个数字(0-9)的字符串,例如 “02943”,请将“12345”变换到它。 你可以采取3种操作进行变换 1. 交换相邻的两个数字 2. 将一个数字加1。如果加1后大于9,则变为0 3. 将一个数字加倍。如果加倍后大于…

数据结构 -- 并查集与图

目录 1.并查集 1.结构 2.原理 3.代码实现 1.存储 2.寻找根节点 3.是否为同一集合 4.求集合个数 5.合并为同一集合中 整体代码 2.图 1.基本知识 1.各个属性 2.特殊名词 3.图的解释 2.图的表示 1.邻接矩阵 2.邻接表 3.图的遍历 1.BFS--广度优先遍历 2.DFS--…

【高数定积分求解旋转体体积】 —— (上)高等数学|定积分|柱壳法|学习技巧

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 &#x1f4ab;个人格言:"没有罗马,那就自己创造罗马~" 目录 Shell method Setting up the Integral 例题 Example 1: Example 2: Example 3: Computing…

图面试专题

一、概念 和二叉树的区别&#xff1a;图可能有环 常见概念 顶点&#xff08;Vertex&#xff09;&#xff1a; 图中的节点或点。边&#xff08;Edge&#xff09;&#xff1a; 顶点之间的连接线&#xff0c;描述节点之间的关系。有向图&#xff08;Directed Graph&#xff09;&…

数据结构 -- 图论之最小生成树

目录 1.最小生成树算法 1.Kruskal算法 2.Prim算法 1.最小生成树算法 定义:最小生成树算法:连通图有n个顶点组成,那么此时的图的每一个点都能相互连接并且边的个数为n-1条,那么此时该图就是最小生成树. 下面量算法有几个共同的特点: 1.只能使用图中权值最小的边来构造生成树 …

数据结构图代码

图抽象数据类型 ADT Graph {数据对象&#xff1a;D{ai | 1<i<n, n>0, ai为ElemType类型&#xff1b;}数据关系&#xff1a;R {<ai,aj> | ai,aj属于D, 1 < i,j < n, 其中每个元素可以有零个或多个前驱元素&#xff0c;可以有0个或多个后继元素; }基本运算…

C/C++,图算法——求强联通的Tarjan算法之源程序

1 文本格式 #include <bits/stdc.h> using namespace std; const int maxn 1e4 5; const int maxk 5005; int n, k; int id[maxn][5]; char s[maxn][5][5], ans[maxk]; bool vis[maxn]; struct Edge { int v, nxt; } e[maxn * 100]; int head[maxn], tot 1; vo…

图论|684.冗余连接 685. 冗余连接 II

684.冗余连接 题目&#xff1a;树可以看成是一个连通且 无环 的 无向 图。 给定往一棵 n 个节点 (节点值 1&#xff5e;n) 的树中添加一条边后的图。添加的边的两个顶点包含在 1 到 n 中间&#xff0c;且这条附加的边不属于树中已存在的边。图的信息记录于长度为 n 的二维数组 …

C++算法入门练习——最短路径-多路径

现有一个共n个顶点&#xff08;代表城市&#xff09;、m条边&#xff08;代表道路&#xff09;的无向图&#xff08;假设顶点编号为从0到n-1&#xff09;&#xff0c;每条边有各自的边权&#xff0c;代表两个城市之间的距离。求从s号城市出发到达t号城市的最短路径条数和最短路…

1144. 连接格点,Kruskal算法,二维矩阵压缩为一维

有一个 m 行 n 列的点阵&#xff0c;相邻两点可以相连。 一条纵向的连线花费一个单位&#xff0c;一条横向的连线花费两个单位。 某些点之间已经有连线了&#xff0c;试问至少还需要花费多少个单位才能使所有的点全部连通。 输入格式 第一行输入两个正整数 m 和 n。 以下若…

图论 2023.11.27

Kruskal定义不同的优先级 P3623 [APIO2008] 免费道路 给定一个无向图&#xff0c;其中一些边是0&#xff0c;其他边为1 两个不同的点之间都应该一条且仅由一条边连接 并保持刚好K条0&#xff0c;求是否有解决方案 n<2e4,m<1e5 Kruskal定义不同的优先级 思路&#xff1a;…

数据结构 第5 6 章作业 图 哈希表 西安石油大学

第6章 图 1&#xff0e;选择题 &#xff08;1&#xff09;在一个图中&#xff0c;所有顶点的度数之和等于图的边数的&#xff08; &#xff09;倍。 A&#xff0e;1/2 B&#xff0e;1 C&#xff0e;2 D&#xff0e;4 答案&#xff1a…

《算法竞赛进阶指南》------图论篇

文章目录 0x01 Telephone Lines POJ - 36620x02 P1073 [NOIP2009 提高组] 最优贸易0x03 道路和航线 BZOJ22000x04 Sorting It All Out POJ - 1094 topo0x05 Sightseeing trip POJ - 1734 最小环问题0x06 Cow Relays POJ - 3613 S到E经过k条边的最短路0x07 走廊泼水节 &#xff…

数据结构(超详细讲解!!)第二十六节 图(中)

1.存储结构 1.邻接矩阵 图的邻接矩阵表示法&#xff08;Adjacency Matrix&#xff09;也称作数组表示法。它采用两个数组来表示图&#xff1a; 一个是用于存储顶点信息的一维数组&#xff1b;另一个是用于存储图中顶点之间关联关系的二维数组&#xff0c;这个关联关系数组被…

深入解析NK模型:复杂适应性系统的演化之谜

NK模型是一种用于研究复杂适应性系统的数学模型&#xff0c;最初由生物学家 Stuart Kauffman 于1993年提出。这模型的目的是模拟生物进化过程中的复杂性&#xff0c;并通过网络结构和相互作用来研究解空间的性质。 目录 一、NK模型介绍1. 模型基础2. 模型参数3. 适应性函数4..…

换根DP模板

给你一个无根树&#xff0c;问你以哪个节点为根节点的时候得到所有点的深度之和最大 《贴一张 知乎大佬的一个解释》 #include<bits/stdc.h> using namespace std; const int N 2e610; using ll long long; ll dep[N],sz[N]; ll ans[N]; vector<int>g[N]; int n;…

【知识】如何区分图论中的点分割和边分割

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 以下两个概念在现有中文博客下非常容易混淆&#xff1a; edge-cut(边切割) vertex-partition(点分割)vertex-cut(点切割) edge-partition(边分割) 实际上&#xff0c;初看中文时&#xff0c;真的会搞不清楚。但…

【图论笔记】克鲁斯卡尔算法(Kruskal)求最小生成树

【图论笔记】克鲁斯卡尔算法&#xff08;Kruskal&#xff09;求最小生成树 适用于 克鲁斯卡尔适合用来求边比较稀疏的图的最小生成树 简记&#xff1a; 将边按照升序排序&#xff0c;选取n-1条边&#xff0c;连通n个顶点。 添加一条边的时候&#xff0c;如何判断能不能添加…

Codeforces Round 909 (Div. 3)

Codeforces Round 909 (Div. 3) A 莫3为0必败&#xff0c;其他必胜 #include <bits/stdc.h>using namespace std;void solve() {int n;cin >> n;if(n%30){cout << "Second\n";}else{cout << "First\n";} }int main() {int T;ci…

neuq-acm预备队训练week 8 P8794 [蓝桥杯 2022 国 A] 环境治理

题目描述 输入格式 输出格式 输出一行包含一个整数表示答案。 输入输出样例 解题思路 最短路二分 AC代码 #include<bits/stdc.h> using namespace std; long long temp,n, Q; long long f[105][105],min_f[105][105],cut[105],dis[105][105];//cut为减少多少&#x…

【图论-匈牙利算法】Hungary Algorithm完整代码(一) 之 matlab实现

学习参考链接 博客 分配问题与匈牙利算法 带你入门多目标跟踪&#xff08;三&#xff09;匈牙利算法&KM算法 视频 运筹学 | 例题详解指派问题 前言 图论-匈牙利算法原理参见上述参考连接中的博客与BiliBili博主的学习视屏&#xff0c;讲的很好很透彻。强烈建议看完&#…

【专题】最小生成树(prim算法、kruscal算法)

目录 一、最小生成树二、Prim算法1. 算法思想2. 例题3. 性能分析 三、Kruscal算法1. 算法思想2. 例题3. 性能分析 一、最小生成树 生成树中边的权值&#xff08;代价&#xff09;之和最小的树。 二、Prim算法 1. 算法思想 设N(V,{E})是连通网&#xff0c;TE是N上最小生成树…

LeetCode 2276. 统计区间中的整数数目

一、题目 1、题目描述 给你区间的 空 集&#xff0c;请你设计并实现满足要求的数据结构&#xff1a; 新增&#xff1a;添加一个区间到这个区间集合中。统计&#xff1a;计算出现在 至少一个 区间中的整数个数。 实现 CountIntervals 类&#xff1a; CountIntervals() 使用区间…

第五章 图论 邻接表存图

邻接表存图 存储结构 #define MaxSize 10 typedef char DataType; typedef struct EdgeNode{ // 定义边表节点 int adjvex;struct EdgeNode *next; } EdgeNode;typedef struct{ // 定义顶点表结点DataType vertex;EdgeNode *first; } vertexNode;typedef struct{vertexNode …

第五章 图论 邻接矩阵存图

邻接矩阵存图 存储结构定义 #define MaxSize 10 // 图中最多顶点个数 typedef char DataType; typedef strcut{DataType vertex[MaxSize];int edge[MaxSize][MaxSize];int vertexNum, edgeNum; } Mgraph;建图 void CreateGraph(Mgraph *G, DataType a[], int n, int m){G-&g…

图论(边次数限制)转流:P3163危桥

https://www.luogu.com.cn/problem/P3163 考虑一条无向边 ( u , v ) (u,v) (u,v) 可走 w w w 次。 我们直接这样子转换 因此直接跑即可 但此题中如果我们直接源点练出去&#xff0c;汇点连出入&#xff0c;可能会算错&#xff1a; 如果都能流对应的流量&#xff0c;那么我…

算法竞赛备赛进阶之树形DP训练

目录 1.树的最长路径 2.树的中心 3.数字转换 4.二叉苹果树 5.战略游戏 6.皇宫守卫 树形DP是一种动态规划方法&#xff0c;主要用于解决树形结构的问题。在树形DP中&#xff0c;通常会使用动态规划的思想来求解最优化问题。其核心在于通过不断地分解问题和优化子问题来解决…

AcWing算法进阶课-1.1.2Dinic/ISAP求最大流

算法进阶课整理 CSDN个人主页&#xff1a;更好的阅读体验 原题链接 题目描述 给定一个包含 n n n 个点 m m m 条边的有向图&#xff0c;并给定每条边的容量&#xff0c;边的容量非负。 图中可能存在重边和自环。求从点 S S S 到点 T T T 的最大流。 输入格式 第一行包…

算法基础之筛法求欧拉函数

筛法求欧拉函数 核心思想 &#xff1a;线性筛法 筛的过程中顺便求欧拉函数 第一种情况 (i % prime[j] 0) 第二种情况 (i % prime[j] ! 0) #include<iostream>#include<algorithm>using namespace std;typedef long long LL;const int N 1000010;int prime[N],cnt…

普通栈的算法

栈 头文件Q是一个队列&#xff0c;S是一个空栈&#xff0c;编写算法使得队列中元素逆置判断单链表的全部n个字符是否中心对称 用栈来实现两个栈s1,s2都采用顺序存储&#xff0c;并共享一个存储区[0...,maxsize-1]。采用栈顶相向&#xff0c;迎面增长的存储方式&#xff0c;设计…

Educational Codeforces Round 158 (Rated for Div. 2)

Educational Codeforces Round 158 (Rated for Div. 2) 文章目录 Educational Codeforces Round 158 (Rated for Div. 2)ABCD A 枚举模拟 #include <bits/stdc.h>using namespace std;const int N 2e5 10; int a[N];void solve() {int n , x;cin >> n >>…

算法基础之完全背包问题

完全背包问题 核心思想&#xff1a;集合表示&#xff1a; f[i][j]表示前i种物品 总容量不超过j的最大价值 求f[i][j]时 分为选0、1、2……n个第i种物品 n种情况 每种情况为 f[i][j-kv] (取k个第i种物品) 即f[i][j] max(f[i-1][j] , f[i-1][j-v]w,f[i-1][j-2v]2w….f[i-1][j-k…

【备战蓝桥杯】图论重点 敲黑板啦!

蓝桥杯备赛 | 洛谷做题打卡day11 文章目录 蓝桥杯备赛 | 洛谷做题打卡day11杂务题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 题解代码我的一些话 杂务 题目描述 John 的农场在给奶牛挤奶前有很多杂务要完成&#xff0c;每一项杂务都需要一定的时间来完成它。比如&a…

【数据结构】堆的实现和排序

目录 1、堆的概念和结构 1.1、堆的概念 1.2、堆的性质 1.3、堆的逻辑结构和存储结构 2、堆的实现 2.1、堆的初始化和初始化 2.2、堆的插入和向上调整算法 2.3、堆的删除和向下调整算法 2.4、取堆顶的数据和数据个数 2.5、堆的判空和打印 2.6、测试 3、堆的应用 3.1…

机器学习周记(第二十六周:文献阅读-DPGCN)2024.1.15~2024.1.21

目录 摘要 ABSTRACT 1 论文信息 1.1 论文标题 1.2 论文摘要 1.3 论文背景 2 论文模型 2.1 问题描述 2.2 论文模型 2.2.1 时间感知离散图结构估计&#xff08;Time-aware Discrete Graph Structure Estimation Module&#xff0c;TADG Module&#xff09; 2.2.2 时间…

爱与愁的心痛

爱与愁的心痛 题目链接 题意 这道题的题意是&#xff0c;给定一个整数数组&#xff0c;数组中的每个元素代表一个不爽的事情的刺痛值。现在需要找出连续m个刺痛值的和的最小值。 思路 读取输入和初始化遍历数组并计算窗口和输出最小和 坑点 数组越界重复计算窗口和 算法一&am…

算法基础之数字三角形

数字三角形 核心思想&#xff1a;线性dp 集合的定义为 f[i][j] –> 到i j点的最大距离 从下往上传值 父节点f[i][j] max(f[i1][j] , f[i1][j1]) w[i][j] 初始化最后一层 f w #include <bits/stdc.h>using namespace std;const int N 510;int w[N][N],f[N][…

图论与网络优化3

CSDN 有字数限制&#xff0c;因此笔记分别发布&#xff0c;目前&#xff1a; 【笔记1】概念与计算、树及其算法【笔记2】容量网络模型、遍历性及其算法【笔记3】独立集及其算法 6 独立集及其算法 6.1 独立集和覆盖 6.1.1 独立数和覆盖数 独立集&#xff1a;设 S ⊆ V ( G …

【数据结构】无向图的最小生成树(Prime,Kruskal算法)

文章目录 前言一、最小生成树二、Kruskal算法1.方法&#xff1a;2.判断是否成环3.代码实现 三、 Prim算法1.方法&#xff1a;2.代码 四、源码 前言 连通图&#xff1a;在无向图中&#xff0c;若从顶点v1到顶点v2有路径&#xff0c;则称顶点v1与顶点v2是连通的。如果图中任意一对…

Kruskal算法求最小生成树(kruskal算法)

题目描述 给定一个 n 个点 m 条边的无向图&#xff0c;图中可能存在重边和自环&#xff0c;边权可能为负数。 求最小生成树的树边权重之和&#xff0c;如果最小生成树不存在则输出 impossible。 给定一张边带权的无向图 G(V,E)&#xff0c;其中 V 表示图中点的集合&#xff…

LeetCode,第377场周赛,个人题解

目录 100148.最小数字游戏 题目描述 思路分析 代码详解 100169.移除栅栏得到的正方形田地的最大面积 题目描述 思路分析 代码详解 100156.转换字符串的最小成本I 题目描述 思路分析 代码详解 100158.转换字符串的最小成本II 题目描述 思路分析 代码详解 100148.…

【算法每日一练]-结构优化(保姆级教程 篇5 树状数组)POJ3067日本 #POJ3321苹果树 #POJ2352星星

目录 今天知识点 求交点转化求逆序对&#xff0c;每次操作都维护一个y点的前缀和 树的变动转化成一维数组的变动&#xff0c;利用时间戳将节点转化成区间 先将y排序&#xff0c;然后每加入一个就点更新求一次前缀和 POJ3067&#xff1a;日本 思路&#xff1a; POJ3321苹…

neuq-acm预备队训练week 8 P4779 【模板】单源最短路径(标准版)

题目背景 题目限制 题目描述 给定一个 n 个点&#xff0c;m 条有向边的带非负权图&#xff0c;请你计算从 s 出发&#xff0c;到每个点的距离。 数据保证你能从 s 出发到任意点。 输入格式 第一行为三个正整数n,m,s。 第二行起 m 行&#xff0c;每行三个非负整数 ui​,vi​…

P1241 括号序列(栈的注意事项)

#include<bits/stdc.h> using namespace std; using ll long long;bool vis[110];//用来判断该符号是否合法,为1代表合法 //左边和右边的括号都要配对&#xff0c;所以要记录一下各自的位置,所以干脆就将左括号的下标推入栈中int main(){stack<int> stk;string s;…

图的深度和广度优先遍历

题目描述 以邻接矩阵给出一张以整数编号为顶点的图&#xff0c;其中0表示不相连&#xff0c;1表示相连。按深度和广度优先进行遍历&#xff0c;输出全部结果。要求&#xff0c;遍历时优先较小的顶点。如&#xff0c;若顶点0与顶点2&#xff0c;顶点3&#xff0c;顶点4相连&…

【打卡】牛客网:BM61 矩阵最长递增路径

技巧&#xff1a; 1.dfs中&#xff0c;虽然num不需要变化&#xff0c;但是在调用函数时加上&&#xff0c;可以防止超时。 2. 一种快速创建NxM维、元素都为0的vector的方法&#xff1a; vector<vector<int>> dp(n, vector <int> (m)); 自己写的&#xff1…

AtCoder ABC175

C - Walking Takahashi 正数和负数是一样的&#xff0c;因此取绝对值 如果不能移到负半轴&#xff0c;那么终点就是答案 如果能移到负半轴&#xff0c;那么取余数r求r与d-r里的最小值 E - Picking Goods 在单纯的dp路径问题上增加一个维度&#xff0c;表示当前行拿到k个数的情…

【算法每日一练]-结构优化(保姆级教程 篇5 树状数组)POJ3067日本 #POJ3321苹果树 #POJ2352星星 #快排变形

目录 今天知识点 求交点转化求逆序对&#xff0c;每次操作都维护一个y点的前缀和 树的变动转化成一维数组的变动&#xff0c;利用时间戳将节点转化成区间 离散化数组来求逆序对数 先将y排序&#xff0c;然后每加入一个就点更新求一次前缀和 POJ3067&#xff1a;日本 思路&…

简单的小题集(七)

文章目录 一、斐波那契数列二、皮皮小南遭不住 一、斐波那契数列 大学学 C 语言的时候&#xff0c;老师都少不了讲斐波那契数列&#xff0c;什么递归、递推、还有 矩阵幂&#xff0c;反正方法多的是&#xff0c;不过今天这道题咱们稍微改变一下&#xff0c;毕竟直接写斐波那契…

算法基础之有向图的拓扑序列

有向图的拓扑序列 核心思想: 拓扑排序 &#xff08;有向图&#xff09; 有向图 —— 入度(有几条边指向自己) 出度(自己有几条边指向别人) 边都是由小指向大 1->3 2->3 1->2 将所有入度为0的点入队列 —> 宽搜 #include <cstring> #include <iostream>…

【图论】普利姆算法,最小生成树

一次加入一个节点到我们的最下生成树中。加入哪个&#xff1f;跟着下面的步骤走一遍你就会了。 1. 把第一个节点A添加进来 2. 看两条边<A,B>,<A,E>,一个长度是3&#xff0c;一个长度是4&#xff0c;把长度短的边的另一个节点添加进来&#xff0c;也就是B 3. 再看A,…

P8625.生命之树

求最大的子树之和 维护包含当前节点的最大子树之和就好了 #include<bits/stdc.h> using namespace std; using ll long long; const int N 1e610; ll w[N]; vector<int>g[N]; ll f[N]; ll res;ll dfs(int u,int father){f[u] w[u];for(auto &t:g[u]){if(tf…

LeetCode:210课程表Ⅱ(图论:拓扑排序判断是否有环)

做本题之前最好先做了LeetCode&#xff1a;207课程表&#xff0c;见本人另一篇博客http://t.csdnimg.cn/vSXgN 题目 现在你总共有 numCourses 门课需要选&#xff0c;记为 0 到 numCourses - 1。给你一个数组 prerequisites &#xff0c;其中 prerequisites[i] [ai, bi] &am…

水题中的稀奇古怪trick合集

状态转移问题&#xff0c;一个状态的改变还会牵涉到此状态之前的状态时&#xff0c;很难利用简单的动态规划解决&#xff0c;可以考虑利用BFS队列优化&#xff0c;把更新过的状态存进队列中&#xff0c;队列空时停止 例题&#xff1a;2024牛客寒假集训2D-Tokitsukaze and Slash…

2.5 作业

第四章 堆与拷贝构造函数 一 、程序阅读题 1、给出下面程序输出结果。 #include <iostream.h> class example {int a; public: example(int b5){ab;} void print(){aa1;cout <<a<<"";} void print()const {cout<<a<<endl;} }; void m…

【第二十三课】最小生成树:prime 和 kruskal 算法(acwing858,859 / c++代码 )

目录 前言 Prime算法--加点法 acwing-858 代码如下 一些解释 Kruskal算法--加边法 acwing-859 并查集与克鲁斯卡尔求最小生成树 代码如下 一些解释 前言 之前学最短路的时候&#xff0c;我们都是以有向图为基础的&#xff0c;当时我们提到如果是无向图&#xf…

二分图,匹配(学习笔记)

目录 二分图的模型要素: 染色法判断二分图&#xff08;二部图&#xff09; 二分图最大匹配 匈牙利算法 二分图的最小点覆盖 konig定理&#xff1a; 重要结论&#xff1a;最大匹配数最小点覆盖总点数-最大独立集总点数-最小路径覆盖 二分图的模型要素: 1.节点能分成独立…

1123. 铲雪车(欧拉回路)

活动 - AcWing 随着白天越来越短夜晚越来越长&#xff0c;我们不得不考虑铲雪问题了。 整个城市所有的道路都是双向车道,道路的两个方向均需要铲雪。因为城市预算的削减&#xff0c;整个城市只有 1 辆铲雪车。 铲雪车只能把它开过的地方&#xff08;车道&#xff09;的雪铲干…

三、搜索与图论

DFS 排列数字 #include<iostream> using namespace std; const int N 10; int a[N], b[N]; int n;void dfs(int u){if(u > n){for(int i 1; i < n; i)cout<<a[i]<<" ";cout<<endl;return;}for(int i 1; i < n; i){if(!b[i]){b[…

第三章 搜索与图论(三)(最小生成树,二分图)

一、最小生成树算法 稠密图使用prim算法&#xff0c;稀疏图使用kruskal算法 二、prim算法求最小生成树 prim和dijkstra算法类似&#xff0c;都是找到符合某种条件的点&#xff0c;然后更新。prim使用到已经构成的部分最小树所有结点中最小的距离。dijkstra算法是使用到起点最…

1184. 欧拉回路(欧拉回路,模板题)

活动 - AcWing 给定一张图&#xff0c;请你找出欧拉回路&#xff0c;即在图中找一个环使得每条边都在环上出现恰好一次。 输入格式 第一行包含一个整数 t&#xff0c;t∈{1,2}&#xff0c;如果 t1&#xff0c;表示所给图为无向图&#xff0c;如果 t2&#xff0c;表示所给图为…

算法竞赛进阶指南——基本算法(倍增)

ST表 可以求区间最大、最小、gcd、lcm&#xff0c;符合 f(a, a) a都可以 求区间最值&#xff0c;一个区间划分成两段 f[i][j]: 从i开始&#xff0c;长度为2^j的区间最值 #include<iostream> #include<cmath> using namespace std; const int N 1e6 10; int n,…

2024/2/12 图的基础知识 2

目录 查找文献 P5318 【深基18.例3】查找文献 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 有向图的拓扑序列 848. 有向图的拓扑序列 - AcWing题库 最大食物链计数 P4017 最大食物链计数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 查找文献 P5318 【深基18.例3】…

备战蓝桥杯---图论基础理论

图的存储&#xff1a; 1.邻接矩阵&#xff1a; 我们用map[i][j]表示i--->j的边权 2.用vector数组&#xff08;在搜索专题的游戏一题中应用过&#xff09; 3.用邻接表&#xff1a; 下面是用链表实现的基本功能的代码&#xff1a; #include<bits/stdc.h> using nam…

找负环(图论基础)

文章目录 负环spfa找负环方法一方法二实际效果 负环 环内路径上的权值和为负。 spfa找负环 两种基本的方法 统计每一个点的入队次数&#xff0c;如果一个点入队了n次&#xff0c;则说明存在负环统计当前每个点中的最短路中所包含的边数&#xff0c;如果当前某个点的最短路所…

ABC340 A-F题解

文章目录 A题目AC Code&#xff1a; B题目AC Code&#xff1a; C题目AC Code&#xff1a; D题目AC Code&#xff1a; E题目思路做法时间复杂度AC Code&#xff1a; F题目思路AC Code&#xff1a; A 题目 模拟即可&#xff0c;会循环都能写。 AC Code&#xff1a; #include …

洛谷问题买礼物和Building Roads S题解

目录 1.买礼物 2.Building Roads S 1.买礼物 P1194 买礼物 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述 又到了一年一度的明明生日了&#xff0c;明明想要买 B 样东西&#xff0c;巧的是&#xff0c;这 B 样东西价格都是 A 元。 但是&#xff0c;商店老板说最…

最小生成树(习题)

拆地毯 这个就是套用最小生成树的模板&#xff0c;只不过要将sort函数改成从大到小进行排序。然后这个退出条件是只要大于k就退出。 代码如下 #include<iostream> #include<cmath> #include<algorithm> #define N 1009000 using namespace std; int n,m,k…

洛谷: P1479 宿舍里的故事之五子棋

题目链接: https://www.luogu.com.cn/problem/P1479 思路: 这道题目可以打表或者搜索。每个位置有选择/不选择两种情况。搜索的时候我们一行一行的搜索&#xff0c;直到使用的棋子达到n为止。b[i]为五子连线的数量&#xff0c;b[i] 1表示五子连线的数量可以取i&#xff0c;在…

算法基础概念之数据结构

邻接表 每个点作为头节点接一条链表 链表中元素均为该头节点指向的点 优先队列 参数: ①储存元素类型 ②底层使用的存储结构(一般为vector) ③比较方式(默认小于)

染色法判定二分图算法总结

知识概览 一个图是二分图当且仅当图中不含奇数环&#xff08;奇数环是边数为奇数的环&#xff09;。图中不含奇数环&#xff0c;染色过程中一定没有矛盾。染色法判定二分图算法时间复杂度O(n m)。 例题展示 题目链接 860. 染色法判定二分图 - AcWing题库https://www.acwing.…

图论及其应用的一些论断---选择题

在任意一个网络N=(X,Y,I,A,c)中,最大流的值等于最小割的容量。在任意6个人的集会上,要么有3个人互相认识,要么有3个人互不认识。若G为无向简单图,则图G的边数ε,点数v之间有: ε < = ( v 2 ) ε<=\binom{v}{2} ε<=

西电期末1017.有序序列插值

一.题目 二.分析与思路 简单题。主要考察简单的排序&#xff0c;最后的插入数据同样不用具体实现&#xff0c;只需在输出时多输出一下即可&#xff0c;注意顺序&#xff01;&#xff01; 三.代码实现 #include<bits/stdc.h>//万能头 int main() {int n;scanf("%d…

洛谷——P1347 排序(图论-拓扑排序)

文章目录 一、题目排序题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 样例 #2样例输入 #2样例输出 #2 样例 #3样例输入 #3样例输出 #3 提示 二、题解基本思路&#xff1a;代码 一、题目 排序 题目描述 一个不同的值的升序排序数列指的是一个从左到右元素依次增大的…

03-搜索与图论python

1-DFS 排列数字 N10 path[0]*N state[False]*N def dfs(u):if un:for i in range(n):print(path[i],end )print()for i in range(n):if state[i]False:path[u]i1 state[i]Truedfs(u1)#恢复现场path[u]0state[i]False nint(input()) dfs(0)采用位运算太优雅了&#xff0c;细细…

算法基础之二分图的最大匹配

二分图的最大匹配 核心思想&#xff1a;匈牙利算法 : 寻找有没有可重新连接的路 #include<iostream>#include<cstring>#include<algorithm>using namespace std;const int N 510 , M 100010;int h[N],e[M],ne[M],idx;int match[N]; //记录与j匹配的iint n…

图论 经典例题

1 拓扑排序 对有向图的节点排序&#xff0c;使得对于每一条有向边 U-->V U都出现在V之前 *有环无法拓扑排序 indegree[], nxs[];//前者表示节点 i 的入度&#xff0c;后者表示节点 i 指向的节点 queue [] for i in range(n):if indege[i] 0: queue.add(i)// 入度为0的节…

【洛谷千题详解】P7072 [CSP-J2020] 直播获奖

输入样例&#xff1a; 10 60 200 300 400 500 600 600 0 300 200 100 输出样例&#xff1a; 200 300 400 400 400 500 400 400 300 300 #include<bits/stdc.h> using namespace std; int main() {int n,w,s,a[605]{0};cin>>n>>w;for(int i1;i<n;i){sca…

算法基础之染色法判定二分图

染色法判定二分图 核心思想&#xff1a; 二分图 : 当且仅当图中不含有奇数环(环中边的数量为奇数) 染色法 : 从原点开始染色 1 / 2 当冲突时即含有奇数环 #include <cstring>#include <iostream>#include <algorithm>using namespace std;const int N 10…

算法基础之快速幂

快速幂 核心思想&#xff1a;logk的复杂度求出ak mod p 将k拆成若干个2的n之和 (二进制) #include<iostream>#include<algorithm>using namespace std;typedef long long LL;LL qmi(int a,int k,int p){LL res 1 % p;while(k) //k转为二进制 还有正数 就进行…

【C语言】6-6 数组循环右移 分数 20

6-6 数组循环右移 分数 20 全屏浏览题目 切换布局 作者 张泳 单位 浙大城市学院 本题要求实现一个对数组进行循环右移的简单函数&#xff1a;一个数组a中存有n&#xff08;>0&#xff09;个整数&#xff0c;将每个整数循环向右移m&#xff08;≥0&#xff09;个位置&…

算法基础之线性同余方程

线性同余方程 核心思想&#xff1a; 转化为扩展欧几里得 求得结果d 必须为 b的因数 #include<iostream>#include<algorithm>using namespace std;typedef long long LL;const int N 100010;int exgcd(int a,int b,int &x,int &y){if(!b){x 1 ,y 0;re…

要重复多少次直至a=b

问题陈述 已知正整数A和B。重复以下操作&#xff0c;直到A B:比较A和B&#xff0c;执行以下两项中的一项: o如果A > B&#xff0c;将A替换为A - B; O如果A < B&#xff0c;则用B -A替换B。你要重复多少次&#xff0c;直到A B?可以保证有限次重复使a B。约束1 < A、…

PAT甲级 1146 Topological Order 相关求关键路径

/* 关键路径找到earliest发生时间和最迟发生时间相等的节点路径 使用递推关系&#xff0c;第183页&#xff0c;先求出拓扑排序和逆拓扑排序 《数据结构&#xff08;C语言版&#xff09;清华大学出版社》 */ /* inputs&#xff1a; 9个顶点也就是9个事件&#xff0c;11个边就是…

3384. 二叉树遍历

Powered by:NEFU AB-IN Link 文章目录 3384. 二叉树遍历题意思路代码 3384. 二叉树遍历 题意 编写一个程序&#xff0c;读入用户输入的一串先序遍历字符串&#xff0c;根据此字符串建立一个二叉树&#xff08;以指针方式存储&#xff09;。 例如如下的先序遍历字符串&#xff…

图和树的存储方式:邻接矩阵和邻接表

邻接矩阵和邻接表摘要无向图和有向图的区别稀疏图和稠密图邻接矩阵邻接矩阵的初始化邻接矩阵的读入邻接表邻接表的实现基础算法和数据结构合集&#xff1a; https://blog.csdn.net/GD_ONE/article/details/104061907 摘要 本文主要介绍邻接矩阵和邻接表的实现方式&#xff0c…

钥匙和房间-图论841-python

没看答案。 图论的广度优先搜索&#xff08;BFS&#xff09;&#xff0c;类似树结构的BFS&#xff0c;都是利用队列实现的。 class Solution:def canVisitAllRooms(self, rooms: List[List[int]]) -> bool:n len(rooms)visited [True] [False] * (n-1) # 用于判断某个房…

Connected Components-连通分量(挑战程序设计竞赛)

题目: 请编写一个程序&#xff0c;输入SNS的朋友关系&#xff0c;判断从指定人物出发能否通过双向朋友链抵达人物。 输入&#xff1a; 第1行输入代表SNS用户数的整数n以及代表朋友关系数的m&#xff0c;用空格隔开。SNS各用户的ID分别为0到n-1。 接下来的m行输入朋友关系&…

大连理工大学数据结构与算法(复习题二)【图、查找、排序】

文章目录数据结构与算法(习题)第六章 图第七章 查找第八章 排序答案第六章第七章第八章数据结构与算法(习题) 第六章 图 若一个有向图的邻接距阵中&#xff0c;主对角线以下的元素均为零&#xff0c;则该图的拓扑有序序列&#xff08; &#xff09;。 A. 存在 B. 不存在 下面…

ACwing 379. 捉迷藏 有向无环图的最小路径点(可重复)覆盖+传递闭包

有向无环图的最小路径点&#xff08;可重复&#xff09;覆盖 给定一张有向无环图&#xff0c;要求使用尽量少的不相交的简单路径&#xff0c;覆盖有向无环图的所有顶点&#xff08;也就是每个顶点恰好覆盖一次&#xff09;。这个问题被称为有向无环图的最小路径点覆盖&#xf…

Dijkstra狄克斯特拉-最短路径问题

教学视频 狄克斯特拉算法 与prim普里姆算法的不同之处 prim与dijkstra算法都是基于"蓝白点私思想" ,所谓蓝白点思想就是开局所有点皆为蓝点,之后逐个加入,每次选出白点,直到所有蓝点消失,prim与dijkstra算法实现都有一个d数组,但是d数组的含义却不相同,prim是集合V…

PAT-L2-025 分而治之 (25分)-图论-邻接链表

分而治之&#xff0c;各个击破是兵家常用的策略之一。在战争中&#xff0c;我们希望首先攻下敌方的部分城市&#xff0c;使其剩余的城市变成孤立无援&#xff0c;然后再分头各个击破。为此参谋部提供了若干打击方案。本题就请你编写程序&#xff0c;判断每个方案的可行性。 输…

PAT-L2-026 小字辈 (25分)

本题给定一个庞大家族的家谱&#xff0c;要请你给出最小一辈的名单。 输入格式&#xff1a; 输入在第一行给出家族人口总数 N&#xff08;不超过 100 000 的正整数&#xff09; —— 简单起见&#xff0c;我们把家族成员从 1 到 N 编号。随后第二行给出 N 个编号&#xff0c;其…

C语言:L1-033 出生年 (15 分)

文章目录一、题目二、方法11、思路2、代码一、题目 以上是新浪微博中一奇葩贴&#xff1a;“我出生于1988年&#xff0c;直到25岁才遇到4个数字都不相同的年份。”也就是说&#xff0c;直到2013年才达到“4个数字都不相同”的要求。本题请你根据要求&#xff0c;自动填充“我出…

【算法】NOIP2003神经网络

题目描述 人工神经网络&#xff08;Artificial Neural Network&#xff09;是一种新兴的具有自我学习能力的计算系统&#xff0c;在模式识别、函数逼近及贷款风险评估等诸多领域有广泛的应用。对神经网络的研究一直是当今的热门方向&#xff0c;兰兰同学在自学了一本神经网络的…

2024.3.28abc晚训题解

VJ晚训网址点击传送晚训 A题 比较巧的输入方式就是循环n&#xff0c;内层套一个循环7 #include<bits/stdc.h> using namespace std; int main(){int n;cin>>n;for(int i1;i<n;i){int ans0;for(int j1;j<7;j){int x;cin>>x;ansansx; }cout<<ans…

基于广度优先遍历算法求采用邻接表存储的无向连通图G中从顶点u到v的最短路径

问题 假设图G采用邻接表存储&#xff0c;设计一个算法&#xff0c;求不带权无向连通图G中从顶点u->v的最短路径(路径上经过的顶点数最少。采用广度优先遍历来实现。 基本思路 我们首先来看一下BFS的过程&#xff1a; 图片摘自慕课网李春葆老师讲的数据结构。从图中我们可…

NOI2021信息竞赛学习笔记

一.图论 1.仙人掌问题&#xff08;圆方树&#xff09; 2.矩阵树定理 3.网络流 4.基环树 二、数据结构 1.线段树 2.左偏树 3.树链剖分 4.主席树 5.树套树 6.长链剖分 7.LCT 三、数学 1.欧拉函数|&#xff08;扩展&#xff09;欧拉定理|欧拉反演 2.线性筛 3.莫比乌…

题225.2022寒假天梯赛训练-7-15 喊山 (30 分)

文章目录题225.2022寒假天梯赛训练-7-15 喊山 (30 分)一、题目二、题解题225.2022寒假天梯赛训练-7-15 喊山 (30 分) 一、题目 二、题解 直接bfs就完事了 #include <bits/stdc.h>using namespace std;const int maxn10010;int n,m; vector<int> G[maxn]; int visit…

题268.2022分队天梯赛训练-7-41 哥尼斯堡的“七桥问题” (25 分)

文章目录题268.2022分队天梯赛训练-7-41 哥尼斯堡的“七桥问题” (25 分)一、题目二、题解题268.2022分队天梯赛训练-7-41 哥尼斯堡的“七桥问题” (25 分) 一、题目 二、题解 本题考察判断一个无向图是否具有欧拉回路&#xff0c;条件是图连通且所有的点度数为偶数。代码如下&…

概率图模型--最大后验概率状态推理MAP

概率图模型–最大后验概率状态推理MAP – 潘登同学的Machine Learning笔记 文章目录概率图模型--最大后验概率状态推理MAP -- 潘登同学的Machine Learning笔记简单回顾概率图模型的推理最大后验概率状态推理MAP变量消元法求与团树传播算法求MAP举个栗子(以三个变量为例)MRF应用…

机器学习周记(第三十二周:文献阅读-时空双通路框架)2024.3.25~2024.3.31

目录 摘要 ABSTRACT 1 论文信息 1.1 论文标题 1.2 论文摘要 1.3 论文模型 1.3.1 Spatial Encoder&#xff08;空间编码器&#xff09; 1.3.2 Temporal Encoder&#xff08;时间编码器&#xff09; 2 相关代码 摘要 本周阅读了一篇运用GNN进行时间序列预测的论文。论文…

最短路径(shopth)

最短路径(shopth)&#xff08;floyd&#xff09; Description 给出一个有向图G(V,E)&#xff0c;和一个源点v0∈V&#xff0c;请写一个程序输出v0和图G中其它顶点的 最短路径。只要所有的有向环权值和都是正的&#xff0c;我们就允许图的边有负值。顶点的标号从 1 到n&#xf…

图论-最短路

一、不存在负权边-dijkstra算法 dijkstra算法适用于这样一类问题&#xff1a; 从起点 start 到所有其他节点的最短路径。 其实求解最短路径最暴力的方法就是使用bfs广搜一下&#xff0c;但是要一次求得所有点的最短距离我们不可能循环n次&#xff0c;这样复杂度太高&#xf…

Gopher II

Gopher II(二分图匹配-匈牙利算法&#xff09; Description The gopher family, having averted the canine threat, must face a new predator. The are n gophers and m gopher holes, each at distinct (x,y) coordinates. A hawk arrives and if a gopher does not reach a…

老年期抑郁症的机制及治疗

抑郁症对生理疾病易感&#xff0c;并促进端粒缩短、大脑衰老和表观遗传衰老等生理衰老。同时&#xff0c;生理疾病还增加了老年抑郁症的风险。抑郁症的老化相关的病程变化和疾病相关的病程变化是相关的&#xff0c;并产生了相应的致病假设和提供了治疗方向。比如&#xff0c;在…

功能性癫痫中内在网络连接与精神症状严重程度的关系

创伤性脑损伤(TBI)可诱发功能性癫痫(FSs)的发作。许多FS患者至少有一次TBI病史&#xff0c;这些患者通常表现出更严重的精神症状并发症。TBI和精神病理与神经网络连接的变化有关&#xff0c;但它们对这些网络的综合影响以及与FS&#xff08;功能性癫痫&#xff09;影响的关系尚…

经颅磁刺激改变脑血流、葡萄糖代谢和多巴胺结合性

经颅磁刺激&#xff08;Transcranial magnetic stimulation, TMS&#xff09;是一种非侵入性的神经调控工具&#xff0c;目前被用作多种精神和神经疾病的治疗手段。尽管它被广泛使用&#xff0c;但我们对TMS的急性和慢性疗程影响各种神经和血管系统的方式还没有完全了解。本文总…

2023环翠区编程挑战赛中学组题解

T1. 出栈序列 题目描述 栈是一种“先进后出”的数据结构&#xff0c;对于一个序列1,2,...,n1,2, ...,n1,2,...,n&#xff0c;其入栈顺序是1,2,...n1,2, ...n1,2,...n&#xff0c;但每个元素出栈的时机可以自由选择。 例如111入栈、111出栈&#xff0c;222入栈、333入栈、333…

九度 题目1448:Legal or Not

题目1448&#xff1a;Legal or Not时间限制&#xff1a;1 秒 内存限制&#xff1a;128 兆 特殊判题&#xff1a;否 提交&#xff1a;1071 解决&#xff1a;485 题目描述&#xff1a;ACM-DIY is a large QQ group where many excellent acmers get together. It is so harmoniou…

Networkx 计算网络效率

本人在计算网络效率的时候遇到了一个问题 networkx 提供了最短路径函数shortest_path及shorest_path_length 我在计算网络效率构造了一个无向图&#xff0c;但是我在计算点与点之间的最短路径长度时总是提示我说点不存在图中&#xff0c; 我在上面使用nx.average_shortest_pat…

P5682 [CSP-J2019 江西] 次大值% 运算 set 去重的一道好题

#include <bits/stdc.h> using namespace std; int n, x, len, a[100010], ans; set<int> s; set<int>::iterator asd; int main() {/*a[n-1] 是最大的a[n-2] 可能是次大的a[n]%a[n-1]<a[n-1] 不可能是最大的&#xff0c;可能是次大的a[n-1]%a[n-2]<…

论欧拉回路

概念&#xff1a; 欧拉回路&#xff1a;经过图中所有边恰好一次&#xff0c;并回到原点的路径 欧拉路径&#xff08; 欧拉通路&#xff09;&#xff1a;经过图中所有边恰好一次的路径。 半欧拉图&#xff1a;存在欧拉通路&#xff0c;但不存在欧拉回路&#xff1b; 欧拉图:存…

Trie字符串统计(c++题解)

维护一个字符串集合&#xff0c;支持两种操作&#xff1a; I x 向集合中插入一个字符串 x&#xff1b;Q x 询问一个字符串在集合中出现了多少次。 共有 N 个操作&#xff0c;所有输入的字符串总长度不超过 105&#xff0c;字符串仅包含小写英文字母。 输入格式 第一行包含整…

迪杰斯特拉-最短路径算法

迪杰斯特拉(Dijkstra)算法是基于动态规划实现的&#xff0c;他的主要功能是求出各节点到顶点的最短路径。 上图展示&#xff1a; 这是各节点连接图&#xff0c;其中A为顶点&#xff0c;求各节点到顶点的最短路径。 引进两个数组S和U。 S的作用是记录已求出最短路径的节点(以及相…

vue+echarts实现依赖关系无向网络拓扑结图节点折叠展开策略

目录 引言 一、设计 1. 树状图&#xff08;不方便呈现节点之间的关系&#xff0c;次要考虑&#xff09; 2. 力引导依赖关系图 二、力引导关系图 三、如何实现节点的Open Or Fold 1. 设计逻辑 节点展开细节 节点收缩细节 代码实现 四、结果呈现 五、完整代码 引言 我…

L1-010 比较大小 (10 分)

L1-010 比较大小 (10 分) 本题要求将输入的任意3个整数从小到大输出。 输入格式: 输入在一行中给出3个整数&#xff0c;其间以空格分隔。 输出格式: 在一行中将3个整数从小到大输出&#xff0c;其间以“->”相连。 输入样例: 4 2 8输出样例: 2->4->8#include<…

CSDN第17次竞赛题解与总结

前言 临近期末考&#xff0c;博主时间较少&#xff0c;本文质量可能不高&#xff0c;请见谅。 2022/12/21 19:00~21:00 CSDN第17次竞赛开考 本场竞赛由「清华大学出版社 & CSDN」联合主办。 《算法竞赛》 本书解析了算法竞赛考核的数据结构、算法&#xff1b;组织了每个…

最短路基础算法

朴素版dijkstra 主要用于对稠密图的处理&#xff0c;即&#xff1a;m>n2 对于稠密图&#xff0c;用邻接矩阵进行存储 Dijkstra求最短路 I #include <bits/stdc.h> using namespace std; const int N 510; int n, m; int g[N][N]; //用邻接矩阵存储图 int dist[N];…

数据结构 - 第六章 - 图

图一、图的基本概念1.1 图的定义1.2 顶点的度、入度、出度1.3 顶点 - 顶点的关系描述1.4 子图 、连通分量1.5 特殊形态的图1.6 总结二、图的存储2.1 邻接矩阵法2.1.1 如何根据邻接矩阵求度2.1.2 邻接矩阵存储带权图&#xff08;网&#xff09;2.1.3 邻接矩阵法的性能分析2.1.4 …

各种最短路问题的求解方式

导航朴素dijkstra算法堆优化版的dijkstra算法Bellman_Ford算法spfa算法floyd算法限制&#xff1a;bellman_ford 和 spfa 可用于判断负环&#xff0c; 其他算法只能用于无负环情况。 朴素dijkstra算法 &#xff08;ps&#xff1a; 因为时稠密图&#xff0c;我们用邻接矩阵来存…

题357.差分约束-acwing-Q3265--再卖菜

文章目录题357.差分约束-acwing-Q3265--再卖菜一、题目二、题解题357.差分约束-acwing-Q3265–再卖菜 一、题目 二、题解 本题的突破点在去尾法取整求平均值那&#xff0c;因为是去尾法&#xff0c;因此设第一天价格为vi&#xff0c;我们可以想到当i>2时&#xff0c;计算第二…

【leetcode】高频题目整理_图篇( High Frequency Problems, Graph )

截止至今LeetCode题目总量已经有1582题&#xff0c;估计将来每年平均增长300题左右&#xff0c;大部分人肯定是刷不完的&#xff0c;所以得有选择地刷LeetCode。 一种公认的刷题策略是按类别刷题&#xff0c;可是每个类别也有许多题&#xff0c;在有限的时间里到底该刷哪些题呢…

《程序设计基础》 第七章 数组 7-25 输出大写英文字母 (15 分)

本题要求编写程序&#xff0c;顺序输出给定字符串中所出现过的大写英文字母&#xff0c;每个字母只输出一遍&#xff1b;若无大写英文字母则输出“Not Found”。 输入格式&#xff1a; 输入为一个以回车结束的字符串&#xff08;少于80个字符&#xff09;。 输出格式&#x…

并查集----保证图可完全遍历 力扣官方题解

class Solution {public int maxNumEdgesToRemove(int n, int[][] edges) {UnionFind ufa new UnionFind(n);UnionFind ufb new UnionFind(n);int ans 0;// 节点编号改为从 0 开始for (int[] edge : edges) {--edge[1];--edge[2];}// 公共边for (int[] edge : edges) {if (e…

代码随想Day45 | 70. 爬楼梯 (进阶)、322. 零钱兑换、279.完全平方数

70. 爬楼梯 &#xff08;进阶&#xff09; 这道题用完全背包的思路来做就是一个排列数&#xff0c;先背包在物品。dp[i]是爬到第i个台阶最多的方法数。递推公式&#xff1a;dp[i]dp[i-j]&#xff1b;初始化dp[0]1&#xff0c;因为dp[0]是整个递推的基础。 详细代码如下&#x…

二分图带权最大匹配-KM算法详解

文章目录 零、前言一、红娘再牵线二、二分图带权最大完备匹配2.1二分图带权最大匹配2.2概念2.3KM算法2.3.1交错树2.3.2顶标2.3.3相等子图2.3.4算法原理2.3.5算法实现 三、OJ练习3.1奔小康赚大钱3.2Ants 零、前言 关于二分图&#xff1a;二分图及染色法判定-CSDN博客 关于二分…

算法基础之蒙德里安的梦想

蒙德里安的梦想 核心思想&#xff1a; 状态压缩dp 总方案 横放的方案 剩下的地方竖着放是固定的了 状态压缩 &#xff1a; 将每一列的图(横终点 横起点 竖) 用一个二进制数存下 向后凸的为1 反之为0 状态计算&#xff1a; 所有 i – 1 列 不冲突的 都加和 f[i , j] f[i - 1…

【差分数组】【图论】【分类讨论】【整除以2】100213按距离统计房屋对数目

作者推荐 【动态规划】【数学】【C算法】18赛车 本文涉及知识点 差分数组 图论 分类讨论 整除以2 LeetCode100213按距离统计房屋对数目 给你三个 正整数 n 、x 和 y 。 在城市中&#xff0c;存在编号从 1 到 n 的房屋&#xff0c;由 n 条街道相连。对所有 1 < i < n…

2021第7届中国大学生程序设计竞赛CCPC桂林站, 签到题5题

文章目录A.Hero Named MagnusI. PTSDG. Occupy the CitiesE. Buy and DeleteD.Assumption is All You Need补题链接&#xff1a;https://codeforces.com/gym/103409 A.Hero Named Magnus A Hero Named Magnus Input file: standard input Output file: standard output Time …

图论基本知识--->最短路练习--->最小生成树

图论基本概念&#xff1a; 自环 重边 孤点 简单图 有向图&#xff0c;无向图 简单图&#xff1a; 无向图的度数 有向图的度数&#xff1a;出度&#xff0c;入度 每个图的最大度&#xff0c;最小度 完全图&#xff08;无向图&#xff09;&#xff1a; 完全图&#xff…

【leetcode100-051到054】【图论】四题合集

【岛屿数量】 给你一个由 1&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格中岛屿的数量。 岛屿总是被水包围&#xff0c;并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外&#xff0c;你可以假设…

图论第一天|797.所有可能的路径 200. 岛屿数量

目录 Leetcode797.所有可能的路径Leetcode200. 岛屿数量 Leetcode797.所有可能的路径 文章链接&#xff1a;代码随想录 题目链接&#xff1a;797.所有可能的路径 思路&#xff1a;深搜入门&#xff0c;注意邻接表和邻接矩阵的形式 class Solution { public:vector<vector&l…

【归并排序】【图论】【动态规划】【 深度游戏搜索】1569将子数组重新排序得到同一个二叉搜索树的方案数

本文涉及知识点 动态规划汇总 图论 深度游戏搜索 归并排序 组合 LeetCoce1569将子数组重新排序得到同一个二叉搜索树的方案数 给你一个数组 nums 表示 1 到 n 的一个排列。我们按照元素在 nums 中的顺序依次插入一个初始为空的二叉搜索树&#xff08;BST&#xff09;。请你统…

图论第二天|695. 岛屿的最大面积 1020. 飞地的数量 130. 被围绕的区域 417. 太平洋大西洋水流问题 827.最大人工岛

目录 Leetcode695. 岛屿的最大面积Leetcode1020. 飞地的数量Leetcode130. 被围绕的区域Leetcode417. 太平洋大西洋水流问题Leetcode827.最大人工岛 Leetcode695. 岛屿的最大面积 文章链接&#xff1a;代码随想录 题目链接&#xff1a;695. 岛屿的最大面积 思路&#xff1a;dfs …

字符串二叉树遍历

假定一棵二叉树的每个结点都用一个大写字母描述。给定这棵二叉树的前序遍历和中序遍历&#xff0c;求其后序遍历。 输入格式 输入包含多组测试数据。每组数据占两行&#xff0c;每行包含一个大写字母构成的字符串&#xff0c;第一行表示二叉树的前序遍历&#xff0c;第二行表示…

【动态规划】【图论】【C++算法】1575统计所有可行路径

作者推荐 【动态规划】【字符串】【行程码】1531. 压缩字符串 本文涉及知识点 动态规划汇总 图论 LeetCode1575统计所有可行路径 给你一个 互不相同 的整数数组&#xff0c;其中 locations[i] 表示第 i 个城市的位置。同时给你 start&#xff0c;finish 和 fuel 分别表示出…

AcWing 920. 最优乘车(单源最短路)

题目链接 920. 最优乘车 - AcWing题库高质量的算法题库https://www.acwing.com/problem/content/922/ 来源 NOI1997 题解 在每一条巴士线路内部&#xff0c;将车站看成点&#xff0c;将每个车站与其它车站的线路看成边权为1的边&#xff0c;对整个图做一遍BFS就可以得到1号店…

AcWing算法进阶课-1.17.1费用流

算法进阶课整理 CSDN个人主页&#xff1a;更好的阅读体验 原题链接 题目描述 给定一个包含 n n n 个点 m m m 条边的有向图&#xff0c;并给定每条边的容量和费用&#xff0c;边的容量非负。 图中可能存在重边和自环&#xff0c;保证费用不会存在负环。 求从 S S S 到 …

算法基础之滑雪

滑雪 核心思想&#xff1a;记忆化搜索 状态表示&#xff1a; f[i][j] 表示所有从(i,j) 开始滑的路径的最大值 状态计算&#xff1a; 分成四个方向 f[i][j] max(f[i][j] , f[i][j1] 1) 且h[a][b] (下一个点) 必须严格小于 h[i][j] 才能滑过去 #include<iostream>#…

电子学会C/C++编程等级考试2023年03月(八级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:最短路径问题 平面上有n个点(n<=100),每个点的坐标均在-10000~10000之间。其中的一些点之间有连线。 若有连线,则表示可从一个点到达另一个点,即两点间有通路,通路的距离为两点间的直线距离。现在的任务是找出从一点到另…

图文并茂讲解Travelling Salesman

题目 思路 一道lca板子题&#xff0c;不会的同学可以先康康 详解最近公共祖先(LCA)-CSDN博客 我们可以发现&#xff0c;商人是从1开始&#xff0c;旅行到第一个城镇&#xff0c;再到第二个&#xff0c;第三个…… 那么我们只需要求出1~第一个城镇的距离&#xff0c;第一个城…

dijkstra算法堆优化

我们知道dijkstra算法的时间复杂度是O(N^2)&#xff0c;外层循环松弛的次数&#xff0c;N个点要松弛N-1次为O(N)&#xff0c;而内层循环是遍历dis数组每次找到距离顶点最小的点&#xff0c;时间复杂度也是O(N)&#xff0c;堆优化就是优化这一过程降为O(logN)&#xff0c;如果M(…

【上分日记】377场周赛(图论 + dp)

文章目录 前言正文1.2975. 移除栅栏得到的正方形田地的最大面积2.2976. 转换字符串的最小成本 I3.2977. 转换字符串的最小成本 II 总结后文 前言 本场周赛&#xff0c;后两题都涉及到了图论的最短路径&#xff08;克鲁斯卡尔算法&#xff09;的知识&#xff0c;恰巧又没学过&am…

12118 - Inspector‘s Dilemma (UVA)

题目链接如下&#xff1a; Online Judge 脑雾严重&#xff0c;这道题一开始我想的方向有问题.....后来看了别人的题解才写出来的..... 用的是欧拉路径的充要条件&#xff1b;以及数连通块。需要加的高速路数目 连通块个数 - 1 sum&#xff08;每个连通块中连成欧拉路径需要…

pat a 1013 Battle Over Cities

1013 Battle Over Cities dfs确定连通块数量 const int N 1e6 10, M 2 * N, INF 0x3f3f3f3f; int n, m, k, h[N], e[M], ne[M], idx 0; bool visited[N]; void add(int a, int b) {e[idx] b, ne[idx] h[a], h[a] idx; }void dfs(int u, int x) {visited[u] true;for…

算法基础之能被整除的数

能被整除的数 核心思想&#xff1a; 容斥原理 总面积 1-23-4…. 总集合元素中个数 1-23-4…. #include<iostream>#include<cstring>#include<algorithm>using namespace std;const int N 20;typedef long long LL;int p[N];int main(){int n,m;cin&…

#P12365. 相逢是首歌

Description monkey A与monkey B住在一颗树上&#xff0c;每天他们都会相约一起出去玩。 q次询问&#xff0c;每次询问给两个点x和y&#xff0c;代表他们各自的出发点&#xff0c;他们以相同的速度&#xff0c;沿着二者的最短路前进. 问二者会在点上相遇&#xff0c;还是在边…

最短路合集,Dijkstra,堆优化Dijkstra,BellmanFord,SPFA,Floyd,附完整代码及OJ链接

文章目录 前言最短路径问题最短路径树单调性歧义性无环性 单源最短路算法Dijkstra算法最短路径子树序列贪心迭代Dijkstra的实现朴素Dijkstra堆优化Dijkstra BellmanFord算法算法原理算法实现 SPFA算法原理算法实现 多源最短路Floyd算法原理算法实现 OJ链接总结 前言 我们时常会…

#Z2322. 买保险

一.题目 二.思路 1.暴力 训练的时候&#xff0c;初看这道题&#xff0c;这不就打个暴力吗&#xff1f; 2.暴力代码 #include<bits/stdc.h> #define int long long using namespace std; int n,m,fa,x,y,vis[1000001],ans; vector<int> vec[1000001]; void dfs(i…

最小DFS序

时间限制&#xff1a;1秒 内存限制&#xff1a;128M 题目描述 一般来讲&#xff0c;我们在对树进行深度优先遍历时&#xff0c;对于每个节点&#xff0c;在刚进入递归后以及即将回溯前各记录一次该节点的编号&#xff0c;最后产生一个长度为2n的节点的序列就称为树的D…

【算法每日一练]-dfs bfs(保姆级教程 篇8 )#01迷宫 #血色先锋队 #求先序排列 #取数游戏 #数的划分

目录 今日知识点&#xff1a; 使用并查集映射点&#xff0c;构造迷宫的连通块 vis计时数组要同步当回合的处理 递归求先序排列 基于不相邻的取数问题&#xff1a;dfs回溯 n个相同球放入k个相同盒子&#xff1a;dfs的优化分支暴力 01迷宫 血色先锋队 求先序排列 取数游…

2189. 有源汇上下界最大流(最大流上,下界可行流,模板题)

活动 - AcWing 给定一个包含 n 个点 m 条边的有向图&#xff0c;每条边都有一个流量下界和流量上界。 给定源点 S 和汇点 T&#xff0c;求源点到汇点的最大流。 输入格式 第一行包含四个整数 n,m,S,T。 接下来 m 行&#xff0c;每行包含四个整数 a,b,c,d 表示点 a 和 b 之…

Python算法题集_图论(课程表)

Python算法题集_课程表 题207&#xff1a;课程表1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【循环递归全算】2) 改进版一【循环递归缓存】3) 改进版二【循环递归缓存反向计算】4) 改进版三【迭代剥离计数器检测】 4. 最优算法5. 相关资源 本…

Prim算法的详细介绍

Prim算法是一种用于解决最小生成树&#xff08;Minimum Spanning Tree&#xff09;问题的经典算法&#xff0c;它可以在一个带权重的连通图中找到一棵包含所有顶点的树&#xff0c;且其边的权重之和最小。 Prim算法的基本思想是以一个顶点为起始点&#xff0c;逐步将其他顶点加…

数据结构—图(下)

文章目录 12.图(下)(4).生成树和最小生成树#1.什么是生成树和最小生成树&#xff1f;i.生成树ii.最小生成树 #2.Prim算法i.算法思想ii.看看例子iii.代码实现 #3.Kruskal算法i.算法思想ii.看看例子iii.代码实现 #4.次小生成树 (5).最短路径问题#1.加权有向图的最短路径问题#2.单…

图论基础(一)

一、图论 图论是数学的一个分支&#xff0c;它以图为研究对象。图论中的图是若干给定的点&#xff08;顶点&#xff09;以及连接两点的线&#xff08;边&#xff09;构成的图像&#xff0c;这种图形通常用来描述某些事物之间的某种特定关系&#xff0c;用点代表事物&#xff0c…

蓝桥杯备赛第三篇(图论)

1.邻接表 static class Edge {int next;int value;public Edge(int next, int value) {this.next next;this.value value;}}static HashMap<Integer, LinkedList<Edge>> graph new HashMap<>();public static void addEgde(int from, int to, int value) …

稀疏图带负边的全源最短路Johnson算法

BellmanFord算法 Johnson算法解决的问题 带负权的稀疏图的全源最短路 算法流程 重新设置的每条边的权重都大于或等于0&#xff0c;跑完Djikstra后得到的全源最短路&#xff0c;记得要还原&#xff0c;即&#xff1a;f(u,v) d(u,v) - h[u] h[v] 例题

[图论] 树上不重复权值的路径数

解题思路 整体思路&#xff0c;枚举路径上每个点&#xff0c;记录这个点 u 可以向上延伸到多远&#xff0c;如果可延伸到 x 点&#xff0c;则这个点对答案的贡献为 dep[u] - dep[x](下文的maxx) 1 为什么枚举是向上延伸&#xff1f;因为可以记录已走过路径中已有的权值&…

2280. 最优标号(最小割,位运算)#困难,想不到

活动 - AcWing 给定一个无向图 G(V,E)&#xff0c;每个顶点都有一个标号&#xff0c;它是一个 [0,2^31−1] 内的整数。 不同的顶点可能会有相同的标号。 对每条边 (u,v)&#xff0c;我们定义其费用 cost(u,v) 为 u 的标号与 v 的标号的异或值。 现在我们知道一些顶点的标号…

图论入门题题解

✨欢迎来到脑子不好的小菜鸟的文章✨ &#x1f388;创作不易&#xff0c;麻烦点点赞哦&#x1f388; 所属专栏&#xff1a;刷题_脑子不好的小菜鸟的博客-CSDN博客 我的主页&#xff1a;脑子不好的小菜鸟 文章特点&#xff1a;关键点和步骤讲解放在 代码相应位置 拓扑排序 / 家谱…

请编程输出无向无权图各个顶点的度 ← STL vector 模拟邻接表存图

【题目描述】 请利用 STL vector 模拟邻接表存图&#xff0c;编程输出无向无权图各个顶点的度。【输入样例】 5 6 1 3 2 1 1 4 2 3 3 4 5 1【输出样例】 4 2 3 2 1【算法分析】 本例利用 STL vector 模拟实现邻接表。代码参见&#xff1a;https://blog.csdn.net/hnjzsyjyj/arti…

拓扑排序介绍

在图论中&#xff0c;拓扑排序是一个有向无环图所有顶点的线性序列。且该序列必须满足下面两个条件&#xff1a; 每个顶点出现且只出现一次。 若存在一条从顶点 A 到顶点 B 的路径&#xff0c;那么在序列中顶点 A 出现在顶点 B 的前面。 如果最后不存在入度为0的节点&#xf…

区间线段公约数(线段树+差分)

题目连接 #include <bits/stdc.h>using namespace std; #define ll long long const int maxn5e510; int m,n,ans,p; ll w[maxn]; struct node {int l,r;ll sum,d;} tr[maxn*4];ll gcb(ll x,ll y) {return y?gcb(y,x%y):x; }void pushup(node &u,node &l,node&…

二、图的表示和带权图

文章目录 1、图的表示1.1 邻接矩阵1.2 邻接表1.3 关联矩阵 2、带权图2.1 最短路径问题2.2 中国邮递员问题2.3 旅行商问题 THE END 1、图的表示 1.1 邻接矩阵 \qquad 将图的所有顶点分别构成一个二维矩阵的行列&#xff0c;将顶点之间的边关系表示在构成的矩阵之中&#xff0c;…

最小生成树算法 -- Prim算法与Kruskal算法

1、什么是最小生成树 &#xff08;1&#xff09;是一棵树 无回路|v| 个顶点一定有 |v| - 1条边 &#xff08;2&#xff09;是生成树 包含全部顶点|v| - 1条边都在图里 &#xff08;3&#xff09;边的权重和最小 2、Prim算法 – 让一棵小树长大 Prim算法其实就是改进的di…

C语言深入理解指针(非常详细)(一)

目录 内存和地址内存编址的理解 指针变量和地址取地址操作符&#xff08;&&#xff09;指针变量和解引用操作符&#xff08;*&#xff09;指针变量如何拆解指针类型解引用操作符 指针变量的大小 指针变量类型的意义指针的解引用指针-整数 const修饰指针const修饰变量const修…

CF1913D. Array Collapse [dp+单调栈+前缀和]

传送门 [前题提要]:感觉dp还是很显然的,感觉单调栈也不是很难想,但是VP的时候脑子比较乱,dp方程想偏了,没写出来… 看完题目,不难发现应该存在一种递推关系.因为会发现最后剩下来的必然是原序列的一种子序列,然后这种子序列计数的问题.应该想到使用dp计数. 刚开始我的想法是使…

【洛谷 P1219】[USACO1.5]八皇后 Checker Challenge 题解(深度优先搜索+回溯法)

[USACO1.5]八皇后 Checker Challenge 题目描述 一个如下的 666 \times 666 的跳棋棋盘&#xff0c;有六个棋子被放置在棋盘上&#xff0c;使得每行、每列有且只有一个&#xff0c;每条对角线&#xff08;包括两条主对角线的所有平行线&#xff09;上至多有一个棋子。 上面的布…

最短路(南昌理工学院acm集训)

这里写目录标题单源最短路边权都为正数Dijkstra 算法朴素版Dijkstra 算法堆优化版存在负权边bellman-ford算法,时间复杂度 O(nm)SPFA算法&#xff0c;时间复杂度O&#xff08;m&#xff09;- O&#xff08;nm&#xff09;输出最短路径树是一种特殊的图&#xff0c;与图的存储方…

【蓝桥杯集训·最后一次周赛】AcWing 第 97 场周赛

文章目录第一题 AcWing 4944. 热身计算一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解第二题 AcWing 4945. 比大小一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解第三题 AcWing 4946. 叶子节点一、题目1、原…

第九部分 图论

目录 例 相关概念 握手定理 例1 图的度数列 例 无向图的连通性 无向图的连通度 例2 例3 有向图D如图所示&#xff0c;求 A, A2, A3, A4&#xff0c;并回答诸问题&#xff1a; 中间有几章这里没有写&#xff0c;感兴趣可以自己去学&#xff0c;组合数学跟高中差不多&#xff0c…

图论算法:DFS求有向图或无向图两点间所有路径及最短路径

1、目的 根据有向图获取指定起终点的所有路径,包括最长和最短路径。 2、示例效果 2.1 原始数据 路线起终点整理如下: // 共计12个顶点,19条边。 (起点,终点,1)最后的1代表起点终点是连通的。 起点,终点,1:2 4 1 起点,终点,1:9 10 1 起点,终点,1:8 11 1 起点…

leetcode 1584. 连接所有点的最小费用

题目链接 Prim算法实现 class Solution { public:int minCostConnectPoints(vector<vector<int>> &points) {int ans 0;int n points.size();// 定义并初始化邻接矩阵vector<vector<int> > graph(n, vector<int>(n));for (int i 0; i &…

[算法日志]图论: 广度优先搜索(BFS)

[算法日志]图论&#xff1a; 广度优先搜索(BFS) 广度优先概论 ​ 广度优先遍历也是一种常用的遍历图的算法策略&#xff0c;其思想是将本节点相关联的节点都遍历一遍后才切换到相关联节点重复本操作。这种遍历方式类似于对二叉树节点的层序遍历&#xff0c;即先遍历完子节点后…

蓝桥杯---第二讲---二分与前缀和

文章目录 前言Ⅰ. 数的范围0x00 算法思路0x00 代码书写 Ⅱ. 数的三次方根0x00 算法思路0x01代码书写 Ⅲ. 前缀和0x00 算法思路0x01 代码书写 Ⅳ. 子矩阵的和0x00 算法思路0x01 代码书写 Ⅴ. 机器人跳跃问题0x00 算法思路0x01 代码书写 Ⅵ. 四平方和0x00 算法思路0x01 代码书写 …

最短路径问题 (堆优化版 + 双权值 的 dijkstra )

最短路径问题 给你n个点&#xff0c;m条无向边&#xff0c;每条边都有长度d和花费p&#xff0c;给你起点s终点t&#xff0c;要求输出起点到终点的最短距离及其花费&#xff0c;如果最短距离有多条路线&#xff0c;则输出花费最少的。 Input 输入n,m&#xff0c;点的编号是1~…

【算法每日一练]-图论(保姆级教程篇12 tarjan篇)#POJ3352道路建设 #POJ2553图的底部 #POJ1236校园网络 #缩点

目录 POJ3352&#xff1a;道路建设 思路&#xff1a; POJ2553&#xff1a;图的底部 思路&#xff1a; POJ1236校园网络 思路&#xff1a; 缩点&#xff1a; 思路&#xff1a; POJ3352&#xff1a;道路建设 由于道路要维修&#xff0c;维修时候来回都不能走&#xff0c;现要…

2023年浙大城市学院新生程序设计竞赛(同步赛)G

登录—专业IT笔试面试备考平台_牛客网 题意 思路 首先想法非常单一&#xff0c;一定是去枚举操作点&#xff0c;然后看它染白和不染的价值差值 也就是说&#xff0c;把一个黑色结点染白之后&#xff0c;对哪些结点的价值会影响 不难想象其实就是操作结点的子树和该点连通的…

1.使用邻接矩阵或邻接表表示下面的无向图,并计算图中的总边数。2.使用邻接表和逆邻接表表示有向图,带权值表示。 3.求第1题中V3与V5之间的最短路径。

图的应用题 作为另一种非线性结构—图&#xff0c;它比树更复杂&#xff0c;它的数据元素之间存在多对多的关系&#xff0c;即图中任意一个节点都有多个前驱结点和多个后继结点。图中任意两个结点之间都有可能存在关系&#xff0c;从而可以表达数据元素之间更复杂的关系。1&…

2023NOIP A层联测17-爆炸

给出一个 n m nm nm 的网格图&#xff0c;其中一些格子上有一个炸弹&#xff0c;一些格子上有一个水晶&#xff0c;剩下的格子为空地&#xff0c;什么也没有。 炸弹可以被引爆。每当一个炸弹被引爆&#xff0c;它必须选择&#xff1a;引爆它所在的这一行或者引爆它所在的这一…

210. 课程表 II——深度遍历

class Solution { public://是课程表207题的升级版&#xff0c;不同是结果需要输出顺序数组//不同的地方作了标注&#xff0c;思路不懂的建议先翻看第207题的注释vector<vector<int>> vecVecInt;vector<int> visited;bool flag true;vector<int> ans;…

图论 Kruskal 最小生成树算法

前置知识 关于最小生成树 先说「树」和「图」的根本区别&#xff1a;树不会包含环&#xff0c;图可以包含环 树就是「无环连通图」 生成树是含有图中所有顶点的「无环连通子图」 你要保证这些边&#xff1a; 1、包含图中的所有节点。 2、形成的结构是树结构&#xff08;即不…

AcWing- 5051. 翻转 + 5052. 排列 -- 思维题 + DP

5051. 翻转 需要注意一些细节&#xff0c;具体见代码 #include <bits/stdc.h> using namespace std; #define ll long long #define sf(x) scanf("%d", &x); #define de(x) cout << x << " "; #define Pu puts(""); con…

数据结构第六章 图 6.4 图的应用 错题整理

4.A A. 不是简单路径的话&#xff0c;有环&#xff0c;去环路径会更短 B. 适合的 弗洛伊德算法才不适合 C. 本来就是 D 2X2矩阵拓展到3X3矩阵 再扩大 若是子集 即加入新顶点后&#xff0c;最短路径都没有变&#xff0c;错 5.B 本题用弗洛伊德更合适 但这道题只需全部代入求最…

代码随想录| 深搜、797.所有可能的路径

回溯算法其实就是深搜&#xff0c;只不过这里的深搜是侧重于在图上搜索&#xff0c;回溯大多是在树上搜索。 797.所有可能的路径 完成 代码 模板题 class Solution {List<List<Integer>> res new ArrayList<>();List<Integer> path new ArrayList…

2023/4/12总结

最短路径 一、单源最短路径 Dijkstra算法 1.该算法常用于求在一个带权有向图中某个顶点到其余顶点的最短路径。该算法的实现可以用一句话说明&#xff1a;先求出长度离源点最短的一条路径&#xff0c;再参照该最短路径求出长度次短的一条路径&#xff0c;直到求出从源点到其…

P1829 [国家集训队]Crash的数字表格 / JZPTAB(莫比乌斯反演)

[国家集训队]Crash的数字表格 / JZPTAB 题目描述 今天的数学课上&#xff0c;Crash 小朋友学习了最小公倍数&#xff08;Least Common Multiple&#xff09;。对于两个正整数 aaa 和 bbb&#xff0c;lcm(a,b)\text{lcm}(a,b)lcm(a,b) 表示能同时整除 aaa 和 bbb 的最小正整数…

P1547 [USACO05MAR] Out of Hay S 题解

文章目录 题目描述输入格式输出格式样例样例输入样例输出 完整代码 题目描述 Bessie 计划调查 N N N&#xff08; 2 ≤ N ≤ 2 000 2 \leq N \leq 2\,000 2≤N≤2000&#xff09;个农场的干草情况&#xff0c;它从 1 1 1 号农场出发。农场之间总共有 M M M&#xff08; 1 ≤…

岛屿的周长-图论463-python

没看答案&#xff0c;陆地格的上下左右四个相邻方格中的水域格的数量即为该陆地格贡献的周长&#xff0c;用matrix二维数组替换掉grid&#xff0c;可避免过多的if else判断。 class Solution:def islandPerimeter(self, grid: List[List[int]]) -> int:row, col len(grid)…

图论相关内容

建图 邻接矩阵 void tu1() {cin >> n >> m;for (int i 1; i < m; i) {int u, v;cin >> u >> v;//int w;cin>>w;--->边权mp[u][v] 1;//w//mp[v][u] 1;//w --->无向图} } 邻接表 void tu2() {vector<vector<int>>adj(…

P7929 [COCI2021-2022#1] Logičari

P7929 [COCI2021-2022#1] Logičari [P7929 COCI2021-2022#1] Logičari - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 文章目录 P7929 [COCI2021-2022#1] Logičari题目大意思路code 题目大意 给定一棵 n n n 个节点的基环树&#xff0c;现在对树上的节点染色&#xff0c…

L1-063 吃鱼还是吃肉 (10 分) pta天梯赛 详解

国家给出了 8 岁男宝宝的标准身高为 130 厘米、标准体重为 27 公斤&#xff1b;8 岁女宝宝的标准身高为 129 厘米、标准体重为 25 公斤。 现在你要根据小宝宝的身高体重&#xff0c;给出补充营养的建议。 输入格式&#xff1a; 输入在第一行给出一个不超过 10 的正整数 N&am…

最小生成树—Kruskal算法和Prim算法

1.最小生成树 连通图&#xff1a;在无向图中&#xff0c;若从顶点v1到顶点v2有路径&#xff0c;则称顶点v1与顶点v2是连通的。如果图中任 意一对顶点都是连通的&#xff0c;则称此图为连通图。 生成树&#xff1a;一个连通图的最小连通子图称作该图的生成树。有n个顶点的连通…

COCI 2021-2022 #1 - Logičari 题解

题目大意 给定一个 n n n 个点的基环树&#xff0c;现在对基环树上的点染色&#xff0c;使得每个点都有且仅有一个与他相连的点&#xff08;不包括它自身&#xff09;被染色&#xff0c;求最少的染色点数&#xff0c;或者返回无解。 思路 先考虑树的情况。 容易想到 DP&am…

L2-041 插松枝PTA

人造松枝加工场的工人需要将各种尺寸的塑料松针插到松枝干上&#xff0c;做成大大小小的松枝。他们的工作流程&#xff08;并不&#xff09;是这样的&#xff1a; 每人手边有一只小盒子&#xff0c;初始状态为空。每人面前有用不完的松枝干和一个推送器&#xff0c;每次推送一…

[蓝桥杯基础题型] 图论题目

遍历 添加路障 首先答案只能是0 1 2 &#xff0c;原因&#xff1a;把出发点堵住只需要两个路障 路障为0&#xff1a;不能找到一条从出发点到终点的路 路障为1&#xff1a;能找到一条从出发点到终点的路&#xff0c;但是只有一条 路障为2&#xff1a;能找到一条从出发点到终…

石子合并(动态规划)

题目描述  N堆石子摆成一条线。现要将石子有次序地合并成一堆。规定每次只能选相邻的2堆石子合并成新的一堆&#xff0c;并将新的一堆石子数记为该次合并的代价。计算将N堆石子合并成一堆的最小代价。  例如&#xff1a; 1 2 3 4&#xff0c;有不少合并方法  1 2 3 4 > 3…

北华大学第九届程序设计竞赛 题解

5.14和队友VP一场&#xff0c;第二次VP&#xff0c;状态明显比第一次好很多&#xff0c;总共A了7题&#xff0c;基本是能做出来的都做出来了&#xff0c;最后还剩下接近2小时的时间。。。。。 A "北华"有几何 思路&#xff1a;数图片中“北华”的数量&#xff0c;直…

《算法竞赛进阶指南》0x51 线性DP

0x51 线性DP 271. 杨老师的照相排列 题意&#xff1a; NNN 个人站成左端对齐的 kkk 排&#xff0c;每排有 NiN_iNi​ 人&#xff0c;Ni>NjN_i > N_jNi​>Nj​ 如果 i<ji < ji<j&#xff0c;则 Ni>NjN_i > N_jNi​>Nj​ 。每一排从左到右身高递减&…

【算法】通信线路(二分,堆优化版dijkstra)

题目 在郊区有 N 座通信基站&#xff0c;P 条 双向 电缆&#xff0c;第 i 条电缆连接基站 Ai 和 Bi。 特别地&#xff0c;1 号基站是通信公司的总站&#xff0c;N 号基站位于一座农场中。 现在&#xff0c;农场主希望对通信线路进行升级&#xff0c;其中升级第 i 条电缆需要花费…

Hybrid-Order Anomaly Detection on Attributed Networks

目录 基于属性网络的混合阶异常检测 1 Introduction 2 Ralated Work 3 Notations and Problem Formulation 4 The Proposed Model 4.1 Motif and Motif-Augmented Attributed Network Construction 4.2 Hybrid-Order Attributed Network Encoder 4.3 Hybrid-Order Attr…

详解洛谷P2912 [USACO08OCT] Pasture Walking G(牧场行走)(lca模板题)

题目 思路 一道模板题&#xff0c;没啥好说的&#xff0c;直接见代码 代码 #include <bits/stdc.h> using namespace std; int n,q,a,to[100001][22],b,deep[100001],c,t[1000001]; struct ff {int id,len; }; vector<ff> vec[100001]; void dfs(int x,int fa,i…

快码住!!! 二叉树概念、重要性质、存储结构 技巧大总结!

文章目录 树树的概念树的表示树在实际中的应用 二叉树二叉树的概念特殊的二叉树 二叉树的性质二叉树性质应用的练习题 二叉树的存储结构顺序结构链式结构 树 树的概念 树是一种非线性的数据结构&#xff0c;它是由n(n>0)个有限结点组成的一个具有层次关系的集合。把它叫做…

C语言-广度优先遍历

图的基本操作 查找函数&#xff08;LocateVex查找坐标&#xff09;构建无向图&#xff08;Undirected Graph&#xff09;输出邻接矩阵&#xff08;print&#xff09; 循环队列基本操作 入队&#xff08;EnQueue&#xff09;出队&#xff08;DeQueue&#xff09;判断队是否为…

ADT: Graph 图

ADT: Graph 图 文章目录ADT: Graph 图简介参考正文名词解释图的定义和表示抽象接口两种存储实现邻接矩阵(Adjacent-Matrix)邻接链表(Adjacent-List)Java 实现接口邻接矩阵实现邻接表实现测试结语简介 图(Graph)数据结构是一个较为复杂&#xff0c;但是却能很好描述现实世界的各…

2024牛客寒假算法基础集训营4补题

E&#xff1a;贪心数据结构 首先&#xff0c;我们看一个例子&#xff1a; 114514&#xff0c;令k3,我们从左开始&#xff0c;1&#xff0c;1&#xff0c;4&#xff0c;此时为3的倍数&#xff0c;那么我们就截断。 因为若我们在此截断&#xff0c;后面的5会对以后的数产生有利…

图论——最小割问题

Capacity&#xff08;S&#xff0c;T) Min-Cut(通俗的说就是用最小的力气隔断&#xff09; 最小割并不唯一 最大流最小割定理 对于一个网络流问题&#xff0c;最大流的流量最小割的容量 寻找最小割 可以使用Edmonds-karp or Dinic algorithm 首先寻找任意一个最大流&#xff…

H - 提瓦特之旅 2022CCPC女生赛

H - 提瓦特之旅 原题链接&#xff1a; https://vjudge.net/contest/532518#problem/H 题意&#xff1a; 一个有n个点&#xff0c;m条边的无向图&#xff0c;从u点到v点花费的时间和从v到u花费的时间都是C&#xff08;u&#xff0c;v&#xff09;&#xff0c;并且当经过路上的…

1102:与指定数字相同的数的个数(信奥)

1102&#xff1a;与指定数字相同的数的个数 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 77913 通过数: 50089 【题目描述】 输出一个整数序列中与指定数字相同的数的个数。 【输入】 输入包含三行&#xff1a; 第一行为nn&#xff0c;表示整数序列的长度(n≤1…

第 46 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(南京),签到题5题

文章目录A.Oops, Its Yesterday Twice MoreM.Windblume FestivalC.Klee in Solitary ConfinementH.CrystalflyD.Paimon Sorting补题链接&#xff1a;https://codeforces.com/gym/103470 A.Oops, It’s Yesterday Twice More Oops, It’s Yesterday Twice More Input file: st…

Good Bye 2022: 2023 is NEAR D. Koxia and Game

原题链接&#xff1a;Problem - D - Codeforces 题面&#xff1a; 大概意思就是给你一个数组a和数组b&#xff0c;你自己设计一个数组c&#xff0c;Koxia可以从a[i]、b[i]和c[i]中选一个&#xff0c;而Mahiru只能从另外两个里选一个&#xff0c;问你有多少个数组c一定能使Mah…

回溯法--图的m着色问题--子集树

问题描述 给定无向连通图和m种不同的颜色&#xff0c;用这些颜色为图G的各个顶点着色&#xff0c;每个顶点有一种颜色 是否有一种着色方法&#xff1f;使得图G中每条边的两个顶点有不同的颜色 这个问题就是图的m可着色判定问题 色数&#xff1a;如果有一个图最少需要m种颜色…

【并查集】【Union-Find】

Union-Find算法基本概念并查集模板1. [参考leetcode](https://leetcode.cn/problems/number-of-provinces/solution/python-duo-tu-xiang-jie-bing-cha-ji-by-m-vjdr/)2.平衡优化和重量优化基本概念 并查集是一种数据结构并查集这三个字&#xff0c;一个字代表一个意思。 并&a…

多源最短路径Floyd算法(可用于找负回路) C++实现

屈婉玲《算法设计与分析》第2版第7章网络流算法学习笔记。 概述 Dijkstra算法是经典的求单源最短路径算法&#xff0c;当有以下需求时&#xff1a; 要求出任意两点间的最短路径&#xff1b;可能有负权边&#xff1b; 用Floyd算法&#xff0c;可以在不存在负回路时&#xff…

2023/2/13 蓝桥备战acwing刷题(set的使用、简单推个不等式+差分、快速幂、01背包模板回顾、类似01背包的题)

4454未初始化警告 set计数 #include<iostream> #include<set> using namespace std;int main(){int n,m;cin>>n>>m;set<int> s;int res 0;s.insert(0);while(m--){int l,r;cin>>l>>r;if(s.count(r)0){res;}s.insert(l);}cout<…

2023-2-13 刷题情况

替换子串得到平衡字符串 题目描述 有一个只含有 ‘Q’, ‘W’, ‘E’, ‘R’ 四种字符&#xff0c;且长度为 n 的字符串。 假如在该字符串中&#xff0c;这四个字符都恰好出现 n/4 次&#xff0c;那么它就是一个「平衡字符串」。 给你一个这样的字符串 s&#xff0c;请通过…

第五十七章 树状数组(二)

第五十七章 树状数组&#xff08;二&#xff09;一、差分的缺陷二、树状数组与差分三、例题题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示样例 1 解释&#xff1a;数据规模与约定代码一、差分的缺陷 差分的作用是能够在O(1)的时间内给一段区间加上相同的数字&am…

【蓝桥杯集训·每日一题】AcWing 3485. 最大异或和

文章目录一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解三、知识风暴前缀和Tire树贪心算法一、题目 1、原题链接 3485. 最大异或和 2、题目描述 给定一个非负整数数列 a&#xff0c;初始长度为 N。 请在所有长度不超过 M 的连续子数组中&…

【PAT甲级题解记录】1110 Complete Binary Tree(25 分)

【PAT甲级题解记录】1110 Complete Binary Tree(25 分) 前言 Problem&#xff1a;1110 Complete Binary Tree (25 分) Tags&#xff1a;完全二叉树 二叉树的层序遍历 BFS DFS Difficulty&#xff1a;剧情模式 想流点汗 想流点血 死而无憾 Address&#xff1a;1110 Complete Bi…

C++解题报告:迷路[SCOI2009]——巧妙运用加速矩阵快速求解

引言 好题一道&#xff0c;恶心到爆。。。 迷路 题目描述 windy在有向图中迷路了。 该有向图有 N 个节点&#xff0c;windy从节点 0 出发&#xff0c;他必须恰好在 T 时刻到达节点 N-1。 现在给出该有向图&#xff0c;你能告诉windy总共有多少种不同的路径吗&#xff1f; 注意…

刷题记录:牛客NC25005Clear And Present Danger

传送门:牛客 题目描述 农夫约翰正驾驶一条小艇在牛勒比海上航行&#xff0e; 海上有 N(1≤N≤100)N(1\leq N\leq 100)N(1≤N≤100) 个岛屿&#xff0c;用 111 到 NNN 编号&#xff0e;约翰从 111 号小岛出发&#xff0c;最后到达 NNN 号小岛&#xff0e; 一张藏宝图上说&…

ZOJ-搜索专题

1002 题意 思路 深搜&#xff0c;每个格子都搜一遍。技巧dfs(cnt,ans)dfs(第几个格子&#xff0c;答案)&#xff1b; 代码 #include <iostream>using namespace std;int n,i,j,ans; char s[5][5];int c_put(int n,int m) {for (i n-1;i > 0;i --) {if (s[i][m] …

素数分类的猜想==素数,划分分类,就分为真素质数与非真素质数

素数分类的猜想 根据哥德巴赫公理&#xff08;我暂不称之为猜想了&#xff09;&#xff0c;普通素数加一&#xff0c;成为合数&#xff0c;必可分解成两个素数&#xff0c;所以&#xff0c;两个素数Pi,Pj相加减一&#xff0c;是有可能为素数Pn的&#xff0c;这样的素数Pi,Pj&am…

Bellman-ford和SPFA算法

目录 一、前言 二、Bellman-ford算法 1、算法思想 2、算法复杂度 3、判断负圈 4、出差&#xff08;2022第十三届国赛&#xff0c;lanqiaoOJ题号2194&#xff09; 三、SPFA算法&#xff1a;改进的Bellman-Ford 1、随机数据下的最短路问题&#xff08;lanqiaoOJ题号1366&…

2024秋招BAT核心算法 | 详解图论

图论入门与最短路径算法 图的基本概念 由节点和边组成的集合 图的一些概念&#xff1a; ①有向边&#xff08;有向图&#xff09;&#xff0c;无向边&#xff08;无向图&#xff09;&#xff0c;权值 ②节点&#xff08;度&#xff09;&#xff0c;对应无向图&#xff0c;…

【蓝桥杯集训·每日一题】AcWing1394. 完美牛棚

文章目录一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解三、知识风暴匈牙利算法一、题目 1、原题链接 1394. 完美牛棚 2、题目描述 农夫约翰上周刚刚建好了新的牛棚&#xff0c;并引进了最新的挤奶技术。 不幸的是&#xff0c;由于工程问题&…

[洛谷-P3698][CQOI2017]小Q的棋盘

一、问题 题目描述 小 Q 正在设计一种棋类游戏。 在小 Q 设计的游戏中&#xff0c;棋子可以放在棋盘上的格点中。某些格点之间有连线&#xff0c;棋子只能在有连线的格点之间移动。整个棋盘上共有 VVV 个格点&#xff0c;编号为 0,1,2,⋯,V−10,1,2,\cdots, V- 10,1,2,⋯,V−…

数论-质数

质数质数基本概念质数的判定&#xff08;试除法&#xff09;定义判断分解质因数筛法求素数1.最普通的筛法 O(nlogn)2.诶氏筛法 O(nloglogn)粗略等于O(n)3.线性筛法 O(n)质数基本概念 质数就是大于1的整数中只有1和本身两种因子的整数&#xff0c;或者叫素数 质数的判定&#…

一日一题:第一题---Dijkstra求最短路 I(最浅显易懂!)

分享—对于最短路问题的笔记&#xff1a; 戳这里->原题链接 题目描述 给定一个 n 个点 m 条边的有向图&#xff0c;图中可能存在重边和自环&#xff0c;所有边权均为正值。 请你求出 1 号点到 n 号点的最短距离&#xff0c;如果无法从 1 号点走到 n 号点&#xff0c;则输出…

【GDKOI2010】圈地计划

题目大意 给定一个 n∗mn*mn∗m 的矩阵&#xff0c;每个点可以选择 000 或 111 &#xff0c;给定数组 Ai,jA_{i,j}Ai,j​ 和数组 Bi,jB_{i,j}Bi,j​ &#xff0c;表示点 (i,j)(i,j)(i,j) 选择 000 获得 Ai,jA_{i,j}Ai,j​ 的价值&#xff0c;否则获得 Bi,jB_{i,j}Bi,j​ 的价值…

Layout·差分约束系统 Bellman_Ford SPFA

Layout题目信息输入输出测试样例提示来源解答方法一Bellman_Ford方法二SPFA想法题目信息 Like everyone else, cows like to stand close to their friends when queuing for feed. FJ hasN (2 < N < 1000)cows numbered 1...N standing along a straight line waiting …

蓝桥杯倒计时 36天-DFS练习

文章目录 飞机降落仙境诅咒小怂爱水洼串变换 飞机降落 思路&#xff1a;贪心暴搜。 #include<bits/stdc.h>using namespace std; const int N 10; int t,n; //这题 N 比较小&#xff0c;可以用暴力搜搜复杂度是 TN*N! struct plane{int t,d,l; }p[N]; bool vis[N];//用…

蓝桥杯第19天(Python)(疯狂刷题第3天)

题型&#xff1a; 1.思维题/杂题&#xff1a;数学公式&#xff0c;分析题意&#xff0c;找规律 2.BFS/DFS&#xff1a;广搜&#xff08;递归实现&#xff09;&#xff0c;深搜&#xff08;deque实现&#xff09; 3.简单数论&#xff1a;模&#xff0c;素数&#xff08;只需要…

【计数DP】CF1794D

Problem - D - Codeforces 题意 思路 解法大方向对了&#xff0c;但是还是不会做&#xff0c;原因是组合数不知道怎么求 首先需要注意到一些东西&#xff1a; 1.底数一定是质数 2.质数个数 < n 一定无解 3.哪些质数作为底数是不确定的 4.n < 2022 那么我们其实可…

数据结构-图的基本信息13

图的基本信息13 1. 图的定义 图&#xff08;Graph&#xff09;是由顶点的有穷非空集合和顶点之间的边组成&#xff0c;通常表示为&#xff1a;G(V&#xff0c;E)&#xff0c;其中&#xff0c;G 表示一个图&#xff0c;V 是图 G 中顶点的集合&#xff0c;E 是图 G 中边的集合。…

【图论】最小生成树与Prim、Kruskal算法

求图的最小生成树的Prim、Kruscal算法&#xff0c;其实都是由最小生成树的性质推来的&#xff0c;掌握了该性质&#xff0c;便能较容易地推导出这两种算法。 最小生成树的性质 无向图G的顶点集为 V V V&#xff0c;设 U U U为 V V V的真子集&#xff0c; u ∈ U u\in U u∈U&a…

CF1029E Tree with Small Distances 题解

题意简述 给定一颗有根树&#xff08;根节点为 1 1 1&#xff09;。要求往树中加入一些边使得从根节点到其他节点的距离至多是 2 2 2。求加入边的最小数量。(边全部都是无向的) 解题思路 还是采用贪心的思路。 对于一个到根节点的距离大于 2 2 2 的叶子节点&#xff0c;…

2023 算法设计与分析 (计算机与网安)第三次实验课

目录 1. BFS试炼之微博转发 2. DFS试炼之不同路径数 3. 并查集试炼之合并集合 4. 堆排序 5. 厦大GPA 6. 消防安全指挥问题 7. 铺设光纤问题 8. CCF A会报告 9. 商店 &#xff08;挑战题&#xff09; 1. BFS试炼之微博转发 Tag&#xff1a;bfs 存储&#xff1a;邻接表…

leetcode547. 省份数量

有 n 个城市&#xff0c;其中一些彼此相连&#xff0c;另一些没有相连。如果城市 a 与城市 b 直接相连&#xff0c;且城市 b 与城市 c 直接相连&#xff0c;那么城市 a 与城市 c 间接相连。 省份 是一组直接或间接相连的城市&#xff0c;组内不含其他没有相连的城市。 给你一…

并查集解决图的连通性问题

并查集 1. 定义2.并查集3.模板代码4. 力扣例题4.1 剑指 Offer II 118. 多余的边4.2 力扣695. 岛屿的最大面积 1. 定义 在计算机科学中&#xff0c;并查集&#xff08;英文&#xff1a;Disjoint-set data structure&#xff0c;直译为不交集数据结构&#xff09;是一种数据结构&…

弗洛伊德算法(求最短路径)

弗洛伊德算法介绍 和迪杰斯特拉算法一 样&#xff0c; 弗洛伊德(Floyd)算法也是一种用于寻找给定的加权图中顶点间最短路径的算法。弗洛伊德算法(Floyd)计算图中各个顶点之间的最短路径迪杰斯特拉算法用于计算图中某-一个顶点到其他项点的最短路径。弗洛伊德算法VS迪杰斯特拉算…

树与图的存储-邻接表与邻接矩阵-深度广度遍历

全部代码 全部代码在github acwing 上 正在更新 https://github.com/stolendance/acwing 图论 欢迎star与fork 树与图的存储 无论是树 还是无向图 都可以看成有向图 有向图可以采用邻接矩阵与邻接表进行存储 邻接矩阵 邻接矩阵 采用矩阵存储,graph[i][j] 代表i到j边的权重…

AcWing 842. 排列数字 DFS, BFS, 图论搜索存储1~n的排列

C 图论中两种搜索方法 1. 深度优先搜索 DFS 数据结构&#xff1a;使用栈 stack 空间&#xff1a;O(n) 不具有最短路性质 回溯&#xff1a;搜索到最深&#xff0c;往回走的过程 2. 宽度优先搜索 BFS 数据结构&#xff1a;使用队列 queue 空间&#xff1a;O(2^n) 具有最…

C语言-图的存储结构(邻接表)

查找函数&#xff08;LocateVex查找坐标&#xff09;构建有向图&#xff08;Directed Graph&#xff09;构建无向图&#xff08;Undirected Graph&#xff09;图的类型选择函数&#xff08;GraphChoice&#xff09;输出邻接矩阵&#xff08;print&#xff09; 邻接表结构解析&…

E2. PermuTree (hard version)

E2. PermuTree (hard version) 提示一&#xff1a;数值域无关性&#xff0c;不管给一个子树分配哪些数字&#xff0c;在子树上经过排序后可得到唯一的最大值 提示二&#xff1a;只关注当前节点的数值应当将哪些子树分隔开 根据根节点的值可以将子树划分为两个子集&#xff0c;设…

第三章 图论 No.11二分图,匈牙利算法与点覆盖

文章目录 二分染色&#xff1a;257. 关押罪犯增广路径372. 棋盘覆盖 最小点覆盖376. 机器任务 最大独立集378. 骑士放置 最小路径点覆盖 二分染色&#xff1a;257. 关押罪犯 257. 关押罪犯 - AcWing题库 最大最小问题&#xff0c;一眼二分 答案的范围在 [ 1 , 1 e 9 ] [1, 1…

P1123 取数游戏

取数游戏 题目描述 一个 N M N\times M NM 的由非负整数构成的数字矩阵&#xff0c;你需要在其中取出若干个数字&#xff0c;使得取出的任意两个数字不相邻&#xff08;若一个数字在另外一个数字相邻 8 8 8 个格子中的一个即认为这两个数字相邻&#xff09;&#xff0c;求…

MATLAB图论合集(一)基本操作基础

本帖总结一些经典的图论问题&#xff0c;通过MATLAB如何计算答案。近期在复习考研&#xff0c;以此来巩固一下相关知识——虽然考研肯定不能用MATLAB代码哈哈&#xff0c;不过在实际应用中解决问题还是很不错的&#xff0c;比C易上手得多~ 图论中的图&#xff08;Graph&#xf…

P8642 [蓝桥杯 2016 国 AC] 路径之谜

[蓝桥杯 2016 国 AC] 路径之谜 题目描述 小明冒充 X X X 星球的骑士&#xff0c;进入了一个奇怪的城堡。 城堡里边什么都没有&#xff0c;只有方形石头铺成的地面。 假设城堡地面是 n n n\times n nn 个方格。如图所示。 按习俗&#xff0c;骑士要从西北角走到东南角。 …

Algorithem Review 5.2 图论

网络流 设源点为 s s s&#xff0c;汇点为 t t t&#xff0c;每条边 e e e 的流量上限为 c ( e ) c(e) c(e)&#xff0c;流量为 f ( e ) f(e) f(e)。割 指对于某一顶点集合 P ⊂ V P \subset V P⊂V&#xff0c;从 P P P 出发指向 P P P 外部的那些原图中的边的集合&a…

每天一道leetcode:1129. 颜色交替的最短路径(图论中等广度优先遍历)

今日份题目&#xff1a; 给定一个整数 n&#xff0c;即有向图中的节点数&#xff0c;其中节点标记为 0 到 n - 1。图中的每条边为红色或者蓝色&#xff0c;并且可能存在自环或平行边。 给定两个数组 redEdges 和 blueEdges&#xff0c;其中&#xff1a; redEdges[i] [ai, bi…

洛谷P1036题解

一、问题引出 [NOIP2002 普及组] 选数 题目描述 已知 n n n 个整数 x 1 , x 2 , ⋯ , x n x_1,x_2,\cdots,x_n x1​,x2​,⋯,xn​&#xff0c;以及 1 1 1 个整数 k k k&#xff08; k < n k<n k<n&#xff09;。从 n n n 个整数中任选 k k k 个整数相加&…

P1160 队列安排

#include <bits/stdc.h> using namespace std; int n, m; int r[100010]; int l[100010]; int vis[100010]; int idx;void init() {r[0] 1;l[1] 0;r[1] -1;//先把第一个同学安排进入队列&#xff0c;左手连着0节点&#xff0c;右手连 -1 表示空idx 2; }void add(int …

算法模板(3):搜索(3):图论提高

图论提高 最小生成树 &#xff08;1&#xff09;朴素版prim算法&#xff08; O ( n 2 ) O(n ^ 2) O(n2)&#xff09; 适用范围&#xff1a;稠密图易错&#xff1a;注意有向图还是无向图&#xff1b;注意有没有重边和负权边。从一个集合向外一个一个扩展&#xff0c;最开始只…

用prim和kruskal算法求最小生成树问题

最短网络 题目http://ybt.ssoier.cn:8088/problem_show.php?pid1350 #include<bits/stdc.h> using namespace std; const int N110; int w[N][N]; bool st[N]; int dist[N]; int n,res0; void prim() {memset(dist,0x3f,sizeof dist);dist[1]0;//初始化第一个点到自己…

团体程序设计天梯赛-练习集L2篇⑥

&#x1f680;欢迎来到本文&#x1f680; &#x1f349;个人简介&#xff1a;Hello大家好呀&#xff0c;我是陈童学&#xff0c;一个与你一样正在慢慢前行的普通人。 &#x1f3c0;个人主页&#xff1a;陈童学哦CSDN &#x1f4a1;所属专栏&#xff1a;PTA &#x1f381;希望各…

概率图模型--因子图

概率图模型–因子图 – 潘登同学的Machine Learning笔记 文章目录概率图模型--因子图 -- 潘登同学的Machine Learning笔记简单回顾概率图模型回顾贝叶斯网络简单回顾马尔可夫随机场(MRF)因子图将贝叶斯网络用因子图表示将马尔科夫随机场用因子图表示总结简单回顾概率图模型 概…

概率图模型--马尔可夫随机场

概率图模型–马尔可夫随机场 – 潘登同学的Machine Learning笔记 文章目录概率图模型--马尔可夫随机场 -- 潘登同学的Machine Learning笔记由贝叶斯网络过渡到马尔可夫链简单回顾贝叶斯网络由head-to-tail导出马尔可夫链马尔可夫随机场(MRF)马尔可夫随机场与马尔可夫链的关系马…

★★★[并查集变形] AcWing 240. 食物链 题解

输入样例&#xff1a; 100 7 1 101 1 2 1 2 2 2 3 2 3 3 1 1 3 2 3 1 1 5 5输出样例&#xff1a; 3 思路: 我们可以将食物链的环状捕食关系用并查集的形式表现出来, 印射成某节点距根节点的距离取余3的值(0 / 1 / 2 ), 差值为1的即为捕食与被捕食的关系, 如 2 - >…

铺设道路~

[NOIP2018 提高组] 铺设道路 题目背景 NOIP2018 提高组 D1T1 题目描述 春春是一名道路工程师&#xff0c;负责铺设一条长度为 n n n 的道路。 铺设道路的主要工作是填平下陷的地表。整段道路可以看作是 n n n 块首尾相连的区域&#xff0c;一开始&#xff0c;第 i i i …

2121 拆地毯

2121 拆地毯 其实我非常不想做这种区间类的题目 貌似这个题不是什么区间 而是最大生成树 &#xff1f;&#xff01; 牛逼 保留的地毯构成的图中&#xff0c;任意可互相到达的两点间只能有一种方式互相到达 也就是一个树 所以&#xff0c;我们准备用krusal算法 #include<io…

分层图(图解+例题)

分层图 分层图多用于求最短路径,但是最短路径中可以有k条边的权值为0。 既然可以k条边为0,那么对于k条边的选取就是个问题。 所以有了分层图的概念。 对于每个点都可以选择下一条边是否赋予权值为0,那么我们就可以将图画出k1层。 图例 我们简单画一下一个有向图,并且k1(有一条…

最优贸易(SPFA反向图)

题目: 题目传送门 C国有n个大城市和m 条道路&#xff0c;每条道路连接这 n个城市中的某两个城市。任意两个城市之间最多只有一条道路直接相连。这 m 条道路中有一部分为单向通行的道路&#xff0c;一部分为双向通行的道路&#xff0c;双向通行的道路在统计条数时也计为 1条。 …

Floyed算法

Floyed-Warshall算法定义 floyed主要解决多源最短路径问题,可以求出任意两点间的最短路径,以简单便捷著称! 适用于边值为负的情况。 实现过程 视频讲解 floyed的实质是动态规划思想(将小规模问题的解存储在内存中,等到大问题的解直接拿来有效利用,这就是动态规划的基本思路),f…

图的基本操作(邻接矩阵)

图基本操作:要求代码进阶操作1.最小生成树(Kruskal算法)2.最短路径(Dijkstra算法)3.拓扑排序(前提得是有向无环图)4.关键路径错误集锦&#xff1a;基本操作: 要求 1.创建图的存储结构&#xff08;顶点不少于 5 个&#xff09;(本文使用邻接矩阵)&#xff08;1 分&#xff09; …

[CF1062F]Upgrading Cities

Description 给出一张DAG G<V,E> |V|n,|E|m 定义一个点x为important的当且仅当对于每个点y!x&#xff0c;满足x能到达y&#xff0c;或者y能到达x 定义一个点x为semi-important的当且仅当删去一个点后x为important的 求important的和semi-important的点数 n,m<300000 …

弦图(Chordal Graph)学习小记

前言 这是个什么神仙玩意儿&#xff1f;(仙图 先把结论贴出来方便背板&#xff0c;证明什么的啃完再补 考NOI前千万不要点开什么毒瘤的技能树 所以现在点 由于很懒所以想到哪写到哪 一些约定 GGG无向图 G[S]G[S]G[S]点集S的诱导子图 δ(S)\delta(S)δ(S)点集S的临集 一些定义…

Petrozavodsk Winter Training Camp 2018: Carnegie Mellon U Contest A. Mines

题目大意&#xff1a; 给你n个点&#xff0c;分别位于pi。每个点有个爆炸范围ri和代价ci&#xff0c;花费ci可以引爆某个点&#xff0c;并且pi-ri到piri范围内的点都会被引爆。q个询问&#xff0c;每次修改一个点的ci&#xff0c;每次输出引爆所有店的最小代价。 题解&#xf…

C++解题报告——Rima(字典树+树形DP)

题目描述 Adrian对单词押韵很感兴趣。如果两个单词的最长公共后缀的长度与两个单词中较长那个的长度一样&#xff0c;或者等于较长单词的长度减一&#xff0c;则这两个单词押韵。换句话说&#xff0c;如果A,B的最长公共后缀LCS&#xff08;A&#xff0c;B&#xff09;≥max&…

浅论 欧拉路径欧拉回路

欧拉路径 废话不扯&#xff0c;直接先了解一下定义 如果图G中的一个路径包括每个边恰好一次&#xff0c;则该路径称为欧拉路径(Euler path) 这需要跟哈密顿路区别一下&#xff0c;前者是边&#xff0c;后者是点 如果一个图中存在具有欧拉路径但不具有欧拉回路则称为半欧拉图 …

7.2 POJ刷题记录【深搜广搜】

目录 1321 棋盘问题 2698 八皇后问题 2748 全排列 3050 Hopscotch 4070 全排列 4077 出栈序列统计 4103 踩方格 4127 迷宫问题 B Anagram 1164:The Castle 1562:Oil Deposits 1565:Skew Binary bool check(){} void dfs(int step) { if(step>n)//判断边界&a…

【题目记录】——ICPC南昌2019

文章目录B A Funny Bipartite Graph 状压DPE Bobs ProblemG Eating PlanK Tree 树上启发式合并L Who is the Champion 签到题目集地址 ICPC2019南昌B A Funny Bipartite Graph 状压DP 题目地址B A Funny Bipartite Graph 题目大意:一个二分图&#xff0c;左右各有n个点&#x…

POJ-1847 Tram 题解

Tram(电车) 题目大意&#xff1a; 萨格勒布的电车网络由许多交叉路口和连接其中一些的铁路组成。在每个交叉路口都有一个开关&#xff0c;指向从交叉路口出来的一条铁轨。当有轨电车进入交叉路口时&#xff0c;它只能沿开关指向的方向离开。如果驾驶员想要采取其他方式&#…

bfs图的遍历

文章目录 bfs程序设计程序分析bfs 一个有n个节点的连通图,这些节点以编号:1、2、……n进行编号,现给出节点间的连接关系。请以节点1为起点,按bfs的顺序遍历并输出该图。 【输入形式】 第一行为两整数,n和e,表示n个顶点,e条边 以下e行每行两个数,表示两个节点是联通的 【…

从前序与中序遍历序列构造二叉树——力扣105

题目描述 法一&#xff09;递归 复杂度分析 代码如下 class Solution { private:unordered_map<int, int> index;public:TreeNode* myBuildTree(const vector<int>& preorder, const vector<int>& inorder, int preorder_left, int preorder_ri…

数学知识 ---- 约数

约数 869. 试除法求约数 给定 n 个正整数 ai&#xff0c;对于每个整数 ai&#xff0c;请你按照从小到大的顺序输出它的所有约数。 输入格式 第一行包含整数 n。 接下来 n 行&#xff0c;每行包含一个整数 ai。 输出格式 输出共 n 行&#xff0c;其中第 i 行输出第 i 个整…

AcWing 每日一题 2022/5/1【2057. 比赛时间】

AcWing 每日一题 2022/5/1【2057. 比赛时间】 奶牛贝茜已经厌倦了牛奶生产行业&#xff0c;并希望转而从事令人兴奋的计算机行业。 为了提高自己的编程能力&#xff0c;她决定参加在线 USACO 比赛。 由于她注意到比赛开始于 2011 年 11 月 11 日&#xff08;11/11/11&#x…

7-4 稀疏矩阵加法 (20 分)

关注博主不迷路&#xff0c;博主带你码代码&#xff01; 7-4 稀疏矩阵加法 (20 分) 给定两个矩阵A和B&#xff0c;求其和矩阵CAB。 输入格式: 第一行包含两个数Row和Col&#xff0c;分别表示矩阵的行数和列数&#xff0c;A和B的维度是一致的。 第二行只有一个数N1 &#xff…

790. 数的三次方根(浮点数二分)

790. 数的三次方根 给定一个浮点数 n&#xff0c;求它的三次方根。 输入格式 共一行&#xff0c;包含一个浮点数 n。 输出格式 共一行&#xff0c;包含一个浮点数&#xff0c;表示问题的解。 注意&#xff0c;结果保留 6 位小数。 数据范围 −10000≤n≤10000 输入样例&am…

Java-数据结构-并查集<二>

一.并查集的简单介绍 二. 并查集的主要构成和实现方式 三.HashMap模板和数组模板 由于在下文的模板基本一致&#xff0c;不再每次都罗列&#xff0c;大体的模板如下&#xff0c;若有错误可以在leetcode找到对应的题目解答&#xff0c;已经附上连接。 HashMap class UnionFi…

C#,老鼠迷宫问题的回溯法求解(Rat in a Maze)算法与源代码

1 老鼠迷宫问题 迷宫中的老鼠&#xff0c;作为另一个可以使用回溯解决的示例问题。 迷宫以块的NN二进制矩阵给出&#xff0c;其中源块是最左上方的块&#xff0c;即迷宫[0][0]&#xff0c;目标块是最右下方的块&#xff0c;即迷宫[N-1][N-1]。老鼠从源头开始&#xff0c;必须…

图论及其应用(匈牙利算法)---期末胡乱复习版

目录 题目知识点解题步骤小结题目 T1:从下图中给定的 M = {x1y4,x2y2,x3y1,x4y5},用 Hungariam算法【匈牙利算法】 求出图中的完美匹配,并写出步骤。 知识点 关于匈牙利算法: 需要注意的是,匈牙利算法仅适用于二分图,并且能够找到完美匹配。什么是交替路?从一个未匹…

【数据结构】图论与并查集

一、并查集 1.原理 简单的讲并查集&#xff0c;就是查询两个个元素&#xff0c;是否在一个集合当中&#xff0c;这里的集合用树的形式进行表示。并查集的本质就是森林, 即多棵树。 我们再来简单的举个例子: 假设此时的你是大一新生&#xff0c;刚进入大学&#xff0c;肯定是…

6130 树的最长路

思路&#xff1a;树的最长路问题可以通过两次 DFS 求解&#xff0c;具体思路如下&#xff1a; 1.第一次 DFS 求树的直径 以任意一个点为起点进行深度优先遍历&#xff08;DFS&#xff09;&#xff0c;找到与该点距离最远的点 u 。 以 u 为起点进行 DFS &#xff0c;找到与 u 距…

蓝桥集训之日期差值

蓝桥集训之日期差值 模版&#xff1a;判断闰年 总天数 月份天数 #include <iostream>#include <cstring>#include <algorithm>using namespace std;const int months[]{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};int is_leap(int y){if(y % 10…

2.4日总结

第一题&#xff1a;选数 题解&#xff1a;思路还是很简单的&#xff0c;只需要想清楚dfs里的函数都是什么就可以了&#xff0c;还有一个简单的判断素数的函数&#xff0c;这题真没啥难度&#xff0c;就是属于基础题吧&#xff0c;请看AC代码 #include <stdio.h> #includ…

算法题目题单+题解——图论

简介 本文为自己做的一部分图论题目&#xff0c;作为题单列出&#xff0c;持续更新。 题单由题目链接和题解两部分组成&#xff0c;题解部分提供简洁题意&#xff0c;代码仓库&#xff1a;Kaiser-Yang/OJProblems。 对于同一个一级标题下的题目&#xff0c;题目难度尽可能做…

作业2024/2/5

第四章 堆与拷贝构造函数 一 、程序阅读题 1、给出下面程序输出结果。 #include <iostream.h> class example {int a; public: example(int b5){ab;} void print(){aa1;cout <<a<<"";} void print()const {cout<<a<<endl;} …

2024/2/17 图论 最短路入门 dijkstra 1

目录 算法思路 Dijkstra求最短路 AcWing 849. Dijkstra求最短路 I - AcWing 850. Dijkstra求最短路 II - AcWing题库 最短路 最短路 - HDU 2544 - Virtual Judge (vjudge.net) 【模板】单源最短路径&#xff08;弱化版&#xff09; P3371 【模板】单源最短路径&#xf…

【数据结构】图的存储与遍历

图的概念 图是由顶点集合及顶点间的关系组成的一种数据结构&#xff1a;G (V&#xff0c; E) 图分为有向图和无向图 在有向图中&#xff0c;顶点对<x, y>是有序的&#xff0c;顶点对<x&#xff0c;y>称为顶点x到顶点y的一条边(弧)&#xff0c;<x, y>和&l…

Luogu P3547 [POI2013] CEN-Price List 题解 BFS 广度优先搜索

题目链接&#xff1a;Luogu P3547 [POI2013] CEN-Price List 题目描述&#xff1a; 给定一张边权均为a的无向图&#xff0c;现在将所有两点之间最短路为2a的点之间增加一条长度为b的无向边&#xff0c;问到给定点s的单元最短路。 题解&#xff1a; 对于一个点u到s的最短路只有三…

图机器学习

图机器学习1、图机器学习导论1.1图神经网络与普通神经网络的异同2、图的基本表示和特征工程2.1 图的基本表示2.1.1 图的本体设计2.1.2 图的种类2.1.3节点连接数&#xff08;度&#xff09;2.1.4图的基本表示&#xff08;邻接矩阵&#xff09;节点数量少使用2.1.5图的基本表示&a…

C语言-最小生成树(Kruskal算法)

创建边集图&#xff08;CreateEdgeGraph&#xff09;打印图&#xff08;print&#xff09;排序函数&#xff08;sort&#xff09;顶点下标查找函数&#xff08;LocateVex&#xff09;查找双亲函数&#xff08;FindRoot&#xff09;克鲁斯卡尔算法&#xff08;MiniSpanTree_Krus…

K Shortest Paths算法之Eppstein algorithm

Eppstein的算法是David Eppstein于1998年提出的一种高效且易于实现的k条最短路径寻找方法。它的时间复杂度为O(m n log n k)&#xff0c;其中m是边的数量&#xff0c;n是节点的数量&#xff0c;k是要寻找的路径数。相较于其他方法&#xff0c;它具有较好的性能和实用性。 Epp…

并查集详解及应用

文章和代码已经归档至【Github仓库&#xff1a;https://github.com/timerring/algorithms-notes 】或者公众号【AIShareLab】回复 算法笔记 也可获取。 文章目录 并查集优化方法 例题&#xff1a;合并集合code 例题&#xff1a;连通块中点的数量code 模板总结例题&#xff1a;食…

一口气——并查集及其在Kruskal算法的应用

本文记录下树结构下的并查集和其在Kruskal计算最小生成树算法中的应用 一、何为并查集 并查集&#xff0c;顾名思义对数据进行合并和查询&#xff0c;因为是树结构的应用&#xff0c;合并即将两个数据安置在树中&#xff0c;查询即查询某个数据的祖宗结点。其意义在于将许多看…

英语翻译题目——8

链接&#xff1a;OpenJudge - 07:Shortest Path 描述&#xff1a; 有一个带有N个节点的图。给出每个节点之间的边的长度&#xff0c;找到从S到E的最短路径。 输入&#xff1a; 有一个带有N个节点的图。给出每个节点之间的边的长度&#xff0c;找到从S到E的最短路径。 输出…

点分治及其例题

点分治 处理树上问题&#xff0c;将问题范围分为穿过树根的与子树内部 对于子树内部采用递归处理&#xff0c;对穿过树根具体题目具体分析 为了让递归层数尽量少&#xff0c;先要找重心 找重心&#xff1a; 重心为所有子树的最大值最小的节点 用 s z [ i ] sz[i] sz[i]记…

数据结构C++——拓扑排序

数据结构C——拓扑排序 文章目录数据结构C——拓扑排序一、前言二、拓扑排序的概念及作用三、拓扑排序的实现①拓扑排序的实现原理②拓扑排序中FindInDegree()函数的实现③拓扑排序的代码实现④完整测试代码四、总结一、前言 拓扑排序需要用到栈和邻接表的相关知识&#xff0c…

inputs a date (e.g. July 4, 2008) and outputs the day of the week-根据输入日期判断星期几

inputs a date (e.g. July 4, 2008) and outputs the day of the week-根据输入日期判断星期几&#xff1a;//inputs a date (e.g. July 4, 2008) and outputs the day of the week #include<iostream> #include<string> using namespace std;bool leapyear;void g…

CS224W Lecture2笔记

Traditional Method for ML in Graphs lecture2主要介绍的是传统的图机器学习方法&#xff0c;从三个维度进行阐述&#xff1a;Node level, Link level, Graph level。想要应用机器学习模型&#xff0c;首先需要从图中提取出能够充分表示这张图信息的特征&#xff0c;而本节le…

网络流总结

【算法简介】 网络流是个好东西 主要掌握dinic的写法&#xff08;最好是带上各种优化的&#xff09;后&#xff0c;就是各种建图的套路了 直接放个dinic的板子 const ll inf1e17; int head[maxn],tot1,cur[maxn]; struct edge {int to,nxt;ll v; }e[maxm<<1]; void ad…

数据结构之手写图(Java)

Graph接口 public interface Graph<V, E> {int edgesSize();int verticesSize();void addVertex(V v);void addEdge(V from, V to);void addEdge(V from, V to, E weight);void removeEdge(V from, V to);void removeVertex(V v);// interface vertexVisitor<V>…

最小生成树·kruskal

最小生成树题目信息测试样例解答题目信息 用避圈法求无向图G的最小生成树 输入&#xff1a; 正整数N M&#xff0c;N代表无向图G的阶数&#xff1b;M代表边数。 随后的M行对应M条边&#xff0c;每行给出3个正整数&#xff0c;分别是该边关联的两个顶点以及该边的权值&#xff…

求单点的最短路径

求单点的最短路径题目信息输入输出测试样例解答想法Dijkstra算法特点Dijkstra算法思路Dijkstra算法演示题目信息 求从指定源点出发到各个顶点的最短路径。 假设图中结点名均为单个互不相同的字母&#xff0c;权值均>0。 输入 第一行&#xff1a;结点数量n&#xff0c;弧…

网络楼楼通·最小生成树kruskal 克鲁斯卡尔算法

网络楼楼通题目信息输入输出测试样例解答想法最小生成树kruskal克鲁斯卡尔算法基本思想具体做法判断连通题目信息 现有学校宿舍区之间要铺设光纤建设网络&#xff0c;在施工预算的统计数据表中&#xff0c;列出了有可能建设光缆的若干条管线的成本&#xff0c;求使每栋楼都能够…

分组背包

分组背包&#xff1a; 分组的背包问题将彼此互斥的若干物品称为一个组&#xff0c;这建立了一个很好的模型。不少背包问题的变形都可以转化为分组的背包问题&#xff0c;由分组的背包问题进一步可定义“泛化物品”的概念&#xff0c;十分有利于解题。 第 i 个物品是一个物品组&…

[NOIP2001 普及组] 数的计算【递推】

[NOIP2001 普及组] 数的计算 题目描述 给出自然数 nnn&#xff0c;要求按如下方式构造数列&#xff1a; 只有一个数字 nnn 的数列是一个合法的数列。在一个合法的数列的末尾加入一个自然数&#xff0c;但是这个自然数不能超过该数列最后一项的一半&#xff0c;可以得到一个新…

P2280 [HNOI2003]激光炸弹 【二维前缀和】

[HNOI2003]激光炸弹 题目描述 一种新型的激光炸弹&#xff0c;可以摧毁一个边长为 mmm 的正方形内的所有目标。现在地图上有 nnn 个目标&#xff0c;用整数 xix_ixi​ , yiy_iyi​ 表示目标在地图上的位置&#xff0c;每个目标都有一个价值 viv_ivi​ .激光炸弹的投放是通过卫…

【图论C++】链式前先星(图(树)的存储)

/*** file * author jUicE_g2R(qq:3406291309)————彬(bin-必应)* 一个某双流一大学通信与信息专业大二在读 * * brief 一直在竞赛算法学习的路上* * copyright 2023.9* COPYRIGHT 原创技术笔记&#xff1a;转载需获得博主本人…

【简单图论】CF898 div4 H

Problem - H - Codeforces 题意&#xff1a; 思路&#xff1a; 手玩一下样例就能发现简单结论&#xff1a; v 离它所在的树枝的根的距离 < m 离这个根的距离时是 YES 否则就是NO 实现就很简单&#xff0c;先去树上找环&#xff0c;然后找出这个根&#xff0c;分别给a 和…

最小生成树 | 市政道路拓宽预算的优化 (Minimum Spanning Tree)

任务描述&#xff1a; 市政投资拓宽市区道路&#xff0c;本着执政为民&#xff0c;节省纳税人钱的目的&#xff0c;论证是否有必要对每一条路都施工拓宽&#xff1f; 这是一个连问带答的好问题。项目制学习可以上下半场&#xff0c;上半场头脑风暴节省投资的所有可行的思路&a…

【图论C++】Floyd算法(多源最短路径长 及 完整路径)

>>>竞赛算法 /*** file * author jUicE_g2R(qq:3406291309)————彬(bin-必应)* 一个某双流一大学通信与信息专业大二在读 * * brief 一直在算法竞赛学习的路上* * copyright 2023.9* COPYRIGHT 原创技术笔记&#xff…

中位数C++题解

T3 中位数 题目描述&#xff1a; 在玩正整数。他手里有一个串&#xff0c;每次会实施三种操作中的一种。 把没有加入的最小的正整数&#xff0c;从左边加入串中。把没有加入的最小的正整数&#xff0c;从右边加入串中。询问此时串的最中间的数&#xff0c;也就是假设当前有 个…

day-63 代码随想录算法训练营(19) 图论 part 02

1020.飞地的数量 分析&#xff1a;求不跟边界接壤的陆地的数量 思路一&#xff1a;深度优先遍历 先从四个侧边找陆地&#xff0c;然后进行深度优先遍历&#xff0c;把所有接壤的陆地&#xff08;1&#xff09;全部转换成海洋&#xff08;0&#xff09; 深度优先遍历&#xf…

树形dp模板

285. 没有上司的舞会 - AcWing题库 #include<iostream> #include<cstdio> #include<cstdlib> #include<string> #include<cstring> #include<cmath> #include<ctime> #include<algorithm> #include<utility> #include&…

【算法每日一练]-图论(保姆级教程篇7 最小生成树 ,并查集模板篇)#村村通 #最小生成树

目录 题目&#xff1a;村村通 并查集 题目&#xff1a;最小生成树 kruskal算法 prim算法 先引入问题&#xff1a; 要在n个城市之间铺设光缆&#xff0c;主要目标是要使这 n 个城市的任意两个之间都可以通信&#xff0c;但铺设光缆的费用很高&#xff0c;且各个城市之间铺…

每天一道leetcode:797. 所有可能的路径(图论中等深度优先遍历)

今日份题目&#xff1a; 给你一个有 n 个节点的 有向无环图&#xff08;DAG&#xff09;&#xff0c;请你找出所有从节点 0 到节点 n-1 的路径并输出&#xff08;不要求按特定顺序&#xff09; graph[i] 是一个从节点 i 可以访问的所有节点的列表&#xff08;即从节点 i 到节…

邮递员送信 单源最短路+反向建边

有一个邮递员要送东西&#xff0c;邮局在节点 1 1 1。他总共要送 n − 1 n−1 n−1样东西&#xff0c;其目的地分别是节点 2 2 2到节点 n n n。所有的道路都是单行的&#xff0c;共有 m m m条道路。邮递员每次只能带一样东西&#xff0c;运送每件物品过后必须返回邮局。求送完东…

数据结构--关键路径

数据结构–关键路径 AOE⽹ 在 带权有向图 \color{red}带权有向图 带权有向图中&#xff0c;以 顶点表示事件 \color{red}顶点表示事件 顶点表示事件&#xff0c;以 有向边表示活动 \color{red}有向边表示活动 有向边表示活动&#xff0c;以 边上的权值表示完成该活动的开销 \…

【图论】判环问题

&#xff08;未更新完、做到相关题再更新相关部分 文章目录 无向图判断有无环并输出环上点 无向图判断有无环并输出环上点 例题&#xff1a;H. Mad City 利用变种拓扑排序&#xff0c;先把度为1的点存入队中&#xff0c;每次取出队头&#xff0c;遍历邻接点&#xff0c;再将该…

每天一道leetcode:433. 最小基因变化(图论中等广度优先遍历)

今日份题目&#xff1a; 基因序列可以表示为一条由 8 个字符组成的字符串&#xff0c;其中每个字符都是 A、C、G 和 T 之一。 假设我们需要调查从基因序列 start 变为 end 所发生的基因变化。一次基因变化就意味着这个基因序列中的一个字符发生了变化。 例如&#xff0c;&quo…

算法随笔:点双连通分量边双连通分量

点双连通分量 概念及性质&#xff1a; 在一个连通图中任选两点&#xff0c;如果它们之间至少存在两条“点不重复”的路径&#xff0c;则称为点双连通分量。在这个图上去掉任意一个点&#xff0c;整个图仍然连通。即点双连通分量中不存在割点。 不同的点双连通分量最多只有一…

Leetcode 3017. Count the Number of Houses at a Certain Distance II

Leetcode 3017. Count the Number of Houses at a Certain Distance II 1. 解题思路2. 代码实现 题目链接&#xff1a;3017. Count the Number of Houses at a Certain Distance II 1. 解题思路 这一题其实思路上还是比较简单的&#xff0c;显然任何一个图都可以拆分为以下三…

1300*C. Rumor(并查集贪心)

解析&#xff1a; 并查集&#xff0c;求每个集合的最小费用。 每次合并集合的时候&#xff0c;根节点保存当前集合最小的费用。 #include<bits/stdc.h> using namespace std; #define int long long const int N1e55; int n,m,a[N],p[N],cnt[N]; int find(int x){retur…

浙大陈越何钦铭数据结构07-图6 旅游规划

题目: 有了一张自驾旅游路线图&#xff0c;你会知道城市间的高速公路长度、以及该公路要收取的过路费。现在需要你写一个程序&#xff0c;帮助前来咨询的游客找一条出发地和目的地之间的最短路径。如果有若干条路径都是最短的&#xff0c;那么需要输出最便宜的一条路径。 输入…

MATLAB图论合集(二)计算最小生成树

今天来介绍第二部分&#xff0c;图论中非常重要的知识点——最小生成树。作为数据结构的理论知识&#xff0c;Prim算法和克鲁斯卡尔算法的思想此处博主不详细介绍&#xff0c;建议在阅读本帖前熟练掌握。 对于无向带权图&#xff0c;在MATLAB中可以直接以邻接矩阵的方式创建出来…

每天一道leetcode:542. 01 矩阵(图论中等广度优先遍历)

今日份题目&#xff1a; 给定一个由 0 和 1 组成的矩阵 mat &#xff0c;请输出一个大小相同的矩阵&#xff0c;其中每一个格子是 mat 中对应位置元素到最近的 0 的距离。 两个相邻元素间的距离为 1 。 示例1 输入&#xff1a;mat [[0,0,0],[0,1,0],[0,0,0]] 输出&#xff…

2023-8-31 有边数限制的最短路(bellman-ford)

题目链接&#xff1a;有边数限制的最短路 #include <iostream> #include <cstring> #include <algorithm>using namespace std;const int N 510, M 10010;int n, m, k; int dist[N], backup[N];// 存放边的信息 struct Edge {int a, b, w; }edges[M];void …

最小生成树 -prim算法

一般无向图建图稠密图-prim算法稀疏图-kruskal算法 prim : 加点法 1.先随机选一个点&#xff0c;加入集合 &#xff0c;之后寻找最短的距离的点加入集合&#xff0c;行程最小生成树。 2.注意最小生成树是不能有回路的&#xff0c; 所以可以把回路设置成最大值&#xff0c;即假装…

【管理运筹学】第 7 章 | 图与网络分析(1,图论背景以及基本概念、术语)

文章目录 引言一、图与网络的基本知识1.1 图与网络的基本概念1.1.1 图的定义1.1.2 图中相关术语1.1.3 一些特殊图类1.1.4 图的运算 写在最后 引言 按照正常进度应该学习动态规划了&#xff0c;但我想换换口味&#xff0c;而且动态规划听说也有一定难度&#xff0c;还不一定会考…

【管理运筹学】第 7 章 | 图与网络分析(2,最小支撑树问题)

文章目录 引言二、最小支撑树问题2.1 树的定义及其基本性质2.2 图的支撑树2.3 最小支撑树的定义及有关定理2.4 最小支撑树算法2.4.1 避圈法&#xff08;KRUSKAL算法&#xff09;2.4.2 反圈法&#xff08;PRIM算法&#xff09;2.4.3 破圈法 写在最后 引言 承接前文&#xff0c;…

[Java]图论详解(内附详细代码)

专栏简介 :MySql数据库从入门到进阶. 题目来源:leetcode,牛客,剑指offer. 创作目标:记录学习MySql学习历程 希望在提升自己的同时,帮助他人,,与大家一起共同进步,互相成长. 学历代表过去,能力代表现在,学习能力代表未来! 目录 1.图的基本概念 2.图的存储结构 2.1 邻接矩阵…

2024/2/7 图的基础知识 1

图的存储 B3643 图的存储 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路&#xff1a;mp[n][n]用来存邻接矩阵&#xff0c;二维vector用来存每个点连的点 完整代码&#xff1a; #include <bits/stdc.h> #define int long long const int N 1e5 10; int n, m; …

备战蓝桥杯---图论之最短路dijkstra算法

目录 先分个类吧&#xff1a; 1.对于有向无环图&#xff0c;我们直接拓扑排序&#xff0c;和AOE网类似&#xff0c;把取max改成min即可。 2.边权全部相等&#xff0c;直接BFS即可 3.单源点最短路 从一个点出发&#xff0c;到达其他顶点的最短路长度。 Dijkstra算法&#x…

【图论经典题目讲解】CF786B - Legacy 一道线段树优化建图的经典题目

C F 786 B − L e g a c y \mathrm{CF786B - Legacy} CF786B−Legacy D e s c r i p t i o n \mathrm{Description} Description 给定 1 1 1 张 n n n 个点的有向图&#xff0c;初始没有边&#xff0c;接下来有 q q q 次操作&#xff0c;形式如下&#xff1a; 1 u v w 表示…

【管理运筹学】第 7 章 | 图与网络分析(1,图论背景以及基本概念、术语、矩阵表示)

文章目录 引言一、图与网络的基本知识1.1 图与网络的基本概念1.1.1 图的定义1.1.2 图中相关术语1.1.3 一些特殊图类1.1.4 图的运算 1.2 图的矩阵表示1.2.1 邻接矩阵1.2.2 可达矩阵1.2.3 关联矩阵1.2.4 权矩阵 写在最后 引言 按照正常进度应该学习动态规划了&#xff0c;但我想…

【管理运筹学】第 7 章 | 图与网络分析(3,最短路问题)

文章目录 引言三、最短路问题3.1 最短路问题定义3.2 Dijkstra 算法3.2.1 算法基本依据3.2.2 算法基本思想与步骤 3.3 逐次逼近算法&#xff08;Bellman-Ford 算法&#xff09;3.4 Floyd 算法 写在最后 引言 承接前文&#xff0c;我们来学习图论中另一个经典问题 —— 最短路问…

【LeetCode: 210. 课程表 II:拓扑排序+图】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

P2784 化学1(chem1)- 化学合成(最长路)

思路&#xff1a;最长路啦~&#xff0c;很明显吧 只需要对dijkstra或者SPFA的模板改一点就即可AC&#xff0c;经典捏~ &#xff08;os:SPFA本身就可以处理负权值&#xff09; 1&#xff1a;dijkstra:&#xff08;底下附上SPFA做法~&#xff09; 不同点1&#xff1a;用大根堆l…

[ABC180F] Unbranched

题目传送门 引 A T AT AT 的题面大多数情况下都挺人性的 解法 考虑分析三个限制&#xff1a; − - − 图中无自环 : 对于构造图时特判大小为 1 1 1 的环 − - − 每个点度数最多为 2 2 2 : 仔细想想&#xff0c;这个限制翻译过来就是图中每一个连通块是一个 链 或者 环…

红与黑(bfs + dfs 解法)(算法图论基础入门)

红与黑问题 文章目录 红与黑问题前言问题描述bfs 解法dfs 解法 前言 献给阿尔吉侬的花束( 入门级bfs查找 模版解读 错误示范 在之前的博客当中&#xff0c;详细地介绍了这类题目的解法&#xff0c;今天为大家带来一道类似的题目练练手&#xff0c;后续还会更新更有挑战的题目…

图论第四天|127. 单词接龙、841. 钥匙和房间、463. 岛屿的周长

127. 单词接龙 ★ 文档讲解 &#xff1a;代码随想录 - 127. 单词接龙 状态&#xff1a;开始学习。&#xff08;★&#xff1a;需要多次回顾并重点回顾&#xff09; 思路&#xff1a; 本题需要解决两个问题&#xff1a; 图中的线是如何连在一起的 题目中并没有给出点与点之间的…

存在负权边的单源最短路径的原理和C++实现

负权图 此图用朴素迪氏或堆优化迪氏都会出错&#xff0c;floyd可以处理。 负环图 但floyd无法处理负权环&#xff0c;最短距离是无穷小。在环上不断循环。 经过k条边的最短距离&#xff08;可能有负权变&#xff09; 贝尔曼福特算法(bellman_ford)就是解决此问题的。 原理 …

[图论]哈尔滨工业大学(哈工大 HIT)学习笔记16-22

视频来源&#xff1a;2.7.1 补图_哔哩哔哩_bilibili 目录 1. 补图 1.1. 补图 2. 双图 2.1. 双图定理 3. 图兰定理/托兰定理 4. 极图理论 5. 欧拉图 5.1. 欧拉迹 5.2. 欧拉闭迹 5.3. 欧拉图 5.4. 欧拉定理 5.5. 伪图 1. 补图 1.1. 补图 &#xff08;1&#xff09;…

数据结构——图(图的存储及基本操作)

文章目录 前言一、邻接矩阵法&#xff08;顺序存储&#xff09;1.无向图存储邻接矩阵算法2.有向图存储邻接矩阵算法 二、邻接表法(图的链式存储结构)总结 前言 邻接矩阵法(图的顺序存储结构) 1.1 无向图邻接矩阵算法 1.2 有向图邻接矩阵算法邻接表法(图的一种链式存储结构) 一…

蓝桥杯 题库 简单 每日十题 day2

01 卡片 题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 小蓝有很多数字卡片&#xff0c;每张卡片上都是数字 0 到 9。 小蓝准备用这些卡片来拼一些数&#xff0c;他想从 1 开始拼出正整数&#xff0c;每拼一个&a…

图论16(Leetcode863.二叉树中所有距离为K的结点)

答案&#xff1a; /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val x; }* }*/ class Solution {public List<Integer> distanceK(TreeNode root, TreeNode tar…

最小生成树kruskal算法_C++详解

最小生成树定义 生成树(spanning tree):一个连通无向图的生成子图,同时要求是树。也即在图的边集中选择 n − 1 n - 1 n−1 条,将所有顶点连通。 最小生成树:我们定义无向连通图的 最小生成树(Minimum Spanning Tree,MST)为边权和最小的生成树。

搜索与图论总结

算法博文DFSDFS&#xff08;深度优先&#xff09;-CSDN博客BFSBFS(宽度优先)&#xff08;最短路&#xff09;-CSDN博客有向图与无向图有向图与无向图&#xff08;邻接表&#xff09;_无向图有向图邻接表_人生导师yxc的博客-CSDN博客拓扑排序topsort(拓扑排序)-CSDN博客最短路最…

刷题笔记28——一直分不清的Kruskal、Prim、Dijkstra算法

图算法刷到这块&#xff0c;感觉像是走了一段黑路快回到家一样&#xff0c;看到这三个一直分不太清总是记混的名字&#xff0c;我满脑子想起的是大学数据结构课我坐在第一排&#xff0c;看着我班导一脸无奈&#xff0c;心想该怎么把这个知识点灌进木头脑袋里边呢。有很多算法我…

2023牛客暑假多校第五场(补题向题解:C,E)

当时只做出来4个题&#xff0c;被两个学弟的队伍压了一题&#xff0c;可能是因为两个中等题都偏向构造和猜结论这种&#xff0c;我们队伍不太擅长&#xff0c;需要加强这方面的训练。 C Cheeeeen the Cute Cat&#xff08;图论&#xff09; 说实话不看题解&#xff0c;还是很…

7-3 投票统计 武汉理工大学C语言

7-3 投票统计 分数 15 作者 TracyLi 单位 成都信息工程大学 用程序模拟一个活动的投票统计功能。首先输入参选人员个数&#xff0c;再输入每位参选人员名字&#xff08;不超过20字节&#xff09;&#xff0c;再输入选票张数&#xff0c;再依次输入选票中所选的参选人名&#xf…

图论17(Leetcode864.获取所有钥匙的最短路径)

用二进制表示获得的钥匙&#xff0c;假设n钥匙个数 000000000代表没有钥匙&#xff0c;0000000001代表有idx为1的钥匙&#xff0c;0000000011代表有idx1&#xff0c;2的钥匙 &#xff08;这方法巧妙又复杂.. 代码&#xff1a; class Solution {static int[][] dirs {{-1,0}…

刷题笔记26——图论二分图判定

世界上的事情,最忌讳的就是个十全十美,你看那天上的月亮,一旦圆满了,马上就要亏厌;树上的果子,一旦熟透了,马上就要坠落。凡事总要稍留欠缺,才能持恒。 ——莫言 visited数组是在如果有环的情况下&#xff0c;防止在图中一直绕圈设置的&#xff0c;类似于剪枝操作&#xff0c;走…

图的匹配相关学习笔记

二分图最大匹配 二分图是一种奇妙的图&#xff0c;它满足可以把其内部的节点划分成两个集合&#xff0c;且这每个集合内部的的点没有边相连。 二分图的判定 二分图的判定定理&#xff1a;一张无向图是二分图&#xff0c;当且仅当图中不存在奇环&#xff08;长度为奇数的环&am…

流形和图形的关系

搬运学习一篇arkiv文章《The Mathematical Foundations of Manifold Learning》&#xff0c;主要介绍流形和图的关系。文章doi: https://doi.org/10.48550/arXiv.2011.01307 乍一看这两个数学概念似乎并不相似&#xff0c;因为图一般研究其组合性质&#xff0c;流形一般研究其拓…

搜索与图论——bellman—ford算法、spfa算法

bellman-ford算法 时间复杂度O(nm) 在一般情况下&#xff0c;spfa算法都优于bf算法&#xff0c;但遇到最短路的边数有限制的题时&#xff0c;只能用bf算法 bf算法和dijkstra很像 #include<iostream> #include<queue> #include<cstring> #include<algori…

图论- 最小生成树

一、最小生成树-prim算法 1.1 最小生成树概念 一幅图可以有很多不同的生成树&#xff0c;比如下面这幅图&#xff0c;红色的边就组成了两棵不同的生成树&#xff1a; 对于加权图&#xff0c;每条边都有权重&#xff08;用最小生成树算法的现实场景中&#xff0c;图的边权重…

简单图论的知识

文章目录 一、最短路径二、最小生成树 一、最短路径 Floyd算法是一种求解多源最短路问题的算法。 在floyd中&#xff0c;图一般用邻接矩阵存储&#xff0c;边权可正可负&#xff0c;利用动态规划思想&#xff0c;逐步求解出任意两点之间的最短距离。 我们需要准备一个数组d[N]…

图的遍历试题

一、单项选择题 01.下列关于广度优先算法的说法中&#xff0c;正确的是( ). Ⅰ.当各边的权值相等时&#xff0c;广度优先算法可以解决单源最短路径问题 Ⅱ.当各边的权值不等时&#xff0c;广度优先算法可用来解决单源最短路径问题 Ⅲ.广度优先遍历算法类似于树中的后序遍历算法…

第十四届省赛大学B组(C/C++)岛屿个数

目录 题目链接&#xff1a;岛屿个数 解题思路&#xff1a; AC代码&#xff08;BFSDFS&#xff09;&#xff1a; 题目链接&#xff1a;岛屿个数 小蓝得到了一副大小为 MN 的格子地图&#xff0c;可以将其视作一个只包含字符 0&#xff08;代表海水&#xff09;和 1&#xff0…

[蓝桥杯 2019 省赛 AB] 完全二叉树的权值

# [蓝桥杯 2019 省 AB] 完全二叉树的权值 ## 题目描述 给定一棵包含 $N$ 个节点的完全二叉树&#xff0c;树上每个节点都有一个权值&#xff0c;按从上到下、从左到右的顺序依次是 $A_1,A_2, \cdots A_N$&#xff0c;如下图所示&#xff1a; 现在小明要把相同深度的节点的权值…

竞赛常考的知识点大总结(七)图论

最短路 最短路问题&#xff08;Shortest Path Problem&#xff09;是图论中的一个经典问题&#xff0c;它要求在给定的图中找到两个顶点之间的最短路径。最短路问题可以是单源最短路问题&#xff08;从一个顶点到其他所有顶点的最短路径&#xff09;或所有对最短路问题&#x…

深入浅出Prim算法和Kruskal算法求最小生成树算法

深入浅出Prim算法和Kruskal算法求最小生成树&#xff1a; Prim算法 ​ 首先初始化距离 正无穷。 ​ n 次迭代(因为要选中n个点)&#xff0c;找到不在集合(当前生成树)中的且距离当前块最小的点(记作)m点&#xff0c;&#xff0c;用m点去更新其他掉到集合中的点的距离&#x…

【图论】【拓扑排序】1857. 有向图中最大颜色值

本文涉及的知识点 图论 拓扑排序 LeetCode1857. 有向图中最大颜色值 给你一个 有向图 &#xff0c;它含有 n 个节点和 m 条边。节点编号从 0 到 n - 1 。 给你一个字符串 colors &#xff0c;其中 colors[i] 是小写英文字母&#xff0c;表示图中第 i 个节点的 颜色 &#xf…

acwing算法提高之图论--最小生成树的典型应用

目录 1 介绍2 训练 1 介绍 本专题用来记录使用prim算法或kruskal算法求解的题目。 2 训练 题目1&#xff1a;1140最短网络 C代码如下&#xff0c; #include <iostream> #include <cstring>using namespace std;const int N 110, INF 0x3f3f3f3f; int g[N][N…

图论模板详解

目录 Floyd算法 例题&#xff1a;蓝桥公园 Dijkstra算法 例题&#xff1a;蓝桥王国 SPFA算法 例题&#xff1a;随机数据下的最短路问题 总结 最小生成树MST Prim算法 Kruskal算法 例题&#xff1a;聪明的猴子 Floyd算法 最简单的最短路径算法&#xff0c;使用邻接…

acwing算法提高之图论--单源最短路的扩展应用

目录 1 介绍2 训练 1 介绍 本专题用来记录使用。。。。 2 训练 题目1&#xff1a;1137选择最佳线路 C代码如下&#xff0c; #include <iostream> #include <cstring> #include <algorithm> #include <queue>using namespace std;const int N 101…

图论做题笔记:dfs

Leetcode - 797&#xff1a;所有可能的路径 题目&#xff1a; 给你一个有 n 个节点的 有向无环图&#xff08;DAG&#xff09;&#xff0c;请你找出所有从节点 0 到节点 n-1 的路径并输出&#xff08;不要求按特定顺序&#xff09; graph[i] 是一个从节点 i 可以访问的所有节…

算法学习——LeetCode力扣图论篇2(1020. 飞地的数量、130. 被围绕的区域、827. 最大人工岛)

算法学习——LeetCode力扣图论篇2 1020. 飞地的数量 1020. 飞地的数量 - 力扣&#xff08;LeetCode&#xff09; 描述 给你一个大小为 m x n 的二进制矩阵 grid &#xff0c;其中 0 表示一个海洋单元格、1 表示一个陆地单元格。 一次 移动 是指从一个陆地单元格走到另一个相…

acwing算法提高之图论--SPFA找负环

目录 1 介绍2 训练 1 介绍 本专题用来记录使用spfa算法来求负环的题目。 2 训练 题目1&#xff1a;904虫洞 C代码如下&#xff0c; #include <cstring> #include <iostream> #include <algorithm> #include <queue>using namespace std;typedef p…

【图论】知识点集合

边的类型 neighbors(邻居)&#xff1a;两个顶点有一条共同边 loop&#xff1a;链接自身 link&#xff1a;两个顶点有一条边 parallel edges&#xff1a;两个顶点有两条及以上条边 无向图 必要条件&#xff1a;删掉顶点数一定大于等于剩下的顶点数 设无向图G<V,E>是…

acwing算法提高之图论--最小生成树的扩展应用

目录 1 介绍2 训练 1 介绍 本专题用来记录使用最小生成树算法&#xff08;prim或kruskal&#xff09;解决的扩展题目。 2 训练 题目1&#xff1a;1146新的开始 C代码如下&#xff0c; #include <iostream> #include <cstring> #include <algorithm>usin…

力扣每日一题:LCR112--矩阵中的最长递增路径

题目 给定一个 m x n 整数矩阵 matrix &#xff0c;找出其中 最长递增路径 的长度。 对于每个单元格&#xff0c;你可以往上&#xff0c;下&#xff0c;左&#xff0c;右四个方向移动。 不能 在 对角线 方向上移动或移动到 边界外&#xff08;即不允许环绕&#xff09;。 示例…

笛卡尔树[天梯赛二叉树专项训练]

文章目录 题目描述思路AC代码 题目描述 输入样例1 6 8 27 5 1 9 40 -1 -1 10 20 0 3 12 21 -1 4 15 22 -1 -1 5 35 -1 -1 输出样例1 YES 输入样例2 6 8 27 5 1 9 40 -1 -1 10 20 0 3 12 11 -1 4 15 22 -1 -1 50 35 -1 -1 输出样例2 NO思路 见注释 AC代码 #include <bits/st…

算法学习系列(四十七):IDA*

目录 引言一、概念二、例题1.排书2.回转游戏 引言 之前觉得这个IDA*算法、迭代加深算法很神秘&#xff0c;感觉很难&#xff0c;其实自己学下来感觉其实不难&#xff0c;相反思路非常的简单&#xff0c;清晰明了&#xff0c;我觉得难是因为我之前从来都不写暴力&#xff0c;就…

吃豆豆 经典的区间DP 好题典题

这里很巧妙的注意一点是&#xff0c;你最后要把所有的豆子都吃掉&#xff0c;所以你只要看你多增加的尽量的少就好了 然后维护一段区间&#xff0c;表示的是吃掉这段区间里面的所有豆子的最小代价&#xff0c;然后发现最后一个是左端点或者右端点 你吃一段新的区间的同时会把…

【蓝桥杯每日一题】4.4 扫雷

题目来源&#xff1a; 687. 扫雷 - AcWing题库 参考&#xff1a;y总视频讲解 问题描述&#xff1a; 找到解决扫雷游戏中的最小点击次数 思考&#xff1a; 为了保证胜利且每个格子只能走一次&#xff0c;所以当遇到地雷或检测到该格子周围存在地雷的时候就需要停止搜索&…

【蓝桥杯练习】tarjan算法求解LCA

还是一道比较明显的求LCA(最近公共祖先)模型的题目,我们可以使用多种方法来解决该问题&#xff0c;这里我们使用更好写的离线的tarjan算法来解决该问题。 除去tarjan算法必用的基础数组&#xff0c;我们还有一个数组d[],d[i]记录的是每个点的出度&#xff0c;也就是它的延迟时间…

算法刷题day39:树形DP

目录 引言一、病毒溯源二、没有上司的舞会三、生命之树四、树的重心 引言 今天写了个树形DP&#xff0c;就是在树上的DP&#xff0c;其实每道题的总体是一样的&#xff0c;从代码上都能看出来&#xff0c;其实写多了感觉就是背之前写过的代码&#xff0c;其实也就是别人写过的…

【资源分享】Stata18商科最好用的数据统计软件免费下载安装

::: block-1 “时问桫椤”是一个致力于为本科生到研究生教育阶段提供帮助的不太正式的公众号。我们旨在在大家感到困惑、痛苦或面临困难时伸出援手。通过总结广大研究生的经验&#xff0c;帮助大家尽早适应研究生生活&#xff0c;尽快了解科研的本质。祝一切顺利&#xff01;—…

【图论】【分类讨论】LeetCode3017按距离统计房屋对数目

本文涉及的知识点 图论 分类讨论 本题同解 【差分数组】【图论】【分类讨论】【整除以2】3017按距离统计房屋对数目 LeetCode3017按距离统计房屋对数目 给你三个 正整数 n 、x 和 y 。 在城市中&#xff0c;存在编号从 1 到 n 的房屋&#xff0c;由 n 条街道相连。对所有 …

算法基础课-搜索与图论

DFS 题目链接&#xff1a;842. 排列数字 - AcWing题库 思路&#xff1a;写的很好的题解AcWing 842. 排列数字--深度优先遍历代码注释 - AcWing #include<bits/stdc.h>using namespace std; int n; int st[10]; vector<int> a; void dfs(){if(a.size() n){for(in…

双连通分量算法

1. 连通图概念 连通图&#xff1a;无向图任意两点之间存在通路。 强连通&#xff1a;有向图&#xff08;前提&#xff09;中&#xff0c;任意两点都有至少一条通路&#xff0c;则此图为强连通图。 弱连通图&#xff1a;将有向图的有向边换成无向边得到的图是连通图&#xff0c…

P8794 [蓝桥杯 2022 国 A] 环境治理

P8794 [蓝桥杯 2022 国 A] 环境治理 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include <iostream> using namespace std; #define ll long long const int N150; const int inf0x7fffffff; int n,q; int d[N][N],l[N][N]; int t[N][N]; void floyd() {for(int k0…

搜索与图论——拓扑排序

有向图的拓扑排序就是图的宽度优先遍历的一个应用 有向无环图一定存在拓扑序列&#xff08;有向无环图又被称为拓扑图&#xff09;&#xff0c;有向有环图一定不存在拓扑序列。无向图没有拓扑序列。 拓扑序列&#xff1a;将一个图排成拓扑序后&#xff0c;所有的边都是从前指…

[论文精读]AM-GCN: Adaptive Multi-channel Graph Convolutional Networks

论文网址&#xff1a;[2007.02265] AM-GCN: Adaptive Multi-channel Graph Convolutional Networks (arxiv.org) 论文代码&#xff1a;GitHub - zhumeiqiBUPT/AM-GCN&#xff1a; AM-GCN&#xff1a; 自适应多通道图卷积网络 英文是纯手打的&#xff01;论文原文的summarizin…

图论——并查集

参考内容&#xff1a; 图论——并查集(详细版) 并查集&#xff08;Disjoint-set&#xff09;是一种精巧的树形数据结构&#xff0c;它主要用于处理一些不相交集合的合并及查询问题。一些常见用途&#xff0c;比如求联通子图、求最小生成树的 Kruskal 算法和求最近公共祖先&…

Triples of Cows

题目传送门 引 模拟赛 T 4 T4 T4 , 变换挺妙的, 而且感觉转换后问题就迎刃而解了 解法 强行模拟拆点重连边显然不行,会让图的边数达到 n 2 n^2 n2 级别的 —————————————————————————————————————————————————— 考虑转…

带你走进Cflow (一)

目录 ​编辑 1、cflow 简介 2、使用 cflow 分析程序的简要方法 3、两种类型的流图 1、cflow 简介 cflow 工具用于分析 C 语言实现的源文件集并输出各个函数之间的依赖关系图。cflow 可以生成两种类型的图&#xff1a;正向图和逆向图。正向图从 main()函数开始&#xff0c;…

数据结构-图的存储

邻接矩阵法 #define MaxVertexNum 100 //顶点数目的最大值 typedef struct{char Vex[MaxVertexNum]; //顶点表int Edge[MaxVertexNum][MaxVertexNum]; //邻接矩阵&#xff0c;边表int vexnum,arcnum; //图的当前顶点数和边数 }MGraph;无向图 第i个顶点的度第i行&#xff08;或第…

【打卡】牛客网:BM59 N皇后问题

自己写的&#xff1a; ①想自己定义结构体node&#xff0c;发现find函数太麻烦。看了眼模板&#xff0c;就用一个vector<int>记录行号就行&#xff0c;索引自然而然就是列号。 ②想用for循环写&#xff08;未通过&#xff09; 还在想这和模拟差不多。后来才意识到&…

力扣每日一题day36[112.路径总和]

给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径&#xff0c;这条路径上所有节点值相加等于目标和 targetSum 。如果存在&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 叶子节点 是指没有子节点…

电子学会C/C++编程等级考试2022年06月(七级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:有多少种二叉树 输入n(1<n<13),求n个结点的二叉树有多少种形态 时间限制:1000 内存限制:65536输入 整数n输出 答案 样例输入 3样例输出 5 答案: //参考答案 #include<bits/stdc++.h> using namespace std; …

Floyd(弗洛伊德)算法总结

知识概览 Floyd算法适合解决多源汇最短路问题&#xff0c;其中源点是起点&#xff0c;汇点是终点。时间复杂度是。 例题展示 题目链接 活动 - AcWing 系统讲解常用算法与数据结构&#xff0c;给出相应代码模板&#xff0c;并会布置、讲解相应的基础算法题目。https://www.acw…

算法基础之区间分组

区间分组 核心思想&#xff1a;贪心 若所有组中右端点最大值都比当前遍历的区间的左端点大 则需要开新组 为了让组数最多 根据左端点排序 #include<iostream>#include<algorithm>#include<queue>using namespace std;const int N 100010;struct Range{i…

算法竞赛备赛进阶之数位DP训练

数位DP的思想就是对每一位进行DP&#xff0c;计算时记忆化每一位可以有的状态&#xff0c;其作用是减少运算时间&#xff0c;避免重复计算。 数位DP是一种计数用的DP&#xff0c;一般就是要统计一个区间[A,B]内满足一些条件数的个数。 以1e9甚至1e18、1e100的问题为例&#x…

有向图计数优化版原理及C++实现

题目 见前面章节。有向图访问计数的原理及C实现-CSDN博客 第一版 不需要拓扑排序&#xff0c;也不需要并集查找&#xff0c;直接dfs了。完成以下三个职责&#xff1a; 一&#xff0c;DFS那些端点在环上。 二&#xff0c;DFS环上各点此环的长度。 三&#xff0c;DFS非环上各点…

AcWing:5396. 棋盘

标签:二维差分 小蓝拥有 nn 大小的棋盘&#xff0c;一开始棋盘上全都是白子。 小蓝进行了 m 次操作&#xff0c;每次操作会将棋盘上某个范围内的所有棋子的颜色取反(也就是白色棋子变为黑色&#xff0c;黑色棋子变为白色)。 请输出所有操作做完后棋盘上每个棋子的颜色。 输入…

力扣hot100 岛屿数量 dfs 图论

Problem: 200. 岛屿数量 文章目录 思路复杂度Code 思路 复杂度 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( 1 ) O(1) O(1) Code class Solution {int n, m;public int numIslands(char[][] grid){n grid.length;if (n 0)return 0;m grid[0].length;int ans 0;…

【图论--搜索篇】宽度优先搜索,广度优先搜索

今日语录&#xff1a;成功是一种心态&#xff0c;如果你相信自己能做到&#xff0c;那你已经迈出成功的第一步。 文章目录 宽度优先搜索&#xff08;bfs&#xff09;广度优先搜索&#xff08;dfs&#xff09; 宽度优先搜索&#xff08;bfs&#xff09; #include <iostream&…

图论第三天|127. 单词接龙 841.钥匙和房间 463. 岛屿的周长 1971. 寻找图中是否存在路径 684.冗余连接 685.冗余连接II

目录 Leetcode127. 单词接龙Leetcode841.钥匙和房间Leetcode463. 岛屿的周长Leetcode1971. 寻找图中是否存在路径Leetcode684.冗余连接Leetcode685.冗余连接II Leetcode127. 单词接龙 文章链接&#xff1a;代码随想录 题目链接&#xff1a;127. 单词接龙 思路&#xff1a;广搜搜…

【图论】【状态压缩】【树】【深度优先搜索】1617. 统计子树中城市之间最大距离

作者推荐 【动态规划】【字符串】【行程码】1531. 压缩字符串 本文涉及的知识点 图论 深度优先搜索 状态压缩 树 LeetCode1617. 统计子树中城市之间最大距离 给你 n 个城市&#xff0c;编号为从 1 到 n 。同时给你一个大小为 n-1 的数组 edges &#xff0c;其中 edges[i] …

图论练习2

内容&#xff1a;路径计数DP&#xff0c;差分约束 最短路计数 题目大意 给一个个点条边的无向无权图&#xff0c;问从出发到其他每个点的最短路有多少条有自环和重边&#xff0c;对答案 解题思路 设边权为1&#xff0c;跑最短路 表示的路径数自环和重边不影…

【图论】基环树

基环树其实并不是树&#xff0c;是指有n个点n条边的图&#xff0c;我们知道n个点n-1条边的连通图是树&#xff0c;再加一条边就会形成一个环&#xff0c;所以基环树中一定有一个环&#xff0c;长下面这样&#xff1a; 由基环树可以引申出基环内向树和基环外向树 基环内向树如…

2.5 第四章 堆与拷贝构造函数

一 、程序阅读题 1、给出下面程序输出结果。 #include <iostream.h> class example {int a; public: example(int b5){ab;} void print(){aa1;cout <<a<<"";} void print()const {cout<<a<<endl;} }; void main() {example x; const e…

算法刷题day07

目录 引言一、日志统计二、 献给阿尔吉侬的花束三、红与黑四、交换瓶子五、总结 引言 今天就是搞双指针跟BFS的&#xff0c;这个都是最基础的题啊&#xff0c;所以看着没那么难&#xff0c;之后会找题去写的&#xff0c;然后就这样吧。 一、日志统计 标签&#xff1a;双指针算…

2024/2/7 图的基础知识

图的存储 B3643 图的存储 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路&#xff1a;mp[n][n]用来存邻接矩阵&#xff0c;二维vector用来存每个点连的点 完整代码&#xff1a; #include <bits/stdc.h> #define int long long const int N 1e5 10; int n, m; …

图论之dfs与bfs的练习

dfs--深度优选搜索 bfs--广度优先搜索 迷宫问题--dfs 问题&#xff1a; 给定一个n*m的二维迷宫数组其中S是起点&#xff0c;T是终点&#xff0c;*是墙壁&#xff08;无法通过&#xff09;&#xff0c; .是道路 问从起点S出发沿着上下左右四个方向走&#xff0c;能否走到T点&a…

Leecode热题100中图论章节 200. 岛屿数量 994. 腐烂的橘子 207. 课程表 208. 实现 Trie (前缀树)

Leecode热题100中图论章节 200. 岛屿数量994. 腐烂的橘子207. 课程表解题思路 208. 实现 Trie (前缀树) 200. 岛屿数量 200. 岛屿数量 // 图论 dfs // leecode题解中nettee的岛屿问题系列通用解法 class Solution {public int numIslands(char[][] grid) {int res 0; // …

图的简单介绍

定义及术语 G(V,E)&#xff1a;图G的顶点集为V&#xff0c;边集为E。分为有向图和无向图两类。 顶点的度&#xff1a;与该结点相连的边的条数。 出度&#xff1a;顶点的出边条数 入度&#xff1a;顶点的入边条数 顶点的权值称为点权&#xff0c;边的权值称为边权。 存储 1.邻…

图论 - 最短路(Dijkstra、Bellman-Ford、SPFA、Floyd)

文章目录 前言Part 1&#xff1a;朴素Dijkstra算法一、Dijkstra求最短路 I1.问题描述输入格式输出格式数据范围输入样例&#xff1a;输出样例&#xff1a; 2.算法 Part 2&#xff1a;堆优化Dijkstra算法一、Dijkstra求最短路 II1.题目描述输入格式输出格式数据范围输入样例&…

【广度优先搜索】【图论】【并集查找】2493. 将节点分成尽可能多的组

作者推荐 视频算法专题 本文涉及知识点 广度优先搜索 图论 并集查找 LeetCod2493. 将节点分成尽可能多的组 给你一个正整数 n &#xff0c;表示一个 无向 图中的节点数目&#xff0c;节点编号从 1 到 n 。 同时给你一个二维整数数组 edges &#xff0c;其中 edges[i] [ai…

备战蓝桥杯---图论应用1

目录 1.增加虚点建图&#xff1a; 2.抽象图的迪杰斯特拉&#xff1a; 3.用bitset优化弗洛伊德&#xff1a; 4.有向图的Prim/kruskal&#xff1a; 1.增加虚点建图&#xff1a; 我们当然可以每一层与上一层的点再连上一条边&#xff0c;但这样子边太多了超内存&#xff0c;我们…

图论02-并查集的实现(Java)

2.并查集理论基础 并查集的作用 将两个元素添加到一个集合中。 判断两个元素在不在同一个集合并查集的实现 1.DSU 类定义&#xff1a;DSU 类中包含一个整型数组 s 用来存储元素的父节点信息。2.DSU 构造函数&#xff1a; 构造函数 DSU(int size) 接受一个参数 size&#xff0…

C#,图论与图算法,有向图(Directed Graph)的环(Cycle)的普通判断算法与源代码

1 检查该图是否包含循环 给定一个有向图,检查该图是否包含循环。如果给定的图形至少包含一个循环,则函数应返回true,否则返回false。 方法:深度优先遍历可用于检测图中的循环。连接图的DFS生成树。只有当图中存在后缘时,图中才存在循环。后边是从节点到自身(自循环)或…

Tree Compass Codeforces Round 934 (Div. 2) 1944E

Problem - E - Codeforces 题目大意&#xff1a;有一棵n个点的树&#xff0c;初始状态下所有点都是白色的&#xff0c;每次操作可以选择一个点u和一个距离dis&#xff0c;使得距离点u所有长度为dis的点变为黑色&#xff0c;问最少需要多少次操作能使所有点变成黑色&#xff0c…

5465: 【搜索】奶牛干饭

题目描述 农场主John把农场分为了一个 r 行 c 列的矩阵&#xff0c;并发现奶牛们无法通过其中一些区域。此刻&#xff0c;Bessie 位于坐标为 (1,1) 的区域&#xff0c;并想到坐标为 (r,c) 的牛棚享用晚餐。她知道&#xff0c;以她所在的区域为起点&#xff0c;每次移动至相邻的…

Play on Words(UVA 10129)

网址如下&#xff1a; Play on Words - UVA 10129 - Virtual Judge (vjudge.net) &#xff08;第三方网站&#xff09; 一道关于有向欧拉回路的题&#xff0c;其中字母为节点&#xff0c;单词为道路 满足存在欧拉回路的条件有两个&#xff1a; 1&#xff0c;最多有两个奇点…

8.图论——1.邻接表与并查集 例题:无向图判连通性

用向量模拟邻接表 #define N 1000struct edge{int y;int weight; }; vector<edge> graph[N]; void add_edge(int x, int y, int weight){edge e;e.y y;e.weight weight;graph[x].push_back(e); }并查集 用于动态维护若干个不相交的集合&#xff0c;主要有两个操作 查…

【算法每日一练]-图论(保姆级教程篇16 树的重心 树的直径)#树的直径 #会议 #医院设置

目录 树的直径 题目&#xff1a;树的直径 &#xff08;两种解法&#xff09; 做法一&#xff1a; 做法二&#xff1a; 树的重心&#xff1a; 题目&#xff1a; 会议 思路&#xff1a; 题目&#xff1a;医院设置 思路&#xff1a; 树的直径 定义&#xff1a;树中距离最…

图论基础|深度优先dfs、广度优先bfs

dfs 与 bfs 区别 提到深度优先搜索&#xff08;dfs&#xff09;&#xff0c;就不得不说和广度优先搜索&#xff08;bfs&#xff09;有什么区别 先来了解dfs的过程&#xff0c;很多录友可能对dfs&#xff08;深度优先搜索&#xff09;&#xff0c;bfs&#xff08;广度优先搜索…

【算法每日一练]-动态规划(保姆级教程 篇17 状态压缩)#POJ1185:炮兵阵地 #互不侵犯

目录 今日知识点&#xff1a; 把状态压缩成j,dp每行i的布置状态&#xff0c;从i-1和i-2行进行不断转移 把状态压缩成j,dp每行i的布置状态&#xff0c;从i-1行进行状态匹配&#xff0c;然后枚举国王数转移 POJ1185&#xff1a;炮兵阵地 思路&#xff1a; 题目&#xff1a;互…

代码随想录 图论

目录 797.所有可能得路径 200.岛屿数量 695.岛屿的最大面积 1020.飞地的数量 130.被围绕的区域 417.太平洋大西洋水流问题 827.最大人工岛 127.单词接龙 841.钥匙和房间 463.岛屿的周长 797.所有可能得路径 797. 所有可能的路径 中等 给你一个有 n 个节点的…

图论相关代码(matlab)

Dijkstra算法步骤 &#xff08;1&#xff09;构造邻接矩阵 &#xff08;2&#xff09;定义起始点 &#xff08;3&#xff09;运行代码 M[ 0 5 9 Inf Inf Inf InfInf 0 Inf Inf 12 Inf InfInf 3 0 15 Inf 23 InfInf 6 …

图论最短路径以及floyd算法的MATLAB实现

图论是数学的一个分支&#xff0c;起源于18世纪。1736年&#xff0c;数学家欧拉通过解决“哥尼斯堡七桥问题”&#xff0c;将问题抽象成点和线的关系&#xff0c;并通过理论分析得出结论&#xff0c;这个过程标志着图论的产生&#xff0c;欧拉也因此被称为“图论之父”。图论研…

蓝桥杯真题训练 包子凑数(数论)

题解 找到所有数的最大公约数&#xff0c;如果这个数大于1&#xff0c;则说明一定会有数是凑不出来的&#xff0c;即INF&#xff0c;否则的话&#xff0c;用dp去寻找每个数是否能被凑出来&#xff0c;若j-a[i]可以被凑出来&#xff0c;则j一定可以被凑出来&#xff0c;状态转移…

【刷题】搜索——BFS:城堡问题(The Castle)

目录题目代码&#xff08;Flood Fill&#xff09;代码&#xff08;并查集&#xff09;题目 题目链接 找出房间个数——>求连通块个数 最大房间——>求最大连通块 直接用flood fill算法 注意题目的输入&#xff0c;例如118211182111821&#xff0c;则代表有西、北、南墙…

实验10 拓扑排序与最短路径2022

A. DS图—图的最短路径&#xff08;无框架&#xff09;题目描述给出一个图的邻接矩阵&#xff0c;输入顶点v&#xff0c;用迪杰斯特拉算法求顶点v到其它顶点的最短路径。输入第一行输入t&#xff0c;表示有t个测试实例第二行输入顶点数n和n个顶点信息第三行起&#xff0c;每行输…

【寸铁的刷题笔记】图论、bfs、dfs

【寸铁的刷题笔记】图论、bfs、dfs 大家好 我是寸铁&#x1f44a; 金三银四&#xff0c;图论基础结合bfs、dfs是必考的知识点✨ 快跟着寸铁刷起来&#xff01;面试顺利上岸&#x1f44b; 喜欢的小伙伴可以点点关注 &#x1f49d; &#x1f31e;详见如下专栏&#x1f31e; &…

【蓝桥杯集训·每日一题】AcWing 1497. 树的遍历

文章目录一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解三、知识风暴递归一、题目 1、原题链接 1497. 树的遍历 2、题目描述 一个二叉树&#xff0c;树中每个节点的权值互不相同。 现在给出它的后序遍历和中序遍历&#xff0c;请你输出它的 …

【算法每日一练]-练习篇 #Tile Pattern #Swapping Puzzle # socks

目录 今日知识点&#xff1a; 二维前缀和 逆序对 袜子配对(感觉挺难的&#xff0c;又不知道说啥) Tile Pattern Swapping Puzzle socks Tile Pattern 331 题意&#xff1a;有一个10^9*10^9的方格。W表示白色方格&#xff0c;B表示黑色方格。每个(i,j)方的颜色由(i…

341. 最优贸易(dp思想运用,spfa,最短路)

341. 最优贸易 - AcWing题库 C 国有 n 个大城市和 m 条道路&#xff0c;每条道路连接这 n 个城市中的某两个城市。 任意两个城市之间最多只有一条道路直接相连。 这 m 条道路中有一部分为单向通行的道路&#xff0c;一部分为双向通行的道路&#xff0c;双向通行的道路在统计…

【蓝桥杯集训·每日一题】AcWing 3502. 不同路径数

文章目录一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解三、知识风暴一、题目 1、原题链接 3502. 不同路径数 2、题目描述 给定一个 nm 的二维矩阵&#xff0c;其中的每个元素都是一个 [1,9] 之间的正整数。 从矩阵中的任意位置出发&#xf…

1378:最短路径(shopth)

1378&#xff1a;最短路径(shopth) 时间限制: 1000 ms 内存限制: 65536 KB 【题目描述】 给出一个有向图G(V, E)&#xff0c;和一个源点v0∈V&#xff0c;请写一个程序输出v0和图G中其它顶点的最短路径。只要所有的有向环权值和都是正的&#xff0c;我们就允许图的边有…

P8074 [COCI2009-2010#7] SVEMIR 最小生成树

[COCI2009-2010#7] SVEMIR 题目描述 太空帝国要通过建造隧道来联通它的 NNN 个星球。 每个星球用三维坐标 (xi,yi,zi)(x_i,y_i,z_i)(xi​,yi​,zi​) 来表示&#xff0c;而在两个星球 A,BA,BA,B 之间建造隧道的价格为 min⁡{∣xA−xB∣,∣yA−yB∣,∣zA−zB∣}\min\{|x_A-x_…

大话数据结构-迪杰斯特拉算法(Dijkstra)和弗洛伊德算法(Floyd)

6 最短路径 最短路径&#xff0c;对于图来说&#xff0c;是两顶点之间经过的边数最少的路径&#xff1b;对于网来说&#xff0c;是指两顶点之间经过的边上权值之和最小的路径。路径上第一个顶点为源点&#xff0c;最后一个顶点是终点。 6.1 迪杰斯特拉&#xff08;Dijkstra&am…

2022 年辽宁省大学生程序设计竞赛 个人题解

title : 2022 年辽宁省大学生程序设计竞赛 date : 2022-10-25 tags : ACM,练习记录 author : Linno 2022 年辽宁省大学生程序设计竞赛 题目链接&#xff1a;https://ac.nowcoder.com/acm/contest/43937 进度&#xff1a;10/13 质量比较差的场&#xff0c;后三题是错的&#…

【算法入门图论】【模板】拓扑排序|【模板】单源最短路2 |最小生成树

✅作者简介&#xff1a;热爱后端语言的大学生&#xff0c;CSDN内容合伙人 ✨精品专栏&#xff1a;C面向对象 &#x1f525;系列专栏&#xff1a;算法百炼成神 文章目录&#x1f525;前言1、AB13 【模板】拓扑排序1.1、解题思路1.2、代码实现与注释2、AB14 最小生成树2.1、解题思…

个人数学建模算法库之图的创建与可视化

图的创建与可视化图论术语无向图与有向图无向图有向图简单图&#xff0c;完全图与赋权图顶点的度子图与图的连通性图论表示边与顶点的关联矩阵顶点与顶点的邻接矩阵matlab代码邻接矩阵创建图并显示顶点对创建图并显示Python代码顶点对创建图并显示图论术语 无向图与有向图 无…

搞懂图论中的中心性

文章目录0. 前言1. Degree Centrality2. Eigenvector Centrality3. Katz Centrality4. PageRank参考资料0. 前言 中心性&#xff08;Centrality&#xff09;表示的是图&#xff08;Graph&#xff09;中&#xff0c;每个节点的重要度。图在越来越多的领域中被应用&#xff0c;甚…

图的基本介绍

图的定义 1.基本概念 在图中&#xff0c;顶点之间的关系可以是任意的&#xff0c;任意两个元素之间都可能相关顶点的前驱和后继个数无限制 2.定义 图是一种&#xff1a;数据元素间存在多对多关系的数据结构加上一组基本操作构成的抽象数据类型可以表示为&#xff1a;G&…

一些关于通信拓扑、图论的内容笔记

链接&#xff1a;https://zhuanlan.zhihu.com/p/373368383 目前主要是这一个系列&#xff0c;记下来怕我过后忘了。 别处看到的&#xff08;大概率3B1B&#xff09;----走桥的问题----d偶数 多智能体一致性问题&#xff08;分蛋糕&#xff09; 入度 出度 &#xff1a;信息流…

hdu 3549 Flow Problem(简单网络流Dinic)

题目&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid3549 Flow Problem Time Limit: 5000/5000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 11114 Accepted Submission(s): 5271 Problem Description Network flow…

第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(沈阳),签到题4题

文章目录G.The WitchwoodF.Kobolds and CatacombsK.Scholomance AcademyD.Journey to UnGoro补题链接&#xff1a;https://ac.nowcoder.com/acm/contest/18713 https://codeforces.com/gym/103202 G.The Witchwood G. The Witchwood time limit per test2 seconds memory lim…

图的最小生成树-Prim算法

问题引入 【问题描述】 编写程序,利用带权无向图的邻接矩阵存储,实现图的最小生成树Prim算法。 【输入形式】 输入图的顶点序列及图的边的情况。如样例所示。边的输入以输入-1,-1,-1,作为结束。 0,1,6 表示对应的顶点及边是:A到B的边权值为6. 输入生成树起始顶点。 【…

LOAM论文阅读

1. 摘要 本文提出一种实现激光雷达里程计与建图方法&#xff0c;使用6自由度的双轴激光雷达进行距离测量。问题的难点在于激光雷达的每一个点的时间戳都不同&#xff0c;运动估计的误差会影响激光点云的配准。目前相关的3D地图一般使用离线批处理方法构建&#xff0c;且使用闭…

刷题记录:牛客NC24858Job Hunt [最长路+两种不同判环详解]

传送门:牛客 题目描述: 奶牛们正在找工作。农场主约翰知道后&#xff0c;鼓励奶牛们四处碰碰运气。而且他还加了一条要求&#xff1a;一头牛在一个城市 最多只能赚D&#xff08;1≤D≤1000&#xff09;美元&#xff0c;然后它必须到另一座城市工作。当然&#xff0c;它可以在…

图的关键路径(AOE网络)

文章目录AOE网概念性质研究的问题关键路径概念求解的方法注意事项AOE网 概念 用顶点表示事件, 边弧表示活动, 边弧上的权值表示活动持续的时间, 这样的带权有向无环图叫AOE网. AOE网常用于估算工程完成时间. AOE网和AOV网都是有向无环图, 不同之处在于它们的边和顶点所代表的…

Rust机器学习之petgraph

Rust机器学习之petgraph 图作为一种重要的数据结构和表示工具在科学和技术中无处不在。因此&#xff0c;许多软件项目会以各种形式用到图。尤其在知识图谱和因果AI领域&#xff0c;图是最基础的表达和研究工具。Python有著名的NetworksX库&#xff0c;便于用户对复杂网络进行创…

c语言数据结构-图的遍历

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;请留下您的足迹&#xff09; 目录 定义&#xff1a; 两种遍历方法&#xff1a; 深度优先搜索&#xff08;DFS&#xff09;&#xff1a; …

T06 成绩排序

查找和排序 题目&#xff1a;输入任意&#xff08;用户&#xff0c;成绩&#xff09;序列&#xff0c;可以获得成绩从高到低或从低到高的排列,相同成绩 都按先录入排列在前的规则处理。 示例&#xff1a; jack 70 peter 96 Tom 70 smith 67 从高到低 成…

06分支限界法

文章目录八数码难题普通BFS算法全局择优算法&#xff08;A算法&#xff0c;启发式搜索算法&#xff09;单源最短路径问题装载问题算法思想&#xff1a;队列式分支限界法优先队列式分支限界法布线问题最大团问题批处理作业调度问题分支限界法与回溯法的区别&#xff1a; &#x…

【数据结构】最小生成树(Prim算法,普里姆算法,普利姆)、最短路径(Dijkstra算法,迪杰斯特拉算法,单源最短路径)

文章目录前置问题问题解答一、基础概念&#xff1a;最小生成树的定义和性质&#xff08;1&#xff09;最小生成树&#xff08;Minimal Spanning Tree&#xff09;的定义&#xff08;2&#xff09;最小生成树&#xff08;MST&#xff09;的性质二、如何利用MST性质寻找最小生成树…

AtCoder Beginner Contest 289 题解

D 大意&#xff1a; 格子阶梯&#xff0c;给定一步可以走的步数选择&#xff0c;不能后退&#xff0c;问从0开始能否走到n 思路&#xff1a; dfs记忆化 code #include<bits/stdc.h> using namespace std; #define ll int #define endl \n const ll N2e510; ll n,m; l…

C++ 23 实用工具(二)绑定工具

C 23 实用工具&#xff08;二&#xff09;绑定工具 Adaptors for Functions std::bind、std::bind_front、std::bind_back和std::function这四个函数非常适合一起使用。 其中&#xff0c;std::bind、std::bind_front和std::bind_back可以让您即时创建新的函数对象&#xff0c…

最小生成树和最短路径及其他

还是学过的&#xff0c;主要用于复习q v q 一、最小生成树 最小生成树的定义 用于无向图中&#xff0c;无向图指的是没有带方向路径的图&#xff0c;给定n个点&#xff0c;m条边&#xff0c;如果将这些点依次相连&#xff0c;求出连接这些点的最小数值 应用场景 根据这个算…

P5318 【深基18.例3】查找文献

题目描述 小K 喜欢翻看洛谷博客获取知识。每篇文章可能会有若干个&#xff08;也有可能没有&#xff09;参考文献的链接指向别的博客文章。小K 求知欲旺盛&#xff0c;如果他看了某篇文章&#xff0c;那么他一定会去看这篇文章的参考文献&#xff08;如果他之前已经看过这篇参考…

C++ [图论算法详解] 欧拉路欧拉回路

蒟蒻还在上课&#xff0c;所以文章更新的实在慢了点 那今天就来写一篇这周刚学的欧拉路和欧拉回路吧 讲故事环节&#xff1a; 在 一个风雪交加的夜晚 18世纪初普鲁士的哥尼斯堡&#xff0c;有一条河穿过&#xff0c;河上有两个小岛&#xff0c;有七座桥把两个岛与河岸联系…

【数学】02:欧拉函数

欧拉函数 OVERVIEW欧拉函数一、欧拉函数1.定义欧拉函数2.欧拉函数练习&#xff08;1&#xff09;AcWing873.欧拉函数&#xff08;2&#xff09;AcWing874.筛法求欧拉函数二、快速幂1.快速幂2.快速幂练习&#xff08;1&#xff09;AcWing875.快速幂&#xff08;2&#xff09;AcW…

CSDN竞赛第27期题解

CSDN竞赛第27期题解 1、题目名称&#xff1a;幸运数字 小艺定义一个幸运数字的标准包含3条: 1、仅包含4或7。 2、幸运数字的前半部分数字之和等于后半部分数字之和。 3、 数字的长度是偶数。 #include<bits/stdc.h> using namespace std; typedef long long ll; typed…

什么是编程什么是算法

1.绪论 编程应在一个开发环境中完成源程序的编译和运行。首先,发现高级语言开发环境,TC,Windows系统的C++,R语言更适合数学专业的学生。然后学习掌握编程的方法,在学校学习,有时间的人可以在网上学习,或者购买教材自学。最后,编写源程序,并且在开发环境中实践。 例如…

occt_modeling_algos(一)——标准拓扑实体

下面是我基于opencascade英文文档中关于occt_modeling_algos中Standard Topological Objects部分进行的翻译&#xff0c;英文好的还是建议直接看文档&#xff0c;部分我不肯定的地方我会附上英文原句。如发现有错误欢迎评论区留言。 在OCC中可以构建如下标准拓扑实体 文章目录顶…

图的基本概念

1、图的概念 G(V&#xff0c;E) 图G由节点集合VV(G)和边集合EE(G)组成&#xff0c;其中V为非空有限集合。 集合V中的节点&#xff08;node&#xff09;用红色标出&#xff0c;通过集合E中黑色的边&#xff08;edge&#xff09;连接。 G的边&#xff1a;E中的每个顶点对&#x…

图学习——03预备知识

本章我们介绍关于图的基础知识&#xff0c;包括图的定义、类型和性质、图谱理论、图的傅里叶分析等。在之后介绍图神经网络会基于这些基础知识展开&#xff0c; 想要简单运用图神经网络&#xff0c;这部分知识可以不用学。想要系统的理解图神经网络的来源和本质&#xff0c;这…

【蓝桥集训】第七天——并查集

作者&#xff1a;指针不指南吗 专栏&#xff1a;Acwing 蓝桥集训每日一题 &#x1f43e;或许会很慢&#xff0c;但是不可以停下来&#x1f43e; 文章目录1.亲戚2.合并集合3.连通块中点的数量有关并查集的知识学习可以移步至—— 【算法】——并查集1.亲戚 或许你并不知道&#…

【蓝桥集训】第七天并查集

作者&#xff1a;指针不指南吗 专栏&#xff1a;Acwing 蓝桥集训每日一题 &#x1f43e;或许会很慢&#xff0c;但是不可以停下来&#x1f43e; 文章目录1.亲戚2.合并集合3.连通块中点的数量有关并查集的知识学习可以移步至—— 【算法】——并查集1.亲戚 或许你并不知道&#…

0101基础概念-图-数据结构和算法(Java)

文章目录1 图1.1 定义1.2 4种图模型2 无向图2.1 定义2.2 术语后记1 图 1.1 定义 图是一种非线性的数据结构&#xff0c;表示多对多的关系。 图&#xff08;Graph&#xff09;是由顶点的有穷非空集合和顶点之间边的集合组成&#xff0c;通常表示为&#xff1a;G(V, E)&#xf…

约数之和--成功解释为什么要+1。全网最清楚。

这是因为根据约数和公式&#xff0c;当质数p和p的幂次s分别是某个正整数n和m的因数时&#xff0c;它们的和分别为&#xff1a; 1pp2⋯pn1pp^2\cdotsp^n1pp2⋯pn 1pp2⋯pm1pp^2\cdotsp^{m}1pp2⋯pm 则它们的积为&#xff1a; (1pp2⋯pn)(1pp2⋯pm)1pp2⋯pnm(1pp^2\cdotsp^n)(1p…

洛谷 P1825 [USACO11OPEN]Corn Maze S

【题目链接】 洛谷 P1825 [USACO11OPEN]Corn Maze S 【题目考点】 1. 广搜 迷宫问题 【解题思路】 输入地图&#xff0c;记录起点、终点。 设方向数组dir&#xff0c;方便取一个格子上下左右的位置。 从起点出发进行广搜&#xff0c;把位置及到该位置的步数打包成一个结点…

非线性表数据结构_图的表示

一&#xff0c;图的理解 图和树一样都是非线性表数据结构&#xff0c;但是更复杂。树中的元素我们称为节点&#xff0c;图中的元素我们叫作顶点&#xff08;vertex&#xff09;。图中的一个顶点可以与任意其他顶点建立连接关系&#xff0c;这种连接关系叫作边&#xff08;edge…

2023/3/4天梯备战acwing刷题

796子矩阵的和 二维前缀和 #include<iostream> using namespace std; const int maxx 1e310; int ma[maxx][maxx];int main(){int n,m,q;cin>>n>>m>>q;for(int i1;i<n;i){for(int j1;j<m;j){cin>>ma[i][j];ma[i][j]ma[i-1][j]ma[i][j-1…

【蓝桥杯集训·周赛】AcWing 第93场周赛

文章目录第一题 AcWing 4867. 整除数一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解第二题 AcWing 4868. 数字替换一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解第三题 AcWing 4869. 异或值一、题目1、原题…

Day39——Dp专题

文章目录01背包二维数组一维数组6.整数拆分7.不同的二叉搜索01背包 01背包&#xff1a;每一个物品只能选一次&#xff0c;选或者不选 状态标识&#xff1a;f[i][j]&#xff1a;所有只考虑前i个物品&#xff0c;且总体积不超j的所有选法的集合 属性&#xff1a;Max 状态计算&a…

CSDN竞赛第33期题解

CSDN竞赛第33期题解 1、题目名称&#xff1a;奇偶排序 给定一个存放整数的数组&#xff0c;重新排列数组使得数组左边为奇数&#xff0c;右边为偶数。&#xff08;奇数和偶数的顺序根据输入的数字顺序排 列&#xff09; #include<bits/stdc.h> using namespace std; t…

【蓝桥杯集训15】求最短路存在负权边——spaf算法(2 / 4)

——SPFA 算法是 Bellman-Ford算法 的队列优化算法的别称 单源最短路&#xff0c;且图中没有负环就可以用spfa 目录 spaf求最短路模板 852. spfa判断负环 341. 最优贸易 - 3305. 作物杂交 - spaf求最短路模板 只有当一个点的前驱结点更新了&#xff0c;该节点才会得到…

构造有向无环图(拓扑排序)

蓝桥杯集训每日一题 acwing3696 给定一个由 n 个点和 m 条边构成的图。 不保证给定的图是连通的。 图中的一部分边的方向已经确定&#xff0c;你不能改变它们的方向。 剩下的边还未确定方向&#xff0c;你需要为每一条还未确定方向的边指定方向。 你需要保证在确定所有边的…

代码随想录图论 第一天 | 797.所有可能的路径 200. 岛屿数量

代码随想录图论 第一天 | 797.所有可能的路径 200. 岛屿数量 一、797.所有可能的路径 题目链接&#xff1a;https://leetcode.cn/problems/all-paths-from-source-to-target/ 思路&#xff1a;求从0到n-1的所有路径&#xff0c;终止条件是当前节点为n-1。本题图的结构是group…

数据结构例题代码及其讲解-图

01 图的邻接矩阵存储结构定义。 顶点表、边&#xff08;二维数组&#xff09;、顶点数量和边的数量 typedef struct MGraph {char Vex[MaxSize];//顶点(vertex)中数据int Edge[MaxSize][MaxSize];//边int vexnum, arcnum;//顶点数量和边的数量 }MGraph;图中涉及到.和->的区…

代码随想录图论并查集 第七天 | 685.冗余连接II

代码随想录图论并查集 第七天 | 685.冗余连接II 一、685.冗余连接II 题目链接&#xff1a;https://leetcode.cn/problems/redundant-connection-ii/ 思路&#xff1a;684.冗余连接中是连通且无环的无向图可直接使用并查集模板&#xff0c;如果想判断集合中是否有环&#xff0…

P1194 买礼物

Portal. 最小生成树。 一个貌似比较常见的图论建模。对于每个物品可以抽象成一个点&#xff0c;建立超级源点。把每个物品与超级源点连一条边权为 A A A 的边表示直接购买这个物品&#xff0c;在把有优惠关系的一对物品连一条边权为优惠价格 K K K 的边。 这样转化之后&am…

【算法】新年好(堆优化dijkstra)

题目 重庆城里有 n 个车站&#xff0c;m 条 双向 公路连接其中的某些车站。 每两个车站最多用一条公路连接&#xff0c;从任何一个车站出发都可以经过一条或者多条公路到达其他车站&#xff0c;但不同的路径需要花费的时间可能不同。 在一条路径上花费的时间等于路径上所有公路…

图论14-最短路径-Dijkstra算法+Bellman-Ford算法+Floyed算法

文章目录 0 代码仓库1 Dijkstra算法2 Dijkstra算法的实现2.1 设置距离数组2.2 找到当前路径的最小值 curdis&#xff0c;及对应的该顶点cur2.3 更新权重2.4 其他接口2.4.1 判断某个顶点的连通性2.4.2 求源点s到某个顶点的最短路径 3使用优先队列优化-Dijkstra算法3.1 设计内部类…

郑州大学2024年3月招新赛题解

1.两重二for循环维护次大值 这里我就直接用map维护了&#xff0c;多了个logn复杂度还是可以的&#xff0c;下面是AC代码&#xff1a; #include<bits/stdc.h> using namespace std; int n,a[1010]; map<int,int> mp; int main(){cin>>n;int sum0;map<int,…

【单源最短路 图论】882. 细分图中的可到达节点

作者推荐 视频算法专题 本文涉及知识点 单源最短路 图论 LeetCode 882. 细分图中的可到达节点 给你一个无向图&#xff08;原始图&#xff09;&#xff0c;图中有 n 个节点&#xff0c;编号从 0 到 n - 1 。你决定将图中的每条边 细分 为一条节点链&#xff0c;每条边之间…

算法设计与分析(实验5)-----图论—桥问题

一&#xff0e;实验目的 掌握图的连通性。掌握并查集的基本原理和应用。 二&#xff0e;实验步骤与结果 1.定义 &#xff08;1&#xff09;图的相关定义 图&#xff1a;由顶点的有穷非空集合和顶点之间的边的集合组成。 连通图&#xff1a;在无向图G中&#xff0c;若对于…

AcWing796. 子矩阵的和

题目 输入一个 n 行 m 列的整数矩阵&#xff0c;再输入 q 个询问&#xff0c;每个询问包含四个整数 x1,y1,x2,y2&#xff0c;表示一个子矩阵的左上角坐标和右下角坐标。 对于每个询问输出子矩阵中所有数的和。 输入格式 第一行包含三个整数 n&#xff0c;m&#xff0c;q。 …

UVA247 Calling Circles 解题报告

题目链接 https://vjudge.net/problem/UVA-247 题目大意 如果两个人相互打电话&#xff08;直接或间接&#xff09;&#xff0c;则说他们在同一个电话圈里。例如&#xff0c;a打给b&#xff0c;b打给c&#xff0c;c打给d&#xff0c;d打给a&#xff0c;则这4个人在同一个圈里…

14届蓝桥杯 C/C++ B组 T6 岛屿个数 (BFS,FloodFill,填色)

首先拿到这道题不要想着去直接判断环里面的岛屿&#xff0c;这样太困难了&#xff0c;我们可以使用之前做过的题的经验&#xff0c;在输入加入一圈海水&#xff0c;然后从(0,0)点开始BFS&#xff0c;这里进行八向搜索&#xff0c;搜到的0全部都染色成2&#xff0c;假如2能够蔓延…

【图论】Leetcode 200. 岛屿数量【中等】

岛屿数量 给你一个由 ‘1’&#xff08;陆地&#xff09;和 ‘0’&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格中岛屿的数量。 岛屿总是被水包围&#xff0c;并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外&#xff0c;你可以…

图论做题笔记:bfs

Leetcode - 433:最小基因变化 题目&#xff1a; 基因序列可以表示为一条由 8 个字符组成的字符串&#xff0c;其中每个字符都是 A、C、G 和 T 之一。 假设我们需要调查从基因序列 start 变为 end 所发生的基因变化。一次基因变化就意味着这个基因序列中的一个字符发生了变化…

码蹄集部分题目(第五弹;OJ赛2024年第10期)

&#x1f40b;&#x1f40b;&#x1f40b;竹鼠通讯&#xff08;钻石&#xff1b;分治思想&#xff1b;模板题&#xff1a;就算几何平面点对问题&#xff09; 时间限制&#xff1a;3秒 占用内存&#xff1a;128M &#x1f41f;题目描述 在真空中&#xff0c;一块无限平坦光滑…

【图论】Leetcode 207. 课程表【中等】

课程表 你这个学期必须选修 numCourses 门课程&#xff0c;记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出&#xff0c;其中 prerequisites[i] [ai, bi] &#xff0c;表示如果要学习课程 ai 则 必须 先学习课程 bi 。…

蓝桥杯练习笔记(十八)

蓝桥杯练习笔记&#xff08;十八&#xff09; 一、用辅助栈来优化递归深度过大的问题 输入示例 0000100010000001101010101001001100000011 0101111001111101110111100000101010011111 1000010000011101010110000000001011010100 0110101010110000000101100100000101001001 0…

【图论】图的存储--链式前向星存图法以及深度优先遍历图

图的存储 介绍 无向图-就是一种特殊的有向图-> 只用考虑有向图的存储即可 有向图 邻接矩阵邻接表 邻接表 存储结构: (为每一个点开了一个单链表,存储这个点可以到达哪个点) 1:3->4->null2:1->4->null3:4->null4:null 插入一条新的边 比如要插一条边&am…

上海计算机学会 2023年6月月赛 乙组T3 工作安排(结构体排序、贪心算法)

第三题&#xff1a;T3工作安排 标签&#xff1a;结构体排序、贪心算法 题意&#xff1a;有 n n n份任务。完成第 i i i份任务需要 t i t_i ti​的时间&#xff0c;在这份任务没有完成之前&#xff0c;每一个单位时间会收到 f i f_i fi​单位的罚款。求以什么顺序安排这些任务&…

3.7 最大异或对

异或 二进制位同为0&#xff0c;异为1 异或符号 ^ 异或性质&#xff1a; a^a0 a^00 (a^ b ^c) (a^c ^b) 一道异或的题目 最大异或对 题目链接 思路 注重思维方式 首先是暴力想法&#xff0c;使用两重循环&#xff0c;对每两个数字进行取异或运算&#xff0c;得出最大值考虑…

摘花生(简单DP)

Hello Kitty想摘点花生送给她喜欢的米老鼠。她来到一片有网格状道路的矩形花生地(如下图)&#xff0c;从西北角进去&#xff0c;东南角出来。地里每个道路的交叉点上都有种着一株花生苗&#xff0c;上面有若干颗花生&#xff0c;经过一株花生苗就能摘走该它上面所有的花生。Hel…

【SWAT】SWAT中预定义河网及流域

Strahler分级 Strahler编码或Strahler数&#xff0c;可以用于描述河流的等级和流量&#xff0c;以及其他树状结构的分支等级。 对子流域进行编号的方法可以概括为以下几个步骤&#xff1a; 从流域出口开始&#xff0c;将其编号为1。沿着河网向上游遍历。 当遇到一个分叉点时&…

CSP202209-5 高维亚空间超频物质变压缩技术

CSP202209-5高维亚空间超频物质变压缩技术 题意&#xff1a; 给定 nnn 块黄金&#xff0c;每个黄金有体积 viv_ivi​。将黄金分组进行压缩&#xff0c;每一组内的黄金编号连续&#xff0c;压缩一组黄金的代价为 (s−L)2(s-L)^2(s−L)2&#xff0c;sss 为改组黄金的体积和。 …

Dijkstra-单源最短路径算法

Dijkstra-单源最短路径算法1、算法概述2、算法实例3、实战案例3.1 题目描述3.2 解题思路与代码实现1、算法概述 Dijkstra算法用来计算一个点到其他所有点的最短路径的算法&#xff0c;是一种单源最短路径算法。也就是说&#xff0c;只能计算起点只有一个的情况。 算法的时间复杂…

一日一题:第十一题---模拟堆(很认真!)

​作者&#xff1a;小妮无语 专栏&#xff1a;一日一题 &#x1f6b6;‍♀️✌️道阻且长&#xff0c;不要放弃✌️&#x1f3c3;‍♀️ 哭了&#xff0c;一定要记录&#xff0c;为了&#xff0c;写这篇文章千辛万苦 堆笔记 题目描述&#xff1a; 维护一个集合&#xff0c;初始…

图染色问题的NP完全性证明

文章目录1.Overview2.CNF 3-sat3. Gadgets3.1 Concolorous Edges3.2 Starter/Variable Gadget3.3 Splitter Gadget3.4 OR Gadget3.5 Clause Gadget4. To Planar Graph最近在学 6.890&#xff0c;然后 devans 刚好问了我这个问题&#xff0c;然后尝试编了一个证明。 1.Overview…

简单多边形(顺逆时针判断)

链接&#xff1a;https://ac.nowcoder.com/acm/problem/15962来源&#xff1a;牛客网题目描述 为了让所有选手都感到开心&#xff0c;Nowcoder练习赛总会包含一些非常基本的问题。 比如说&#xff1a;按顺时针或逆时针方向给你一个简单的多边形的顶点坐标&#xff0c;请回答此多…

高阶数据结构之图论

文章目录图是什么&#xff1f;图的存储邻接矩阵邻接表无向图邻接表存储有向图邻接表存储图的遍历广度优先遍历&#xff08;BFS&#xff09;深度优先遍历&#xff08;DFS&#xff09;最小生成树Prim算法Kruskal算法最短路径问题Dijkstra算法&#xff08;求单源最短路径&#xff…

[数据结构-C语言] 算法的时间复杂度

目录 1.算法的复杂度 2.时间复杂度 2.1 时间复杂度的概念 2.2 大O的渐进表示法 3、常见时间复杂度计算举例 3.1 冒泡排序 3.2 二分查找 3.3 阶乘递归 3.4 斐波那契数列 1.算法的复杂度 算法在编写成可执行程序后&#xff0c;运行时需要耗费时间资源和空间(内存)资源 …

PTA L2-043 龙龙送外卖

题目 龙龙是“饱了呀”外卖软件的注册骑手&#xff0c;负责送帕特小区的外卖。帕特小区的构造非常特别&#xff0c;都是双向道路且没有构成环 —— 你可以简单地认为小区的路构成了一棵树&#xff0c;根结点是外卖站&#xff0c;树上的结点就是要送餐的地址。 每到中午 12 点…

求a的n次幂

文章目录 求a的n次幂程序设计程序分析求a的n次幂 【问题描述】要求利用书上介绍的从左至右二进制幂算法求a的n次幂; 【输入形式】输入两个正整数,一个是a,一个是n,中间用空格分开 【输出形式】输出一个整数 【样例输入】2 10 【样例输出】1024 【样例输入】3 4 【样例输出】…

【算法基础】二分图(染色法 匈牙利算法)

一、二分图 1. 染色法 一个图是二分图,当且仅当,图中不含奇数环。在判别一个图是否为二分图⑩,其实相当于染色问题,每条边的两个点必须是不同的颜色,一共有两种颜色,如果染色过程中出现矛盾,则说明不是二分图。 for i = 1 to n:if i 未染色DFS(i, 1); //将i号点染色未…

【算法】最短路问题超详细

作者&#xff1a;指针不指南吗 专栏&#xff1a;算法篇 &#x1f43e;算法理解没有用&#xff0c;会思路&#xff0c;会敲代码才OK&#x1f43e; 文章目录0.知识结构图1.朴素Dijkstra算法1.1思想1.2图示1.3模板题2.堆优化版的Dijkstra算法2.1思想2.2模板题3.Bellman-Ford算法3.…

快速幂||取余运算

题目描述给你三个整数 &#xfffd;,&#xfffd;,&#xfffd;a,b,p&#xff0c;求 &#xfffd;&#xfffd; mod &#xfffd;abmodp。输入格式输入只有一行三个整数&#xff0c;分别代表 &#xfffd;,&#xfffd;,&#xfffd;a,b,p。输出格式输出一行一个字符串 a^b m…

【算法基础】约数(计算约数 约数个数 约数之和 最大公约数)

一、约数 1. 试除法求约数 最朴素的办法是遍历1 ~ n(不是从2开始),如果能被n整除,就输出。但是,类比质数的求法,约数都是成对出现的,因此只需要遍历到根号n即可。for(int i = 1; i <= x / i; ++i),但是需要注意的是,如果这个数是个平方数,则存在正好卡在 x / i …

【数学】基本代数图论 Basic Algebraic Graph Theory

文章目录【数学】基本代数图论 Basic Algebraic Graph Theory1. Notations2. Basic Concepts2.1 Basic Representation of Graph2.2 Basic Relations of Graph2.3 Subgraph of Graph2.4 Adjacency Matrix2.5 Laplacian MatrixReference【数学】基本代数图论 Basic Algebraic Gr…

数据结构——图

图的定义 图是由顶点的有穷非空集合和顶点之间边的集合组成的&#xff0c;通常表示为G(V,E)&#xff0c;其中&#xff0c;G表示一个图&#xff0c;V是图G中顶点的集合&#xff0c;E是图G中边的集合。 线性表中可以没有数据元素&#xff0c;称为空表&#xff1b;树中可以没有结点…

leetcode207. 课程表

你这个学期必须选修 numCourses 门课程&#xff0c;记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出&#xff0c;其中 prerequisites[i] [ai, bi] &#xff0c;表示如果要学习课程 ai 则 必须 先学习课程 bi 。 例如&…

C++ 树进阶系列之探讨深度搜索算法查找环的细枝末节

1. 前言 对于基环树的讲解&#xff0c;分上、下 2 篇&#xff0c;上篇以理解连通分量、环以及使用深度搜索算法检查连通性和环为主&#xff0c;下篇以基于基环树结构的应用为主。 什么是基环树&#xff1f; 所谓基环树指由n个节点n条边所构建而成的连通图。 如下图所示&…

C++时间和时间戳的转换

文章目录 时间戳转标准时间标准时间转时间戳方法一&#xff1a;方法二方法三 &#xff08; 微秒 &#xff09; 时间戳转标准时间 // timestamp.cpp#include <stdio.h> #include <time.h> #include <iostream> #include <string>using namespace std;t…

排队接水--贪心

排队接水 题目描述 有 n n n 个人在一个水龙头前排队接水&#xff0c;假如每个人接水的时间为 T i T_i Ti​&#xff0c;请编程找出这 n n n 个人排队的一种顺序&#xff0c;使得 n n n 个人的平均等待时间最小。 输入格式 第一行为一个整数 n n n。 第二行 n n n 个…

D. Edge Deletion(堆优化最短路)

Problem - D - Codeforces 给定一个由 n 个顶点和 m 条边组成的无向连通加权图。将从顶点 1 到顶点 i 的最短路径长度表示为 di。 你必须删除一些图中的边&#xff0c;使得最多只保留 k 条边。如果在删除边后&#xff0c;仍然存在从 1 到 i 的路径&#xff0c;其长度为 di&…

最小生成树和最短路径区别和算法选择

最小生成树能够保证整个拓扑图的所有路径之和最小&#xff0c;但不能保证任意两点之间是最短路径。 最短路径是从一点出发&#xff0c;到达目的地的路径最小。 最小生成树所有点被连通 。把连通的图的所有顶点连起来路径之和最小的问题&#xff0c;即生成树总权值之和最小。…

[图神经网络]图卷积神经网络--GCN

一、消息传递 由于图具有“变换不变性”(即图的空间结构改变不会影响图的性状)&#xff0c;故不能直接将其输入卷积神经网络。一般采用消息传递(Message pass)的方式来处理。 消息传递机制通过局部邻域构建计算图实现&#xff0c;即某个节点的属性由其邻居节点来决定。汇聚这些…

洛谷 P1113 杂务

【题目链接】 洛谷 P1113 杂务 【题目考点】 1. 图论&#xff1a;拓扑排序 2. 动规&#xff1a;DAG图上动规 【解题思路】 首先对该问题进行抽象&#xff0c;每项杂务是一个顶点&#xff0c;如果杂务A是杂务B的准备工作&#xff0c;那么A到B有一条有向边。整个图是有向图…

【学习笔记】CF1322

智商不够&#xff0c;要回炉重造了 没猜出来结论&#xff0c;是不是该退役了 既然没做出来&#xff0c;那么还是要写一下题解。记与右部点iii相邻的点的集合为SiS_iSi​&#xff0c;如果SiSjS_iS_jSi​Sj​那么合并成一组&#xff0c;其权值为cicjc_ic_jci​cj​。最后答案是…

递增三元组

给定三个整数数组 A [A1, A2, … AN], B [B1, B2, … BN], C [C1, C2, … CN]&#xff0c; 请你统计有多少个三元组(i, j, k) 满足&#xff1a; 1 < i, j, k < N Ai < Bj < Ck 输入格式 第一行包含一个整数N。 第二行包含N个整数A1, A2, … AN。 第三行…

带刷,带刷,刷起来!!!

A:::::::::::::::::::通电&#xff08;最小生成树&#xff0c;Prim&#xff0c;Kruskal&#xff09; 题目描述 2015 年&#xff0c;全中国实现了户户通电。作为一名电力建设者&#xff0c;小明正在帮助一带一路上的国家通电。 这一次&#xff0c;小明要帮助 n 个村庄通电&am…

贪心算法及几个经典例子c语言

贪心算法 一、基本概念&#xff1a; 所谓贪心算法是指&#xff0c;在对问题求解时&#xff0c;总是做出在 当前看来是最好的选择 。也就是说&#xff0c;不从整体最优上加以考虑&#xff0c;他所做出的仅是在某种意义上的 局部最优解 。 贪心算法没有固定的算法框架&#xf…

【算法基础】线性DP 区间DP

一、数字三角形 (一)Question 1. 问题描述 2. Input 第一行包含整数 n,表示数字三角形的层数。接下来 n 行,每行包含若干整数,其中第 i 行表示数字三角形第 i 层包含的整数。(1 ≤ n ≤ 500, −10000 ≤ 三角形中的整数 ≤ 10000) 3. Output 输出一个整数,表示最大…

华为实习笔试复盘(1)配送站和客户问题

写在前面 自己玩了很多项目&#xff0c;但是最近准备秋招的过程中&#xff0c;发现自己对于算法和编程语言的基本功夫实在是太欠缺了。 投递了华为的实习岗位&#xff0c;4.26参加机考&#xff0c;一做题就发现了自己很多地方都不会。这里写下笔试后的复盘以警醒自己。 题目 …

【算法基础】06:双指针算法

双指针算法 OVERVIEW双指针算法1.算法模板2.双指针练习&#xff08;1&#xff09;AcWIng799.最长连续不重复子序列方法1&#xff1a;暴力法方法2&#xff1a;双指针法方法3&#xff1a;双指针法&#xff08;check函数优化&#xff09;&#xff08;2&#xff09;AcWing800.数组元…

最多能打多少场比赛呢

凌乱的yyy / 线段覆盖 题目背景 快 noip 了&#xff0c;yyy 很紧张&#xff01; 题目描述 现在各大 oj 上有 n n n 个比赛&#xff0c;每个比赛的开始、结束的时间点是知道的。 yyy 认为&#xff0c;参加越多的比赛&#xff0c;noip 就能考的越好&#xff08;假的&#x…

一本通 3.4.1 图的遍历

图的遍历 1341&#xff1a;【例题】一笔画问题 【题目描述】 如果一个图存在一笔画&#xff0c;则一笔画的路径叫做欧拉路&#xff0c;如果最后又回到起点&#xff0c;那这个路径叫做欧拉回路。 根据一笔画的两个定理&#xff0c;如果寻找欧拉回路&#xff0c;对任意一个点执…

洛谷 P4826 [USACO15FEB]Superbull S 图论 最小生成树

2023.4.1&#xff1a;更新抽象 又是鸽了三千万年... -------------------------------------------------------------------- 题目描述 Bessie and her friends are playing hoofball in the annual Superbull championship, and Farmer John is in charge of making the tou…

E. Multihedgehog(多叉树找root节点)

Problem - E - Codeforces 有人给Ivan一个奇怪的生日礼物&#xff0c;这是一只刺猬 - 一个连通的无向图&#xff0c;其中一个顶点的度至少为3&#xff08;我们称其为中心&#xff09;&#xff0c;而所有其他顶点的度数均为1。Ivan认为刺猬太无聊了&#xff0c;决定自己制造k-多…

算法训练之并查集

【模板】并查集 题目描述 如题&#xff0c;现在有一个并查集&#xff0c;你需要完成合并和查询操作。 输入格式 第一行包含两个整数 N,MN,MN,M ,表示共有 NNN 个元素和 MMM 个操作。 接下来 MMM 行&#xff0c;每行包含三个整数 Zi,Xi,YiZ_i,X_i,Y_iZi​,Xi​,Yi​ 。 当…

【洛谷 P2676】[USACO07DEC]Bookshelf B 题解(优先队列)

[USACO07DEC]Bookshelf B 题目描述 Farmer John最近为奶牛们的图书馆添置了一个巨大的书架&#xff0c;尽管它是如此的大&#xff0c;但它还是几乎瞬间就被各种各样的书塞满了。现在&#xff0c;只有书架的顶上还留有一点空间。 所有 N(1≤N≤20,000)N(1 \le N \le 20,000)N…

Codeforces Round 865 (Div. 2)

文章目录一、A - Ian Visits Mary二、B - Grid Reconstruction三、C - Ian and Array Sorting四、D - Sum Graph一、A - Ian Visits Mary 思路: 思维题,仔细观察发现.要想他们中间没有数字,那我们就第一步先走到(1,b - 1),然后再从(1,b - 1)走到(a,b) 代码: #include<bit…

算法自学__单调队列

参考资料&#xff1a; https://zhuanlan.zhihu.com/p/346354943 算法简介 单调队列可以在 O(n)O(n)O(n) 的时间复杂度内&#xff0c;求出长度为 nnn 的序列中&#xff0c;每个长度为 mmm 的区间的最值。 算法思想 形象地理解&#xff1a;每轮循环中&#xff0c;先检查队头…

P1915 [NOI2010] 成长快乐

此题为世纪难题 题目提供者 洛谷 难度 NOI/NOI/CTSC 输入输出样例 输入 #1 5 1 6 0 0 1 5 2 2 0 0 输出 #1 1 5 5 2 2 1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~此题非常难&#xff0c;小白就不用想着独自完成了 题解&#xff1a; #…

算法模板(3):搜索(1):dfs

深搜其实用的就是栈&#xff0c;虽然不是手写的栈&#xff0c;但是递归函数就是在调用系统的栈。 dfs基础篇 &#xff08;1&#xff09;排列数字 #include<cstdio> int N; int path[15], vis[15]; void dfs(int u) {if (u N) {for (int i 0; i < N; i) printf(&q…

算法模板(3):搜索(2):bfs与图论基础

bfs 在搜索题中&#xff0c;一般来讲&#xff0c;bfs和dfs都有一个最优选择。 基础bfs 走迷宫 注&#xff1a;这个模板具有还原路径的功能。其实&#xff0c;还可以反向搜&#xff08;从终点走到起点&#xff09;&#xff0c;就不用 reverse数组了。其实&#xff0c;bfs是不…

天梯赛练习(L2-001 ~ L2-006)

L2-001 紧急救援 作为一个城市的应急救援队伍的负责人&#xff0c;你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候&#xff0c;你…

比赛记录:Codeforces Round 872 (Div. 2) A~D2

传送门:CF 本场因为C题赛时被题意绕晕了,导致狠狠的掉分(准确的来说是题意没有想错但是自己的脑子被绕晕了) A题:A. LuoTianyi and the Palindrome String 考虑暴力进行循环,找到所有所有不同的字符对(不妨记为 [ l , r ] [l,r] [l,r]).那么对于这个字符区间来说,显然中间的…

二叉树的个数

二叉树的个数 描述 已知一棵节点个数为 n 的二叉树的中序遍历单调递增, 求该二叉树能能有多少种树形, 输出答案对 109 7 取模 数据范围&#xff1a;1≤n≤3000示例1 输入&#xff1a; 1输出&#xff1a; 1示例2 输入&#xff1a; 2输出&#xff1a; 2示例3 输入&…

Marking

Marking 题目描述 输入输出 #include<iostream> #include<algorithm> using namespace std; typedef long long ll; ll gcd(ll a,ll b) {return b0?a:gcd(b,a%b); } int main() {ll t;cin>>t;ll n,d,k;while(t--){cin>>n>>d>>k;k--;if(g…

CCF- CSP 202212-2训练计划

该题题意很长&#xff0c;一定一定要理解题意后再动手&#xff01; 该题我对“最晚开始时间”没有理解到位&#xff0c;因此只拿到了70分 “最早开始时间”很容易理解&#xff0c;最早开始时间等于依赖项目的最早开始时间依赖项目的训练时间即可&#xff0c;又因为因为满足依赖…

[入门必看]数据结构5.3:二叉树的遍历和线索二叉树

[入门必看]数据结构5.3&#xff1a;二叉树的遍历和线索二叉树 第五章 树与二叉树5.3 二叉树的遍历和线索二叉树知识总览5.3.1_1 二叉树的先中后序遍历5.3.1_2 二叉树的层次遍历5.3.1_3 由遍历序列构造二叉树5.3.2_1 线索二叉树的概念5.3.2_2 二叉树的线索化5.3.2_3 在线索二叉树…

信息学奥赛一本通 1383:刻录光盘(cdrom) | 洛谷 P2835 刻录光盘

【题目链接】 ybt 1383&#xff1a;刻录光盘(cdrom) 洛谷 P2835 刻录光盘 【题目考点】 1. 图论&#xff1a;强连通分量 【解题思路】 首先对该问题进行抽象&#xff0c;每个人是一个顶点&#xff0c;如果A愿意把资料拷给B&#xff0c;那么存在有向边<A, B>&#xf…

第22期:图论——最短路

1. Dijkstra算法 适用范围&#xff1a;计算正权图上的单源最短路&#xff08;Single-Source Shortest Paths,SSSP&#xff09;。同时适用于有向图和无向图。 模板题&#xff1a;P4779 【模板】单源最短路径&#xff08;标准版&#xff09; #include<bits/stdc.h> usin…

第21期:图论模型与算法——最小生成树(MST)

1. Kruskal算法 const int maxn1e6; int n,m;//点数&#xff0c;边数 int u[maxn],v[maxn],w[maxn];//第i条边的两个端点序号和权值 int r[maxn];//排序后第i小的边的序号 int cmp(const int i,const int j){ return w[i]<w[j]; }//间接比较函数 int find(int x){//并查集…

第18期:图论基础

1.用DFS求连通块 1.1 UVA572 油田 Oil Deposits #include<bits/stdc.h> using namespace std; const int maxn1005;char pic[maxn][maxn]; int m,n,idx[maxn][maxn];void dfs(int r,int c,int id){if(r<0 || r>m || c<0 || c>n) return;//“出界”的格子if…

1110 Complete Binary Tree(超详细注解+31行代码)

分数 25 全屏浏览题目 切换布局 作者 CHEN, Yue 单位 浙江大学 Given a tree, you are supposed to tell if it is a complete binary tree. Input Specification: Each input file contains one test case. For each case, the first line gives a positive integer N …

小世界网络评估

小世界网络评估 文章目录 小世界网络评估[toc]1、网络小世界定义2、网络评估R代码 1、网络小世界定义 现实中许多网络巨型组件都发现了“小世界特性”。小世界特性是指 网络节点间最短路径通常较小网络聚集系数较高 网络最短路径L计算公式为 L 1 n ( n − 1 ) ∑ i ⩾ j d…

AcWing 795. 前缀和(C++)

目录 1.题目描述 2.AC 1.题目描述 AcWing 795. 前缀和 输入一个长度为 nn 的整数序列。 接下来再输入 mm 个询问&#xff0c;每个询问输入一对 l,rl,r。 对于每个询问&#xff0c;输出原序列中从第 ll 个数到第 rr 个数的和。 输入格式 第一行包含两个整数 nn 和 mm。 …

二叉树概念结构,以及画图加代码分析二叉树遍历,创建,销毁,层序遍历,判断是否完全二叉树等等

二叉树 树的概念及结构树的概念树的相关概念树的表示 二叉树的概念及结构概念特殊的二叉树二叉树性质二叉树的存储结构 二叉树的实现二叉树顺序结构的实现二叉树链式结构的实现二叉树的遍历前序遍历中序遍历后序遍历 二叉树结点数量叶子结点数量求树高求k层结点数量 二叉树创建…

C++考试

文章目录 1.程序填空1.1函数调用1.2前置和后置“”、“--”运算符重载1.3异常处理1.4文本文件读取 2.程序阅读2.1C编程基础2.2继承与派生2.3静态成员2.4继承与派生2.5 输入输出2.6 模板 3.程序改错3.1三种访问权限3.2 友元3.3抽象类不能实例化对象3.4常数据成员初始化必须使用构…

图的创建和广度优先遍历

用数组存储结构作为图的存储结构的前提下&#xff0c;试编制图的输入及图的广度优先搜索遍历的有关子程序&#xff1b;编制主程序main{}调用这些子程序&#xff0c;并输出遍历结果。 typedef struct{int e_num; //边数int v_num; //顶点个数int links[SIZE][SIZE]; //邻接…

图的广度优先遍历

图的广度优先遍历借助 队列 实现。 #include"stdio.h" #include"malloc.h"#define SIZE 10/*************队列************/ #define INITSIZE 10 #define INNCREASE 5typedef int ElemType;typedef struct{ElemType *base;ElemType *front;ElemType *rea…

二十九、搜索与图论——克鲁斯卡尔算法(Kruskal 算法,稀疏图)

Kruskal算法主要内容 一、基本思路1、基本思想与概念2、算法步骤3、注意 二、Java、C语言模板实现三、例题题解 一、基本思路 1、基本思想与概念 解决问题&#xff1a; 多个城市中铺公路&#xff0c;使城市之间可以相互联通&#xff0c;问如何才能让铺设公路的长度最短——铺…

二十六、搜索与图论——SPFA算法(单源最短路 + 负权边 + Bellman-Ford 时间复杂度优化)

SPFA算法主要内容 一、基本思路1、算法概念2、SPFA 算法步骤算法步骤注意事项 3、SPFA算法进行负环判断 二、Java、C语言模板实现SPFA 算法SPFA求负环 三、例题题解 一、基本思路 1、算法概念 概念&#xff1a; SPFA 算法是 Bellman-Ford算法 的队列优化算法的别称&#xff0…

【图论(1)】图的存储、遍历与拓扑排序

5月16-5月18日学习内容 文章目录 一、图是什么二、图的存储1、直接存边法2、邻接矩阵法3、邻接表法4、链式前向星时间复杂度分析 三、图的遍历DFSBFS 四、拓扑排序&#xff08;今天实在没时间写了&#xff0c;明天写&#xff09; 一、图是什么 这是oi.wiki给的定义 简而言之…

1034 Head of a Gang(超级无敌详细注释+48行代码)

分数 30 全屏浏览题目 作者 CHEN, Yue 单位 浙江大学 One way that the police finds the head of a gang is to check peoples phone calls. If there is a phone call between A and B, we say that A and B is related. The weight of a relation is defined to be the …

[D-OJ练习] 使用邻接表实现AOV网的拓扑排序算法

输入描述 首先输入图中顶点个数和边的条数&#xff1b; 输入顶点的信息&#xff08;字符型&#xff09;&#xff1b; 输入各顶点的入度&#xff1b; 输入各边及其权值。 输出描述 输出AOV网的拓扑序列&#xff08;顶点信息&#xff09;&#xff0c;以空格隔开&#xff0c;最…

[D-OJ练习] (Dijkstra溯源)使用邻接矩阵实现有向图最短路径Dijkstra算法

嘿嘿,第一个AC ... 用邻接矩阵存储有向图&#xff0c;实现最短路径Dijkstra算法&#xff0c;图中边的权值为整型&#xff0c;顶点个数少于10个。 部分代码提示&#xff1a; #include <iostream> #include <string>using namespace std;const int MaxSize 10; cons…

[D-OJ练习] 无向图的邻接矩阵表示法验证程序

采用邻接矩阵表示无向图&#xff0c;完成图的创建、图的深度优先遍历、图的广度优先遍历操作。其中图的顶点信息是字符型&#xff0c;图中顶点序号按字符顺序排列。本输入样例中所用的图如下所示&#xff1a; 输入描述 第一行输入两个值&#xff0c;第一个是图中顶点的个数&am…

【算法】单源最短路径算法——Dijkstra算法

文章目录 一、简介与使用场景二、算法思想三、朴素版Dijkstra四、堆优化版Dijkstra五、总结 一、简介与使用场景 迪杰斯特拉算法(Dijkstra)是由荷兰计算机科学家狄克斯特拉于1959 年提出的&#xff0c;因此又叫狄克斯特拉算法。这是从一个顶点到其余各顶点的最短路径算法&#…

自己的板子

图论 2-SAT加边 1. x and y false说明两者不能同时选(x,true)->(y,false),(y,true)->(x,false) 2. x or y true说明两者不能同时不选(x,false)->(y,true),(y,false)->(x,true) 3. x xor y true说明两者不能一样(x,true)->(y,false),(y,true)->(x,false)…

C++/PTA 直捣黄龙

C/PTA 直捣黄龙 题目要求解题思路代码Dijkstra算法基本思想实现步骤 总结 题目要求 本题是一部战争大片 —— 你需要从己方大本营出发&#xff0c;一路攻城略地杀到敌方大本营。首先时间就是生命&#xff0c;所以你必须选择合适的路径&#xff0c;以最快的速度占领敌方大本营。…

Dijkstra单源最短路

Dijkstra单源最短路径 什么是单源最短路径 描述&#xff1a;给定一个带权有向图G (V&#xff0c;E)&#xff0c;其中每条边的权时非负数。另外&#xff0c;给定V中的一个顶点&#xff0c;称为源。现在要计算从源到所有其他各顶点的最短路长度。这里路的长度是指路上各边权之…

1122 Hamiltonian Cycle(40行代码+详细注释)

分数 25 全屏浏览题目 作者 CHEN, Yue 单位 浙江大学 The "Hamilton cycle problem" is to find a simple cycle that contains every vertex in a graph. Such a cycle is called a "Hamiltonian cycle". In this problem, you are supposed to tell…

图论---最短路问题

图论---最短路问题 边权非负朴素Dijkstra堆优化版Dijkstra 边权有负值Bellman-fordspfaspfa判断负环 多源汇最短路Floyd 单源最短路 n: 点的数量 m: 边的数量 所有边权都是正数 (1)朴素Dijkstra算法 O(n^2) (2)堆优化版的Dijkstra算法 O(mlogn) 存在负权边 (1)Bellmax-Fold …

普里姆(prim)算法--求最小生成树

教学地址: 普里姆算法 算法核心: (T集合包含生成树中的结点,V集合包含所有结点) 在连接T内顶点与V-T内顶点的边中选取权值最小的边(pu,u),将其作为MST(最小生成树)的边,并添加u至T中! 代码实现: #include <bits/stdc.h>#define ll long long using namespace std;con…

题解2023.5.21

B. Diverse Substrings 思路&#xff1a;直接枚举超时&#xff0c;数的种类为0-9&#xff0c;所以对于每个位置只需往后延伸100位即可&#xff0c;超过100位必重复 #include<bits/stdc.h> #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize(fas…

动态规划-区间DP

石子合并&#xff08;弱化版&#xff09; 题目描述 https://www.luogu.com.cn/problem/P1775 设有 N ( N ≤ 300 ) N(N \le 300) N(N≤300) 堆石子排成一排&#xff0c;其编号为 1 , 2 , 3 , ⋯ , N 1,2,3,\cdots,N 1,2,3,⋯,N。每堆石子有一定的质量 m i ( m i ≤ 1000 …

从农夫过河问题理解顶点覆盖、团和独立集

农夫过河问题 经典的农夫过河问题&#xff0c;相冲突的生物之间有连线&#xff0c;每次携带走某几个生物后&#xff0c;要保证剩下的没有连线存在。问船的容量最小是多少呢&#xff1f; 视频&#xff1a;【Numberphile】农夫过桥问题和阿尔昆数 直观的思路就是&#xff0c;找…

Windows系统数据结构——最小生成树、Prim算法和Kruskal算法

我是荔园微风&#xff0c;作为一名在IT界整整25年的老兵&#xff0c;今天总结一下Windows系统数据结构——最小生成树、Prim算法和Kruskal算法。 我在各在论坛看了很多相关帖子&#xff0c;发现一个简单的问题都被复杂化了。最小生成树、Prim算法和Kruskal算法真的没有大家想的…

专题五:DFS深度优先搜索

专题五&#xff1a;DFS深度优先搜索 目录专题五&#xff1a;DFS深度优先搜索前言什么是回溯法如何理解回溯法回溯法解决的问题回溯法模板1 、回溯函数模板返回值以及参数2、 回溯函数终止条件3 、回溯搜索的遍历过程回溯算法模板框架代码如下递归实现指数型枚举题目代码及注释方…

《算法竞赛进阶指南》0x62 最小生成树

0x62 最小生成树 走廊泼水节 题意&#xff1a; 给定一棵树&#xff0c;将这棵树加边&#xff0c;扩充为完全图&#xff0c;使完全图的最小生成树为原来的树&#xff0c;询问增加的边权值总和最小是多少 解析&#xff1a; 考虑 kruskal 产生最小生成树的过程&#xff1a;选…

离散数学_十章-图 ( 2 ):图的术语和几种特殊的图

&#x1f4f7;10.2 图的术语和几种特殊的图 1. 基本术语1.1 邻接&#xff08;相邻&#xff09;1.2 邻居1.3 顶点的度1.4 孤立点1.5 悬挂点例题 2. 握手定理3. 握手定理的推论4. 带有有向边的图的术语4.1 邻接4.2 度——出度 和 入度4.3 例题&#xff1a; 5. 定理&#xff1a;入…

强连通分量(SCC, Strongly Connected Components)

强连通分量&#xff08;SCC, Strongly Connected Component&#xff09; 强连通分量的概念强连通分量的应用强连通分量的算法——Tarjan算法 强连通分量的概念 在有向图中&#xff0c;任意两个顶点 v i v_i vi​ 和 v j v_j vj​ 互相可达&#xff08;也即存在路径 v i → v…

约瑟夫环的线性解法

参考:https://www.luogu.com.cn/problem/P8671 参考:https://zhuanlan.zhihu.com/p/121159246 参考:https://blog.csdn.net/doge__/article/details/82429348 #include <bits/stdc.h> using namespace std; int n,k,s; int main(){cin>>n>>k;for(int i2;i&…

【图论基础数据结构及其应用】

本文主要介绍Java中图论基础数据结构的基本原理、实现方式以及使用场景。图论是研究非线性方程组及其解的数学领域&#xff0c;广泛应用于计算机科学中&#xff0c;如网络拓扑、交通网络、地理信息系统等。 一、图的基本概念 图是由节点&#xff08;Vertex&#xff09;和边&a…

图论学习(六)

图的连通度 删去任意一条边后便不连通 删去任意一条边后仍连通&#xff0c;但删去点u后不连通。 G3和G4删去任意一条边或任意一个点后仍连通&#xff0c;但从直观上看&#xff0c;G4的连通程度比G3高。 割边 设e是图G的一条边&#xff0c;若ω(G-e)>ω(G)&#xff0c;则…

数据结构-图结构

图是最为复杂的数据结构。如果数据元素之间存在一对多或者多对多的关系&#xff0c;那么这种数据的组织结构就叫作图结构。 图的基本概念 图的定义 图Graph是由顶点&#xff08;图中的节点被称为图的顶点&#xff09;的非空有限集合V与边的集合E&#xff08;顶点之间的关系&a…

Atcoder Beginner Contest 304

A - First Player AC代码&#xff1a; #include<iostream> #include<algorithm> #include<cstring> using namespace std; const int N110; struct node{string name;int age; }q[N]; int main() {int n;cin>>n;for(int i1;i<n;i) cin>>q[i…

算法提高-图论-单源最短路的建图方式

单源最短路的建图方式 单源最短路的建图方式AcWing 1129. 热浪AcWing 1128. 信使AcWing 1127. 香甜的黄油AcWing 1126. 最小花费AcWing 920. 最优乘车AcWing 903. 昂贵的聘礼 单源最短路的建图方式 AcWing 1129. 热浪 #include <iostream> #include <cstring>usi…

C++解题报告:病毒(virus)——拓扑排序

题目描述 有一天&#xff0c;小y突然发现自己的计算机感染了一种病毒&#xff01;还好&#xff0c;小y发现这种病毒很弱&#xff0c;只是会把文档中的所有字母替换成其它字母&#xff0c;但并不改变顺序&#xff0c;也不会增加和删除字母。 现在怎么恢复原来的文档呢&#xf…

2023 - 04 - 03 2016天梯赛初赛(L2)练习

7-12 关于堆的判断 分数 25 全屏浏览题目 切换布局 作者 陈越 单位 浙江大学 将一系列给定数字顺序插入一个初始为空的小顶堆H[]。随后判断一系列相关命题是否为真。命题分下列几种&#xff1a; x is the root&#xff1a;x是根结点&#xff1b;x and y are siblings&…

图论与算法(7)最短路径问题

1.最短路径问题 1.1 带权图的最短路径 最短路径问题是指在一个加权图中寻找两个顶点之间的最短路径&#xff0c;其中路径的长度由边的权重确定。 常见的最短路径算法包括&#xff1a; Dijkstra算法&#xff1a;适用于解决单源最短路径问题&#xff0c;即从一个固定的起点到图…

【基础知识整理】图的基本概念 邻接矩阵 邻接表

一、图概述 定义&#xff1a; 图(graph)是由一些点(vertex)和这些点之间的连线(edge)所组成的&#xff1b; 其中&#xff0c;点通常被成为"顶点(vertex)“&#xff0c;而点与点之间的连线则被成为"边或弧”(edege)。 通常记为&#xff0c;G(V,E)。 图是一种重要的…

算法模板(7):计算几何(1)

计算几何 基础知识 y总总结知识点 1. 前置知识点(1) pi acos(-1);(2) 余弦定理 c^2 a^2 b^2 - 2abcos(t)2. 浮点数的比较 const double eps 1e-8; int sign(double x) // 符号函数 {if (fabs(x) < eps) return 0;if (x < 0) return -1;return 1; } int cmp(doubl…

图论——连通分量

文章目录图论——连通分量连通分量介绍DFS计算连通分量BFS计算连通分量图文件graph.txt建图类图论——连通分量 连通分量介绍 对于上图很显然连通分量为1&#xff0c;对于下图连通分量个数为2 DFS计算连通分量 通过上一小节dfs遍历的过程我们知道依次dfs就是一个连通分量&…

图论——遍历算法

文章目录图论——遍历算法DFS遍历BFS遍历建图类图论——遍历算法 DFS遍历 深度优先搜索&#xff0c;以深度优先&#xff0c;直到走不下去&#xff0c;回退&#xff0c;对应的数据结构stack 对于上图dfs的流程如下 第一个节点0入栈&#xff0c;把0标记为已访问 遍历0的所有邻…

洛谷题单 Part 8.2 最短路问题

0. 0. 0.写在前面 最短路算法一般在算法竞赛中有四种比较常见&#xff0c; F l o y d Floyd Floyd算法&#xff0c; B e l l m a n − F o r d Bellman-Ford Bellman−Ford算法&#xff0c; D i j k s t r a Dijkstra Dijkstra算法&#xff0c; S P F A SPFA SPFA算法。 F l …

【算法证明 五】深入理解广度优先搜索

看了算法导论&#xff0c;才知道自己理解的深搜、广搜有多肤浅。 接下来两篇文章将深入探索图搜索算法的方方面面&#xff0c;不再局限于做出简单的图搜索算法&#xff0c;而是站在图搜索算法上深入思考。本问将证明广度优先搜索求最短路的正确性。而下一篇文章将使用深度优先搜…

16.拓扑排序与欧拉图

一、拓扑排序 1.简介 拓扑排序的英文名是 Topological sorting。拓扑排序要解决的问题是给一个图的所有节点排序&#xff0c;目标是将所有节点排序&#xff0c;使得排在前面的节点不能依赖于排在后面的节点。 在一个 D A G DAG DAG&#xff08;有向无环图&#xff09;中&…

【计算机图形学】期末复习,选择题+判断题篇

【计算机图形学】期末复习&#xff0c;选择题判断题篇 题目来源于百度、B站、中国大学慕课网&#xff0c;适用于期末复习&#xff0c;内容仅供参考&#xff0c;祝大家考试顺利通过&#xff01;&#xff01;&#xff01; 第一讲 计算机图形学概论 每个像素需要占用 16 位&#x…

【题目记录】——上海站2011CCPC

文章目录A Zombie’s Treasure Chest 思维I Revenge of Fibonacci&#xff08;trie树数学基础&#xff09;题目集地址 上海站2011CCPC队内题目集地址 上海站2011CCPCA Zombie’s Treasure Chest 思维 题目地址A Zombie’s Treasure Chest 题目大意&#xff1a;有两种宝石蓝宝石…

1004 Counting Leaves(详细注解+30行代码)

1004 Counting Leaves 分数 30 全屏浏览题目 切换布局 作者 CHEN, Yue 单位 浙江大学 A family hierarchy is usually presented by a pedigree tree. Your job is to count those family members who have no child. Input Specification: Each input file contains one…

基于fNIRS的脑功能连接分析:图论方法

导读 背景&#xff1a;fNIRS是一种利用近红外光谱进行功能神经成像的光学脑监测技术。它使用近红外光来测量大脑活动&#xff0c;并估计由于运动活动而引起的大脑皮层血流动力学活动。fNIRS通过光学吸收来测量含氧和脱氧血红蛋白中氧水平的变化。多源噪声和伪影干扰导致的信号…

Kruskal算法、Kruskal重构树、LCA算法

K r u s k a l Kruskal Kruskal 算法 K r u s k a l Kruskal Kruskal 算法是一种求解最小生成树的贪心算法。它的基本思想是从图中的边集中依次选取边&#xff0c;使得选出的边不会构成回路&#xff0c;并且满足边权和最小。 具体实现过程如下&#xff1a; 将原图中的所有边按…

手撕code(3)

文章目录 迷宫最短路径和输出深度优先广度优先 48 旋转矩阵图像大数加减法146 LRU 缓存算法460 LFU 缓存算法 迷宫最短路径和输出 给定一个 n m 的二维整数数组&#xff0c;用来表示一个迷宫&#xff0c;数组中只包含 0 或 1 &#xff0c;其中 0 表示可以走的路&#xff0c;1…

正则表达式简单题(附带答案)

1、//匹配三位数的整数 String content "asdasl6s7AD_0)89jdklas892)d"; String regStr01 "\\d\\d\\d"; String regStr02 "\\d{3}";2、//匹配(1~n)个字母a-z 贪婪匹配原则 String content "asdasl6s7AD_0)89jdkADFlas892)d"; St…

[图论 最短路 spfa]分糖果

今天给大家讲解分糖果这道题目 思路 很简单,我们把小朋友看作点,两个小朋友在彼此身旁看作是一条无向图的路径,路径的权值为111。现在糖果ccc小朋友身上,让我们求出传给其他小朋友之后,吃完糖的最小时间。 求最小时间,也就是求出距离ccc点最远的点的最小距离。 很简单,这就是…

[dijkstra 图论 最短路] 最小花费

今天给大家讲最小花费这道题目。 思路 题目大意就是现在给定一些人之间转账的要给的手续费,让你求出aaa转账给bbb的最小花费。 很显然,为了求出最小花费,又给定了一些人之间要给的手续费。 我们可以吧人看作点,两个人之间可以互相转账看作他们之间有一条路径,要给的手续费为这…

题265.2022分队天梯赛训练-7-38 天梯地图 (30 分)

文章目录题265.2022分队天梯赛训练-7-38 天梯地图 (30 分)一、题目二、题解题265.2022分队天梯赛训练-7-38 天梯地图 (30 分) 一、题目 二、题解 本题其实就是要你解决两个问题&#xff0c;一个是求最快最短的路,&#xff0c;一个是求最短&#xff0c;途经节点数最少的路。说白…

离散轮图、简单图

七阶轮图-》奇阶轮图 六阶轮图-》偶阶轮图 **defination&#xff1a; n阶轮图&#xff1a;在n-1阶圈内放置一&#xff0c;个顶点&#xff0c;连接这个顶点与这个圈轮上的所有顶点&#xff0c;所得的n阶简单图称作n阶轮图&#xff0c;记做Wn。奇阶轮图&#xff1a;n为奇数的轮…

爬楼梯(25分) 递归

记录今天遇到的一个题 4 爬楼梯。&#xff08;25分&#xff09; 题目内容&#xff1a;可爱的小明特别喜欢爬楼梯&#xff0c;他有的时候一次爬一个台阶&#xff0c;有的时候一次爬两个台阶&#xff0c;有的时候一次爬三个台阶。如果这个楼梯有n个台阶&#xff0c;小明一共有多…

【算法竞赛模板】Kruskal算法

Kruskal算法一、算法思想二、问题思考三、算法模板本苟蒻发文&#xff0c;有任何不足欢迎大佬们斧正&#xff08;&#xff1e;人&#xff1c;&#xff1b;&#xff09;   一、算法思想 把边按照权值进行排序&#xff0c;用贪心的思想优先选取权值较小的边&#xff0c;并依次连…

1013 Battle Over Cities

题目来源&#xff1a;PAT (Advanced Level) Practice It is vitally important to have all the cities connected by highways in a war. If a city is occupied by the enemy, all the highways from/toward that city are closed. We must know immediately if we need to …

算法25:图相关算法

图的基础概念我就不去介绍了&#xff0c;不懂的可以去看看相关技术类书籍&#xff0c;讲的云里雾里的&#xff0c;很难懂。到最后发现&#xff0c;全是一堆屁话&#xff0c;核心还是要去了解图的算法。 我自己概括一下&#xff1a; 1、图就是一堆顶点和边的集合&#xff0c;也…

[邻接矩阵形式]无向图的建立与深度,广度遍历

目录 MGraph类 构造函数 深度优先遍历 广度优先遍历 MGraph类 const int N 10; int visit[N]; // 顶点是否被访问 template<typename DataType> class MGraph//无向图 { public:MGraph(DataType a[], int n, int e);~MGraph(){}void DF(int x); //深度优先遍历void…

第十一届蓝桥省赛 —— 七段码解析 全排列 + DFS / 并查集判断图联通

七段码 小蓝要用七段码数码管来表示一种特殊的文字。 上图给出了七段码数码管的一个图示&#xff0c;数码管中一共有 7 段可以发光的二极管&#xff0c;分别标记为 a, b, c, d, e, f, g。 小蓝要选择一部分二极管&#xff08;至少要有一个&#xff09;发光来表达字符。在设计…

1111 修复公路

1111 修复公路 这不就是模板并查集啊 tht就居然做水题&#xff0c;我想举报他 每两个村庄之间都得到达&#xff0c;注意是到达也就是见解联系 所以就是生成树 一开始都是道路为0&#xff0c;然后不断添加道路 不就是并查集吗 所以&#xff0c;没了 #include<iostream> …

1105 平台(空间)

1105 平台 这是一个区间性的问题&#xff0c;我很害怕这样的问题&#xff0c; 我对这种东西没思路 看输入&#xff0c;一个高度&#xff0c;然后是两个结尾的左右端点 就是一个很简单的模拟&#xff0c;两个线段的输出而已 还得注意&#xff0c;输出的是什么呢&#xff1f; 那…

普里姆算法最小生成树_普里姆的最小生成树

普里姆算法最小生成树What to Learn? 学什么&#xff1f; How to construct minimum spanning tree using Prims Minimum Spanning Tree algorithm and its C implementation? 如何使用Prim的最小生成树算法及其C 实现构造最小生成树&#xff1f; Minimum Spanning Tree is…

Leetcode 2039. 网络空闲的时刻 搜索+模拟

原题链接&#xff1a;添加链接描述 class Solution { public:int networkBecomesIdle(vector<vector<int>>& edges, vector<int>& patience) {int npatience.size();vector<int> d(n,INT_MAX);vector<vector<int>> adj(n);ve…

Leetcode 2374. 边积分最高的节点 模拟

原题链接&#xff1a;Leetcode 2374. 边积分最高的节点 class Solution { public:int edgeScore(vector<int>& edges) {int nedges.size();vector<long long> sum(n);long long maxsum0;for(int i0;i<n;i) {sum[edges[i]]i;maxsummax(maxsum,sum[edges[i]])…

1088 火星人(next_permutation函数)

1088 火星人 一个和进制有关的题 题意其实很简单&#xff0c;给定一个数 12345 然后加上一个整数3 12344134 12345 1 12354 2 12435 3 12453 4&#xff08;手动模拟&#xff09; 所以我们该输出12453 这种排列顺序其实和排列组合有点类似 所以 这个题其实是一个模拟&#xff0…

1083 借教室

1083 借教室 这道题如果暴力的话肯定会超时&#xff0c;只能得45分 这道题的思路就是说每次这s-t天每一天都得减去借的桌子s&#xff0c;如果发现减去之后是一个负数说明这条订单不合理需要输出编号&#xff0c;那么我们暴力枚举的其实就是这个[s,t]区间&#xff0c;枚举的过程…

《程序设计基础》 第八章 指针 6-11 删除字符 (20 分)

本题要求实现一个删除字符串中的指定字符的简单函数。 函数接口定义&#xff1a; void delchar( char *str, char c ); 其中char *str是传入的字符串&#xff0c;c是待删除的字符。函数delchar的功能是将字符串str中出现的所有c字符删除。 裁判测试程序样例&#xff1a; #…

【PTA题目】7-7 方阵循环右移 (20 分)

本题要求编写程序&#xff0c;将给定nn方阵中的每个元素循环向右移m个位置&#xff0c;即将第0、1、⋯、n−1列变换为第n−m、n−m1、⋯、n−1、0、1、⋯、n−m−1列。 输入格式&#xff1a; 输入第一行给出两个正整数m和n&#xff08;1≤n≤6&#xff09;。接下来一共n行&am…

[CF954I]Yet Another String Matching Problem

Description 给出两个字符串S和T 定义两个等长的字符串A和B之间的距离为&#xff1a; 每次操作可以选择两个字符c1和c2,将两个字符串中的所有c1替换为c2&#xff0c;这样将A和B变为相等的最小操作次数。 求S的每个长度为|T|的子串和T之间的距离。 n<125000&#xff0c;…

[CodeChef May Challenge 2018]Edges in Spanning Trees

Description 给出两棵树&#xff0c;T1和T2 对于T1中的每一条边e1&#xff0c;你需要求出T2中有多少条边e2满足 1:T1-e1e2是一棵树 2:T2-e2e1是一棵树 n<2e5 Solution 我们考虑一组限制的两种方法&#xff0c;并且这两种方法能够套在一起 首先&#xff0c;我们知道可…

二部图的判定·着色法

二部图的判定题目信息测试样例解答题目信息 判断无向图G是否为二部图 输入&#xff1a; 正整数n&#xff0c;代表无向图G的阶数&#xff1b; 随后的n行代表G的邻接矩阵&#xff0c;每行有n个数据&#xff0c;每个数据以空格分隔。其中每个数据表示顶点vi邻接顶点vj边的条数。 …

[CF827F]Dirty Arkady's Kitchen

Description 给出一张n个点m条边的无向图&#xff0c;每条边有存在时间区间[li,ri]&#xff0c;一开始一只Akagi在1号点&#xff0c;每个时刻她都必须要从某个点走到另一个点&#xff0c;每一条边所花费的时间为1&#xff0c;求Akagi走到点n的最小时间。 n,m<5*1e5 Solut…

【WC模拟】Equation

Description n,m<10^5 Solution 考虑图论转化&#xff0c;既然每个变量最多只会出现两次&#xff0c;那么我们把出现两次的变量所在的or组看做点&#xff0c;每个出现两次的变量看做边&#xff0c;边权视这两个变量是否相同而定。&#xff08;0或1&#xff09; 根据题目条…

牛客-计算机复试题-求图的连通分支数

求图的连通分支数可以用并查集实现。 并查集的讲解推荐&#xff1a; https://blog.csdn.net/liujian20150808/article/details/50848646 本题求的是无向图的连通分支数&#xff0c;用Python代码实现如下&#xff1a; """ 无向或有向图的连通分治数可以用并查集…

C++学习笔记:图论——拆点详解

引言 拆点&#xff0c;玄学的东西&#xff0c;你值的拥有。。。 详解 拆点就是将一个图里的边权全部化为 1 &#xff0c;就要将每一个点拆解为几个点&#xff0c;每个拆解后的点的边权为 1 一个图的邻接矩阵 其中最大的边权为 3 则每一个点拆分为 i.1 &#xff0c; i.2 &a…

bzoj 1064: [Noi2008]假面舞会

Description 一年一度的假面舞会又开始了&#xff0c;栋栋也兴致勃勃的参加了今年的舞会。今年的面具都是主办方特别定制的。每个参加舞会的人都可以在入场时选择一 个自己喜欢的面具。每个面具都有一个编号&#xff0c;主办方会把此编号告诉拿该面具的人。为了使舞会更有神秘感…

C++图论提高——The Unique MST (最小生成树 Kruskal算法)

题目描述&#xff08;传送门&#xff09; 给定连接的无向图&#xff0c;告诉它的最小生成树是否唯一。 定义1&#xff08;生成树&#xff09;&#xff1a;考虑连通的无向图G &#xff08;V&#xff0c;E&#xff09;。G的生成树是G的子图&#xff0c;比如T &#xff08;V&…

C++解题报告——Ronald(理论+图搜索)

题目描述 一个国家有n个城市&#xff0c;城市之间连接着双向航空线路。一位疯狂的航空公司总裁Ronald Krump经常改变航班时刻表。更准确地说&#xff0c;他每天都做以下事情&#xff1a; ●选择其中一个城市 ●如果该城市和某个其他城市之间之前没有航线那么在这两个城市之间创…

Dis(LCA 双向)

题目描述 给出 n 个点的一棵树&#xff0c;多次询问两点之间的最短距离。 注意&#xff1a;边是双向的。 输入格式 第一行为两个整数 n 和 m。n 表示点数&#xff0c;m 表示询问次数&#xff1b; 下来 n-1 行&#xff0c;每行三个整数 x ,y, k&#xff0c;表示点 x 和点 y 之…

C++学习笔记:浅析匈牙利算法

引言 匈牙利算法在手&#xff0c;孟非都为你亮灯。 二分图&最大匹配 在学习匈牙利算法之前&#xff0c;要先了解二分图 二分图又称作二部图&#xff0c;是图论中的一种特殊模型。 设G(V,{R})是一个无向图。如顶点集V可分割为两个互不相交的子集&#xff0c;并且图中每条边…

数据结构_关键路径

AOV网(activity on edge netwo)(边表示活动的网):在一个表示工程的带权有向图中&#xff0c;用顶点表示事件&#xff0c;用有向边表示活动&#xff0c;边上的权值表示活动的持续时间。 源点&#xff1a;整个工程的开始点&#xff0c;其入度为0。 终点&#xff1a;整个工程的结…

小白月赛C-方豆子

方豆子 题目描述 阿宁最近对吃豆子感兴趣&#xff0c;阿宁想要用程序输出一下&#xff0c;但是图形化对于阿宁来说太难。因此他决定用字符&#xff0c;并且是方形的模样。 给一个正整数n&#xff0c;输出n级好豆子。 题解&#xff1a;每个豆子都由四个豆子组成&#xff0c…

[洛谷]B3601 [图论与代数结构 201] 最短路问题_1(负权)(spfa)

SPFA模板啦~ 直接上ACcode: #include<bits/stdc.h> using namespace std; //#define int long long #define inf 2147483647 const int N15e310,M2*N; int dis[N],head[N],cnt; bool vis[N]; int n,m; struct E {int to,w,next; } e[M]; queue<int>q; void add(in…

搜索与图论(acwing算法基础)

文章目录 DFS排列数字n皇后 BFS走迷宫 拓扑序列单链表树与图的深度优先搜索模拟队列有向图的拓扑序列 bellman-ford有边数限制的最短路 spfaspfa求最短路spfa判断负环 FloydFloyd求最短路 PrimPrim算法求最小生成树 KruskalKruskal算法求最小生成树 染色法判定二分图染色法判定…

数字华容道——leetcode773

文章目录数字华容道——leetcode773问题描述分析代码数字华容道——leetcode773 问题描述 在一个 2 x 3 的板上&#xff08;board&#xff09;有 5 块砖瓦&#xff0c;用数字 1~5 来表示, 以及一块空缺用 0 来表示. 一次移动定义为选择 0 与一个相邻的数字&#xff08;上下左…

MIT6.024学习笔记(三)——图论(2)

科学是使人变得勇敢的最好途径。——布鲁诺 文章目录 通信网络问题二叉树型直径路由器规模路由器数量拥挤程度 二维数组型直径路由器规模路由器数量拥挤程度 蝴蝶型直径路由器规模路由器数量拥挤程度 benes型直径路由器规模路由器数量拥挤 通信网络问题 在通信网络中&#xff…

第四章--邻接表数组表示无向图

无向图中的顶点用数组的索引表示&#xff0c;该索引中的元素用bag表示&#xff0c;而这些元素指的是索引对应的顶点所连接的顶点。 public class Graph {private final int V;// 顶点个数private int E;// 边的数目private Bag<Integer> adj[];// 邻接表//初始化邻接表p…

智力题——5L的桶和3L的桶如何装4L的水

文章目录智力题——5L的桶和3L的桶如何装4L的水问题描述直观分析问题建模问题解决智力题——5L的桶和3L的桶如何装4L的水 问题描述 有一个5L的桶A和一个3L的桶B以及无限量的水&#xff0c;如何让5L的桶装4L的水。 支持操作&#xff1a;加水&#xff0c;倒水&#xff0c;A倒入…

【算法与数据结构】——基数排序

文章目录基数排序简介基本原理LSD基本步骤MSD基本步骤对于字符串使用基数排序基数排序简介 基数排序是一种非比较型的排序算法&#xff0c;可以对整数或者字符串进行排序。 桶排序的一个好处是算法稳定。 基本原理 原理是将整数按位数切割成不同的数字&#xff0c;然后按每个…

【题目记录】——第 46 届 ICPC 国际大学生程序设计竞赛亚洲区域赛(沈阳)

文章目录B Bitwise Exclusive-OR SequenceE Edward Gaming, the ChampionJ Luggage LockH Line Graph MatchingM String Problem 字符串&#xff0c;后缀自动机题目地址 第 46 届 ICPC 国际大学生程序设计竞赛亚洲区域赛&#xff08;沈阳&#xff09;B Bitwise Exclusive-OR Se…

【题目记录】——第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(昆明)

文章目录B Chessboard 上下界最小费用最大流C cities 区间dpH Hard Calculation 简单题I Mr. Main and Windmills 计算几何J Parallel Sort 思维模拟第 45 届国际大学生程序设计竞赛&#xff08;ICPC&#xff09;亚洲区域赛&#xff08;昆明)我们只做了H题&#xff0c;水题。。…

【算法与数据结构】——乘法逆元

定义 若在mod p意义下&#xff0c;对于一个整数a&#xff0c;有a*b≡1(mod p)&#xff0c;那么这个整数b即为a的 乘法逆元&#xff0c;同时a也为b的乘法逆元 一个数有逆元的充分必要条件是gcd(a,p)1&#xff0c;此时a才有对p的乘法逆元 逆元的作用 首先对于除法取模不成立&a…

2022离散数学图论笔记03

2022离散数学图论笔记03内容预览笔记笔记内容为日常上课记录与整理&#xff0c;为图片格式&#xff0c;仅供学习。内容预览 1.无向树的定义和性质 2.欧拉图定理8.1证明 3.欧拉图定理8.3证明 4.计算生成树的个数 5.习题 6.段集空间 7.根树 8.图的矩阵表示 7.相邻矩阵和邻接矩阵…

【算法与数据结构】——区间DP

介绍 区间DP属于线性DP的一种&#xff0c;以区间长度作为DP的阶段&#xff0c;以区间的左右端点作为状态的维度。一个状态通常由被它包含且比它更小的区间状态转移而来。阶段&#xff08;长度&#xff09;&#xff0c;状态&#xff08;左右端点&#xff09;&#xff0c;决策三…

PTA:5-2 组个最小数(15分)

PTA&#xff1a;&#xff08;5-2&#xff09;组个最小数&#xff08;15分&#xff09; 题目&#xff1a; 给定数字0-9各若干个。你可以以任意顺序排列这些数字&#xff0c;但必须全部使用。目标是使得最后得到的数尽可能小&#xff08;注意0不能做首位&#xff09;。例如&…

【数据结构】——图的相关习题

目录 一、选择填空判断题题1题2题3 二、应用题题1 一、选择填空判断题 题1 1、无向图G&#xff08;V&#xff0c;E&#xff09;&#xff0c;其中&#xff1a;V{a&#xff0c;b&#xff0c;c&#xff0c;d&#xff0c;e&#xff0c;f}&#xff0c;E{&#xff08;a&#xff0c;b…

力扣-拓扑排序

力扣-拓扑排序 在图论中&#xff0c;**拓扑排序&#xff08;Topological Sorting&#xff09;**是一个有向无环图的所有顶点的线性序列&#xff0c;且该序列满足下面两个条件 1.每个顶点只出现一次 2.若在序列中顶点A出现在顶点B的前面 &#xff0c;那么在途中不存在B到A的路…

力扣-图论

力扣-图论 深度优先搜索 剑指 Offer II 111. 计算除法 我的题解: **思路:*字符串a / b 2.0 , b / c 3.0 可以求: b / c 3.0, c / b 1.0 / 3.0, 因此我们可以将a / b描述为从a到b的一条边&#xff0c;这样就抽象画出一张图&#xff0c;我们将所有的点与权值加入图中&#xf…

题401.数位dp-acwing-1081. 度的数量

文章目录题401.数位dp-acwing-1081. 度的数量一、题目二、题解三、关于数位dp题401.数位dp-acwing-1081. 度的数量 一、题目 二、题解 欲求区间[X,Y]中满足性质的数的个数&#xff0c;我们可以想着去求小于m的数中满足性质的个数f(m)&#xff0c;然后利用前缀和思想&#xff0…

题339.最小生成树扩展-acwing-Q1145--北极通讯网络

文章目录题339.最小生成树扩展-acwing-Q1145--北极通讯网络一、题目二、题解题339.最小生成树扩展-acwing-Q1145–北极通讯网络 一、题目 二、题解 本题给定k个卫星要你利用这些无视距离的卫星通信去去掉将所有点连通所形成的最小生成树里的较大的边&#xff0c;从而使得剩下的…

johnson算法

johnson最短路算法 文章目录johnson最短路算法算法目的:算法思路:为什么可以这样更新权值?洛谷P5905-Johnson算法模板题为啥要学这个算法?1.带负边权最短路可以用Floyd算法解决,但是点不能多了,多了二维数组存不下 2.最小费用最大流中,如果存在费用为负的边,则SSP算法就不好…

pageRank算法笔记

pageRank算法 文章目录pageRank算法算法思想dead ends问题及修正spider traps问题及修正最终算法算法思想 用结点表示网站,用有向边表示结点网站之间的超链接关系,如果网站1有通向网站2的超链接则在结点1和2之间连一条有向边,方向1→21\rightarrow 21→2 如此建立有向图网络表…

基于增广路的最大流算法

最大流算法 文章目录最大流算法基础概念Ford-Fulkerson 增广路算法FF暴力算法Edmonds-Karp算法Dinic算法MATLAB中调用最大流函数基础概念 网络:一个有向图 G(V,E)G(V,E)G(V,E)。 容量:边权值c(u,v)c(u,v)c(u,v)表示有向边<u,v><u,v><u,v>上最大能够承载的流…

题333.floyd扩展之求传递闭包-acwing-Q343--排序

文章目录题333.floyd扩展之求传递闭包-acwing-Q343--排序一、题目二、题解题333.floyd扩展之求传递闭包-acwing-Q343–排序 一、题目 二、题解 本题要你求n个字母关系的确定情况&#xff0c;关键在于如何判断出现关系矛盾与所有字母关系全部确定。 首先&#xff0c;易知&#x…

题236.pat甲级练习-1072 Gas Station (30 分)

文章目录题236.pat甲级练习-1072 Gas Station (30 分)一、题目二、题解题236.pat甲级练习-1072 Gas Station (30 分) 一、题目 二、题解 本题要求得到一个最好位置的加油站&#xff0c;该加油站到houses的距离中的最短距离需要在所有加油站这方面中是最大的&#xff0c;即求最大…

CF1383C 题解

CF1383C 观察一下题目的性质&#xff0c;他说了同一种颜色可以有若干个一起变色&#xff0c;那么我们考虑将同一种颜色看成相同的东西。 考虑对于其建图&#xff0c;也就是如果 AiA_iAi​ 变成 BiB_iBi​ 就建立 Ai→BiA_i \to B_iAi​→Bi​ 的边。 然后本质上就是叫我们重…

数据结构——邻接表

/*邻接表*/ #include<iostream> using namespace std; const int maxsize10; int visited[maxsize]{0}; struct EdgeNode {int adjvex;EdgeNode* next; }; struct VertexNode {char vertex;EdgeNode* firstEdge; }; class ALGraph { private:int vertexNum,edgeNum;Verte…

C语言-最小生成树(Prim算法)

查找函数&#xff08;LocateVex查找坐标&#xff09;构建无向网&#xff08;Undirected Network&#xff09;输出邻接矩阵&#xff08;print&#xff09;最小值函数&#xff08;minimal&#xff09;普里姆算法&#xff08;MiniSpanTree_Prim&#xff09; 最小代价生成树背景 …

C语言-深度优先遍历

查找函数&#xff08;LocateVex查找坐标&#xff09;构建无向图&#xff08;Undirected Graph&#xff09;输出邻接矩阵&#xff08;print&#xff09;深度优先查找函数&#xff08;DFS&#xff09;深度优先遍历&#xff08;DFSTraverse&#xff09; 图的遍历 深度优先遍历&a…

算法1——迪杰斯特拉算法

迪杰斯特拉算法(Dijkstra)是由荷兰计算机科学家狄克斯特拉于1959年提出的&#xff0c;因此又叫狄克斯特拉算法。 是从一个顶点到其余各顶点的最短路径算法&#xff0c;解决的是有权图中最短路径问题。 迪杰斯特拉算法主要特点是从起始点开始&#xff0c;采用贪心算法的策略&…

【Leetcode】并查集(Union-Find)算法

在并查集&#xff08;Union-Find&#xff09;中学习了并查集算法的原理以及几种算法实现。 下面通过leetcode的算法题来具体使用并查集&#xff08;Union-Find&#xff09;算法。主要是两种方法来实现并查集&#xff1a; 使用模板&#xff0c;定义UF类&#xff0c;直接套用模…

Python诠释算法

前文 广度优先搜索实现 #!/usr/bin/pythonfrom __future__ import annotationsfrom queue import Queueclass Graph:def __init__(self) -> None:self.vertices: dict[int, list[int]] {}def print_graph(self) -> None:"""prints adjacency list repr…

迪杰斯特拉(Dijkstra)算法

基本思想 Dijkstra算法是一种典型的最短路径搜索算法&#xff0c;和之前的BFS和DFS算法类似&#xff0c;Dijkstra本质上是一种BFS搜索算法。 一般步骤如下&#xff1a; 建立两个集合S和U&#xff0c;S中存放已经确定了最短距离的点&#xff0c;U中放未放入S中的点。在S中pus…

P4551 最长异或路径 01字典树

link 01字典树&#xff0c;xor&#xff0c;贪心 思路 求树上的最长异或路径。 结论&#xff1a;一个数&#xff0c;如果它两次异或同一个数&#xff0c;那么它是不会有改变的。 故 i,ji,ji,j 的路径上的异或和&#xff0c;就可以表示成根到 iii 的异或和异或上根到 jjj 的异或…

迪杰斯特拉

import numpy as np def distl(matrix,starPoint):M 1E100dist[M]*len(matrix)#用于存放距离findPonit[]#用于存放已经找到的点unFindPoint[i for i in range(len(matrix))]#用于存放没有找到的点Finallpath[[]]*len(matrix)#用于存放路径dist[starPoint]0findPonit.append(st…

P1600 [NOIP2016 提高组] 天天爱跑步 树上差分*

Link 参考文章 一道我觉得非常好的题目&#xff0c;有些地方还没想清楚&#xff0c;需要再回顾一下。 问题的第一个关键就在于把原问题转化&#xff1a; 有 mmm 个玩家&#xff0c;其中第 iii 个玩家给 SiS_iSi​ 到 lca(Si,TiS_i, T_iSi​,Ti​)的路径上每个点增加一个类型为 …

acwing352.闇の連鎖 树上差分

Link 思路 问题转化蛮巧妙的。主要边恰好构成一棵树&#xff0c;考虑只添加一条附加边<x,y>&#xff0c;则恰好构成一个环&#xff0c;如果第一步选择切断x,y之间路径的某条主要边&#xff0c;则第二步必须切断<x,y>&#xff0c;才能分成不连通的两部分。 所以相…

acwing346走廊泼水节—— MST *

Link 思路 感觉方法很妙的一道题&#xff0c;用类似kruskal的方法&#xff0c;每次合并两个联通块x, y时&#xff0c;假设这条边长度为 www&#xff0c;若要构成完全图&#xff0c;则我们需要额外添加SxSy−1S_xS_y-1Sx​Sy​−1条边&#xff0c;其中SiS_iSi​表示第 iii 个连…

牛客寒假基础补题 —— 第二场

link G.小沙的身法 由于给出的是一个树&#xff0c;所以两点间简单路径唯一。考虑极端情况&#xff0c;给出的n个点构成一条链&#xff0c;可以用前缀和求解&#xff0c;所以容易想到用lca通过类似方法计算。 const int maxn 1e6 10; int n, m; int vis2[maxn]; int a[max…

408复习笔记(二):经典数据结构和算法PART2(图、查找、排序)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言六、图1.一些定义2.图的存储3.图的遍历&#xff08;BFS、DFS&#xff09;4.最小生成树1&#xff09;Prim&#xff08;point&#xff0c;点&#xff09;2&#xf…

连通分量、割点割边、广义圆方树总结

【强连通分量算法】 Kosaraju 算法/Tarjan 算法 【强连通分量实现】 //Kosaraju // g 是原图&#xff0c;g2 是反图void dfs1(int u) {vis[u] true;for (int v : g[u])if (!vis[v]) dfs1(v);s.push_back(u); }void dfs2(int u) {color[u] sccCnt;for (int v : g2[u])if (!…

【GDOI2013】字母连接 题解

题面 有一个游戏&#xff0c;在平面上给定m行n列的格子。在部分格子上存在障碍物&#xff0c;在没有障碍物的格子上可能有英文字母。现在要求在空格子上建立路径&#xff0c;使得每条路径两端分别有一个字母&#xff0c;且两端的字母互不相同&#xff0c;并且所有字母都通过路…

有向图顶点的度数计算

有向图顶点的度数计算题目信息测试样例解答题目信息 求有向图所有顶点的出度与入度。 输入&#xff1a; 第一行为正整数N&#xff08;0<N<100&#xff09;&#xff0c;代表图中点的个数。 接下来N行&#xff0c;每行有N个数据&#xff0c;每个数据以空格分隔&#xff0c…

CSP复习每日一题(四)

树的重心 给定一颗树&#xff0c;树中包含 n n n 个结点&#xff08;编号 1 ∼ n 1∼n 1∼n&#xff09;和 n − 1 n−1 n−1条无向边。请你找到树的重心&#xff0c;并输出将重心删除后&#xff0c;剩余各个连通块中点数的最大值。 重心定义&#xff1a; 重心是指树中的一…

无向图邻接矩阵(C++ 代码)

#include<iostream>//无向图邻接矩阵 #define mvnum 100 using namespace std; typedef char Vertextype;//顶点数据类型 typedef int Arctype;//边权值类型 typedef struct {Vertextype vexs[mvnum];//顶点表Arctype arcs[mvnum][mvnum];//邻接矩阵int vexnum, arcnum;/…

UVA-1601 万圣节后的早晨 题解答案代码 算法竞赛入门经典第二版

GitHub - jzplp/aoapc-UVA-Answer: 算法竞赛入门经典 例题和习题答案 刘汝佳 第二版 以三个点的当前位置作为状态&#xff0c;广度优先遍历&#xff0c;找到终点即为最短次数。 注意&#xff1a; 一次可以移动多个点&#xff0c;但是每个点只能移动一步。在同一次中&#xf…

C数据结构与算法——无向图(邻接矩阵) 应用

实验任务 (1) 掌握图的邻接矩阵存储及基本算法&#xff1b; (2) 掌握该存储方式下的DFS和BFS算法。 实验内容 实现图的邻接矩阵存储结构实现基于邻接矩阵的相关算法及遍历算法 实验源码 #include <malloc.h> #include <stdio.h>#define MAXSIZE 1000 #define …

2022.2.17

prim算法&#xff1a;和Dijkstra算法的实现有些类似 【1】从起点开始往后找和这个点连接的权值最小的点&#xff0c;连到树上 【2】重复第一步 例题&#xff1a; 最小生成树&#xff1a; #include<bits/stdc.h> using namespace std; #define inf 0x3f3f3f3f int Map…

2022.2.16

重新看了下最小生成树 kruskal算法 【1】先将图中带权的&#xff08;两点&#xff09;全部得到&#xff08;放在结构体中&#xff09; 【2】然后按权值大小排序&#xff08;从小到大&#xff09; 【3】将点与点连成边&#xff08;用并查集判断是否有环&#xff09; 最小生成…

有向图连通性的判定·Warshall

有向图连通性的判定题目信息测试样例解答题目信息 判断一个图是否为强连通图、单向连通图、弱连通图。输入为有向图的邻接矩阵。 输入 第一行为正整数N&#xff08;0<N<100&#xff09;&#xff0c;代表图中点的个数。 接下来N行&#xff0c;每行有N个数据&#xff0c;每…

每天一道leetcode:1466. 重新规划路线(图论中等广度优先遍历)

今日份题目&#xff1a; n 座城市&#xff0c;从 0 到 n-1 编号&#xff0c;其间共有 n-1 条路线。因此&#xff0c;要想在两座不同城市之间旅行只有唯一一条路线可供选择&#xff08;路线网形成一颗树&#xff09;。去年&#xff0c;交通运输部决定重新规划路线&#xff0c;以…

最小生成树(Kruskal)克鲁斯卡尔算法

算法步骤总共分为两步&#xff0c;由并查集实现 第一步&#xff08;把所有的边按边长的大小进行排序&#xff09; 第二步&#xff08;如果两个点不连通就把两点之间的边加上再把两个点连通&#xff09; 当放入的边数为点数减去一时就代表已经全部连通 例题一&#xff08;859. …

第三章 图论 No.12欧拉回路与欧拉路径

文章目录 定义欧拉路径的性质&#xff1a;1123. 铲雪车边编号输出欧拉路径&#xff1a;1184. 欧拉回路点编号字典序最小输出欧拉路径&#xff1a;1124. 骑马修栅栏并查集判断有向图是否存在欧拉路径&#xff1a;1185. 单词游戏 定义 小学一笔画问题&#xff0c;每条边只经过一次…

【Matlab】简易动画,与任意曲线相切的圆的运动轨迹

目录 1. 要求 2. 效果图 3. 代码 4. 推广 5. 交流讨论 1. 要求 已知一圆与sinx相切&#xff0c;且在sinx上方&#xff0c;半径为1&#xff0c;当x由0递增到4PI时&#xff0c;求该圆的运动轨迹。&#xff08;之前帮别人写的&#xff0c;我写好了结果他不要了:) 2. 效果图…

图神经网络GNN 原理 详解 (一)

图神经网络&#xff08;GNN&#xff09; 一.背景 图神经网络的概念首先由 Gori 等人&#xff08;2005&#xff09;[16] 提出&#xff0c;并由 Scarselli 等人&#xff08;2009&#xff09;[17] 进一步阐明。这些早期的研究以迭代的方式通过循环神经架构传播邻近信息来学习目标…

#10009. 「一本通 1.1 练习 5」钓鱼(贪心问题)

题目描述 在一条水平路边&#xff0c;有 n 个钓鱼湖&#xff0c;从左到右编号为 1,2,…,n。佳佳有 H 个小时的空余时间&#xff0c;他希望利用这个时间钓到更多的鱼。他从 1 出发&#xff0c;向右走&#xff0c;有选择的在一些湖边停留一定的时间&#xff08;是 5 分钟的倍数&…

网络流算法及知识

网络流 : 是指在一个每条边都有容量的有向图分配流&#xff0c;使一条边的流量不会超过它的容量。通常在运筹学中&#xff0c;有向图称为网络。顶点称为节点而边称为弧。一道流必须匹配一个结点的进出的流量相同的限制&#xff0c;除非这是一个源点──有较多向外的流&#xff…

打表素数(埃氏筛法,欧拉筛法)

埃氏筛法的基本思想 &#xff1a; 从2开始&#xff0c;将每个质数的倍数都标记成合数&#xff0c;以达到筛选素数的目的 缺点&#xff1a; 对于一个合数&#xff0c;有可能被筛多次。 void prime()//埃氏筛法 {memset(p,0,sizeof(p));memset(vis,0,sizeof(vis));int cnt0;for…

PAT 7-15 天梯地图 (30 分)

7-15 天梯地图 &#xff08;30 分&#xff09; 本题要求你实现一个天梯赛专属在线地图&#xff0c;队员输入自己学校所在地和赛场地点后&#xff0c;该地图应该推荐两条路线&#xff1a;一条是最快到达路线&#xff1b;一条是最短距离的路线。题目保证对任意的查询请求&#x…

2015年第六届蓝桥杯省赛AB组全部编程题和部分填空题AC代码(仅不包含A组第十题灾后重建)

文章目录方程整数解星系炸弹牌型总数手链样式饮料换购奖券数目加法变乘法移动距离生命之树打印大X方程整数解 import java.io.*; import java.util.*;public class Main {private static final Class<int[]> Comparator null;public static void main(String args[]){i…

每天一道leetcode:1926. 迷宫中离入口最近的出口(图论中等广度优先遍历)

今日份题目&#xff1a; 给你一个 m x n 的迷宫矩阵 maze &#xff08;下标从 0 开始&#xff09;&#xff0c;矩阵中有空格子&#xff08;用 . 表示&#xff09;和墙&#xff08;用 表示&#xff09;。同时给你迷宫的入口 entrance &#xff0c;用 entrance [entrancerow, …

每天一道leetcode:1192. 查找集群内的关键连接(图论困难tarjan算法)

今日份题目&#xff1a; 力扣数据中心有 n 台服务器&#xff0c;分别按从 0 到 n-1 的方式进行了编号。它们之间以 服务器到服务器 的形式相互连接组成了一个内部集群&#xff0c;连接是无向的。用 connections 表示集群网络&#xff0c;connections[i] [a, b] 表示服务器 a …

C++数据结构——习题6-5 最小生成树(Prim算法)

习题6-5 最小生成树 省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通&#xff08;但不一定有直接的公路相连&#xff0c;只要能间接通过公路可达即可&#xff09;。已知村庄数N和可建道路数M&#xff0c;设初始状态下任意村庄之间没有路&#xff0c;请编写程…

C++数据结构——畅通工程

畅通工程 某省调查城镇交通状况&#xff0c;得到现有城镇道路统计表&#xff0c;表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通&#xff08;但不一定有直接的道路相连&#xff0c;只要互相间接通过道路可达即可&#xff09…

C++数据结构——热闹的聚会

热闹的聚会 今天是小明的生日&#xff0c;他邀请了许多朋友参加聚会&#xff0c;当然&#xff0c;有些朋友之间由于互不认识&#xff0c;因此不愿意坐在同一张桌上&#xff0c;但是如果A认识B&#xff0c;且B认识C&#xff0c;那么A和C就算是认识的。 为了使得聚会更加热闹&…

天梯赛分类练习-3——7-8 公路村村通 (30 分)

现有村落间道路的统计数据表中&#xff0c;列出了有可能建设成标准公路的若干条道路的成本&#xff0c;求使每个村落都有公路连通所需要的最低成本。 输入格式: 输入数据包括城镇数目正整数N&#xff08;≤1000&#xff09;和候选道路数目M&#xff08;≤3N&#xff09;&#…

2021天梯赛训练-7——7-7 阅览室 (20分)

天梯图书阅览室请你编写一个简单的图书借阅统计程序。当读者借书时&#xff0c;管理员输入书号并按下S键&#xff0c;程序开始计时&#xff1b;当读者还书时&#xff0c;管理员输入书号并按下E键&#xff0c;程序结束计时。书号为不超过1000的正整数。当管理员将0作为书号输入时…

天梯赛HBU训练营——7-6 城市间紧急救援 (25分)

作为一个城市的应急救援队伍的负责人&#xff0c;你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候&#xff0c;你的任务是带领你的…

二 分 图

什么是二分图: 简单来说&#xff0c;如果图中点可以被分为两组&#xff0c;并且使得所有边都跨越组的边界&#xff0c;则这就是一个二分图。准确地说&#xff1a;把一个图的顶点划分为两个不相交子集 &#xff0c;使得每一条边都分别连接两个集合中的顶点。如果存在这样的划分…

二分图最小点覆盖 POJ1325 Machine Schedule POJ2226 Muddy Fields

二分图最小点覆盖 给定一张二分图&#xff0c;求出一个最小的点集S&#xff0c;使得图中任意一条边都有至少一个端点S&#xff0c;这个问题被称为二分图的最小点覆盖&#xff0c;简称最小覆盖 这种问题的模型特点是 每条边有两个端点&#xff0c;二者至少选择一个 这是2要素。…

数据结构之非线性结构:树、图

一、非线性结构 数据结构形式是线性结构和非线性结构&#xff0c;非线性结构的数据结构关系是数据间关系是一对多&#xff0c;或者多对多的关系。下面我将介绍&#xff0c;数据结构中非线性结构&#xff1a;树和图。 二、树 树是一种一对多的数据结构关系&#xff0c;其是由…

题407.单调队列优化的dp问题-acwing-135. 最大子序和1087. 修剪草坪1088. 旅行问题

文章目录题407.单调队列优化的dp问题-acwing-135. 最大子序和&1087. 修剪草坪&1088. 旅行问题一、题目二、题解三、类似题目题407.单调队列优化的dp问题-acwing-135. 最大子序和&1087. 修剪草坪&1088. 旅行问题 一、题目 二、题解 由于是求长度不超过m的子序列…

AcWing 每日一题 2022/5/9【3371. 舒适的奶牛】

AcWing 每日一题 2022/5/9【3371. 舒适的奶牛】 Farmer John 的草地可以被看作是一个由正方形方格组成的巨大的二维方阵&#xff08;想象一个巨大的棋盘&#xff09;。 初始时&#xff0c;草地上是空的。 Farmer John 将会逐一地将 N 头奶牛加入到草地上。 第 i 头奶牛将会…

Choose the best route ( dijkstra 路径翻转 )

Choose the best route One day , Kiki wants to visit one of her friends. As she is liable to carsickness , she wants to arrive at her friend’s home as soon as possible . Now give you a map of the city’s traffic route, and the stations which are near Kiki…

聪明的猴子 黑暗爆炸 - 2429

聪明的猴子 黑暗爆炸 - 2429 Description 在一个热带雨林中生存着一群猴子&#xff0c;它们以树上的果子为生。昨天下了一场大雨&#xff0c;现在雨过天晴&#xff0c;但整个雨林的地 表还是被大水淹没着&#xff0c;部分植物的树冠露在水面上。猴子不会游泳&#xff0c;但跳…

图第三课时作业

一、在一个无向图 G 中&#xff0c;若从顶点i到顶点j有路径相连&#xff08;当然从j到i也一定有路径&#xff09;&#xff0c;则称i和j是连通的&#xff0c;图G是一个_______。 若G是______&#xff0c;则称其为强连通图。 二、 一个无向图 G(V,E) 是连通的&#xff0c;那么边的…

《Graph Representation Learning》笔记 Chapter6

系列文章 《Graph Representation Learning》笔记 Chapter2 《Graph Representation Learning》笔记 Chapter3 《Graph Representation Learning》笔记 Chapter4 《Graph Representation Learning》笔记 Chapter5 目录Applications and Loss FunctionsGNNs for Node Classifica…

《Graph Representation Learning》笔记 Chapter5

系列文章 《Graph Representation Learning》笔记 Chapter2 《Graph Representation Learning》笔记 Chapter3 《Graph Representation Learning》笔记 Chapter4 目录Permutation invariance and equivarianceNeural Message PassingOverview of the Message Passing Framework…

C语言-AOE网与关键路径

顶点下标查找函数&#xff08;LocateVex&#xff09;创建有向网的邻接表&#xff08;CreateDN&#xff09;邻接表打印函数&#xff08;print&#xff09;拓扑排序&#xff08;TopologicalSort&#xff09;关键路径&#xff08;CriticalPath&#xff09; AOV网与AOE网的实例&am…

C语言-AOV网与拓扑排序

邻接表&#xff1a; 顶点下标查找函数&#xff08;LocateVex&#xff09;创建有向图的邻接表&#xff08;CreateDG&#xff09;邻接表打印函数&#xff08;print&#xff09; 拓扑排序&#xff08;TopologicalSort&#xff09; AOV网与AOE网&#xff1a; AOV网&#xff08;A…

C语言-最短路径(Dijskra算法)

顶点下标查找函数&#xff08;LocateVex&#xff09;创建有向网&#xff08;CreateDN&#xff09;打印图函数&#xff08;print&#xff09;展示最短路径函数&#xff08;displayPath&#xff09;查找当前最短路径函数&#xff08;FindMinDist&#xff09;迪杰斯特拉算法&#…

图的创建 (采用数组的形式) 超详细

一 . 什么是图 图是顶点集合和边的集合所构成的多对多的关系&#xff0c;与其他元素的关系是任意的 &#xff08;在线性表中结点是 一对一 的 树结构中 一个父节点可对应多个子节点&#xff09; 地铁网图地铁中的每一站 相当于一个节点 而连接着每站点的线路可以看作是边 二…

数学建模竞赛常考三大模型及十大算法汇总与简析

一、三大模型 1、预测模型 神经网络预测 灰色预测 时间序列预测 马尔科夫链预测 微分方程预测 Logistic 模型 拟合插值预测&#xff08;线性回归&#xff09;(不推荐) 应用领域&#xff1a;人口预测、水资源污染增长预测、病毒蔓延预测、竞赛获胜概率预测、月收入预测…

Leetcode 算法面试冲刺 热题 HOT 100 刷题(207 208 215 221 226)(六十四)

文章目录207. 课程表215. 数组中的第K个最大元素221. 最大正方形226. 翻转二叉树207. 课程表 不会 什么是拓扑排序&#xff1a; 代码也看吧不懂&#xff1a; from collections import dequeclass Solution:def canFinish(self, numCourses: int, prerequisites:…

图论搜索:如何使用多源BFS降低时间复杂度

图论搜索中&#xff0c;单源BFS和多源BFS搜索距离。 文章目录1. leetcode中BFS图论搜索题2. 单源 BFS3. 多源 BFS4. 多源BFS扩展5. 总结1. leetcode中BFS图论搜索题 leetcode链接&#xff1a;1162. 地图分析 你现在手里有一份大小为 n x n 的 网格 grid&#xff0c;上面的每个…

CF1632C. Strange Test

Link 按位或运算&#xff0c;1600 不太会做&#xff0c;&#xff0c;题解也没看懂&#xff0c;自己写了个感觉错误的代码ac了但不知道为什么是正确的。。。自己做这些位运算的题完全随缘 题意 给出 a,ba, ba,b&#xff0c;每次操作可以进行如下三种之一&#xff1a; aa1aa1aa…

基于回溯法寻找哈密顿回路

基于回溯法寻找哈密顿回路 回溯法是一种选优搜索法&#xff0c;又称为试探法&#xff0c;按选优条件向前搜索&#xff0c;以达到目标。但当探索到某一步时&#xff0c;发现原先选择并不优或达不到目标&#xff0c;就退回一步重新选择&#xff0c;这种走不通就退回再走的技术为…

Floyd算法实现

目录原理实现原理 我们从一个点i到另一个点j,无非就两种走法 直接从i到j通过中间点k中转&#xff0c;i⟶k⟶ji \longrightarrow k \longrightarrow ji⟶k⟶j &#xff08;在经过多个中间点的时候也是一样的&#xff0c;i⟶k1⟶k2⟶...⟶ji \longrightarrow k_1 \longrightarr…

回溯法-哈密顿回路

G中经过每个顶点一次且仅一次的回路称作哈密顿回路。欧拉回路要求通过每条边一次且仅仅一次&#xff0c;而哈密顿回路图则要求通过每个顶点一次且仅仅一次。哈密顿回路图有一个重要的问题&#xff1a;traveling salesperson problem,TSP&#xff0c;就是所谓的 货郎担 的问题即…

数据结构--BFS求最短路

数据结构–BFS求最短路 BFS求⽆权图的单源最短路径 注&#xff1a;⽆权图可以视为⼀种特殊的带权图&#xff0c;只是每条边的权值都为1 以 2 为 b e g i n 位置 以2为begin位置 以2为begin位置 代码实现 //求顶点u到其他顶点的最短路径 void BFS_MIN_Distance(Graph G, int u…

CJJ今日学习之spfa求最短路

原题链接&#xff1a;活动 - AcWing 给定一个 nn 个点 mm 条边的有向图&#xff0c;图中可能存在重边和自环&#xff0c; 边权可能为负数。 请你求出 11 号点到 nn 号点的最短距离&#xff0c;如果无法从 11 号点走到 nn 号点&#xff0c;则输出 impossible。 数据保证不存在…

算法竞赛备赛之搜索与图论训练提升,暑期集训营培训

目录 1.DFS和BFS 1.1.DFS深度优先搜索 1.2.BFS广度优先搜索 2.树与图的遍历&#xff1a;拓扑排序 3.最短路 3.1.迪杰斯特拉算法 3.2.贝尔曼算法 3.3.SPFA算法 3.4.多源汇最短路Floy算法 4.最小生成树 4.1.普利姆算法 4.2.克鲁斯卡尔算法 5.二分图&#xff1a;染色法…

2023牛客第七场补题报告C F L M

2023牛客第七场补题报告C F L M C-Beautiful Sequence_2023牛客暑期多校训练营7 (nowcoder.com) 思路 观察到数组一定是递增的&#xff0c;所以从最高位往下考虑每位的1最多只有一个&#xff0c;然后按位枚举贪心即可。 代码 #include <bits/stdc.h> using namespac…

matlab使用教程(15)—图论基础

1.有向图和无向图 1.1什么是图&#xff1f; 图是表示各种关系的节点和边的集合&#xff1a; • 节点 是与对象对应的顶点。 • 边 是对象之间的连接。 • 图的边有时会有权重 &#xff0c;表示节点之间的每个连接的强度&#xff08;或一些其他属性&#xff09;。 这些定…

P4568 [JLOI2011] 飞行路线

时间复杂度 O(k * (n m)) 注意存边的数组大小&#xff0c;除了 k * m个边外&#xff0c;还有上下层之间的边&#xff0c;数组再开大点就行。&#xff08;不然会re tle #include <iostream> #include <vector> #include <string> #include <cstring>…

欧拉路径学习

欧拉环&#xff1a;图中经过每条边一次且仅一次的环&#xff1b;欧拉路径&#xff1a;图中经过每条边一次且仅一次的路径&#xff1b;欧拉图&#xff1a;有至少一个欧拉环的图&#xff1b;半欧拉图&#xff1a;没有欧拉环&#xff0c;但有至少一条欧拉路径的图。【无向图】一个…

路径-蓝桥杯

明天比赛了&#xff0c;让我这个临时抱佛脚的选手写个图论题&#xff0c;练练手。 1.Dijkstra #include<bits/stdc.h> #define x first #define y secondusing namespace std; typedef pair<int,int> PII; const int MAX 2100; const int INF 0x3f3f3f3f;vecto…

SPFA、迪杰斯特拉、弗洛伊德算法C++实现

三者不同&#xff0c;就我个人理解而言&#xff0c;迪杰斯特拉是求单源点最短路径且权值为非负&#xff0c;算法效率为&#xff1a;&#xff1b;弗洛伊德算法是求任意两点间的最短路径&#xff0c;算法复杂度高&#xff0c;为&#xff1b;SPFA为单源点最短路径&#xff0c;权值…

Floyd(多源汇最短路)

Floyd求最短路 给定一个 n 个点 m 条边的有向图&#xff0c;图中可能存在重边和自环&#xff0c;边权可能为负数。 再给定 k 个询问&#xff0c;每个询问包含两个整数 x 和 y&#xff0c;表示查询从点 x 到点 y 的最短距离&#xff0c;如果路径不存在&#xff0c;则输出 impo…

图算法总结(判断有环、最短路径)

有向图判断有环 拓扑排序 这时有些点的入度减少了&#xff0c;于是再拿出当前所有入度为0的点放在已经排序的序列后面&#xff0c;然后删除&#xff1a; 因为是有向无环图&#xff0c;而且删除操作不会产生环&#xff0c;所以每时每刻都一定存在入度为0的点&#xff0c;一定可…

每天一道leetcode:934. 最短的桥(图论中等广度优先遍历)

今日份题目&#xff1a; 给你一个大小为 n x n 的二元矩阵 grid &#xff0c;其中 1 表示陆地&#xff0c;0 表示水域。 岛 是由四面相连的 1 形成的一个最大组&#xff0c;即不会与非组内的任何其他 1 相连。grid 中 恰好存在两座岛 。 你可以将任意数量的 0 变为 1 &#…

PAT 1013 Battle Over Cities

个人学习记录&#xff0c;代码难免不尽人意。 It is vitally important to have all the cities connected by highways in a war. If a city is occupied by the enemy, all the highways from/toward that city are closed. We must know immediately if we need to repair a…

【图论】最短路的传送问题

一.分层图问题&#xff08;单源传送&#xff09; &#xff08;1&#xff09;题目 P4568 [JLOI2011] 飞行路线 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) &#xff08;2&#xff09;思路 可知背景就是求最短路问题&#xff0c;但难点是可以使一条路距离缩短至0&#xf…

《数据结构与算法分析:C语言描述》复习——第九章“图论”——最大流问题(每次寻找增广路径.......)与Dinic算法

参考网站&#xff1a;https://www.cnblogs.com/zhuli19901106/p/3825152.html https://www.cnblogs.com/SYCstudio/p/7260613.html 每次找到一条增广路径, 就给这条路径增流 , 增加的流量就可以计入到最大流内了, 因为不可能从汇点T有回流,所以只要增流的都可以计入最大流. (流…

罗勇军 →《算法竞赛·快冲300题》每日一题:“小球配对” ← 并查集

【题目来源】http://oj.ecustacm.cn/problem.php?id1850http://oj.ecustacm.cn/viewnews.php?id1023【题目描述】 给定 n 个小球&#xff0c;编号为 1-n&#xff0c;给定 m 个篮子&#xff0c;编号为 1-m。 每个球只允许放入样例给定的编号为 Ai 或者 Bi 的两个篮子中的 1 个…

CCF CSP经典题刷题汇总---少年,想走捷径吗?

CCF刷题博客汇总写在前面汇总表格历届真题前两题汇总写在前面 CCF的第二题基本都是写要用到STL容器的题目&#xff0c;也就是语法题&#xff0c;努力还是可以拿到的 CCF的第三题分为 1.大模拟题(这个没办法&#xff0c;只有多写才可以在现场做出来)&#xff0c;淦&#xff0c;…

自然数的拆分问题

题目描述 任何一个大于 11 的自然数 n&#xff0c;总可以拆分成若干个小于 n 的自然数之和。现在给你一个自n&#xff0c;要求你求出 n 的拆分成一些数字的和。每个拆分后的序列中的数字从小到大排序。然后你需要输出这些序列&#xff0c;其中字典序小的序列需要优先输出。 输…

每天一道leetcode:剑指 Offer 34. 二叉树中和为某一值的路径(中等图论深度优先遍历递归)

今日份题目&#xff1a; 给你二叉树的根节点 root 和一个整数目标和 targetSum &#xff0c;找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 示例1 输入&#xff1a;root [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSu…

数据结构--最短路径 Dijkstra算法

数据结构–最短路径 Dijkstra算法 Dijkstra算法 计算 b e g i n 点到各个点的最短路 \color{red}计算\ begin\ 点到各个点的最短路 计算 begin 点到各个点的最短路 如果是无向图&#xff0c;可以先把无向图转化成有向图 我们需要2个数组 final[] &#xff08;标记各顶点是否已…

每天一道leetcode:127. 单词接龙(图论困难建图广度优先遍历)

今日份题目&#xff1a; 字典 wordList 中从单词 beginWord 和 endWord 的 转换序列 是一个按下述规格形成的序列 beginWord -> s1 -> s2 -> ... -> sk&#xff1a; 每一对相邻的单词只差一个字母。 对于 1 < i < k 时&#xff0c;每个 si 都在 wordList 中…

浙大数据结构第八周之08-图7 公路村村通

题目详情&#xff1a; 现有村落间道路的统计数据表中&#xff0c;列出了有可能建设成标准公路的若干条道路的成本&#xff0c;求使每个村落都有公路连通所需要的最低成本。 输入格式: 输入数据包括城镇数目正整数N&#xff08;≤1000&#xff09;和候选道路数目M&#xff08…

C数据结构与算法——无向图(最小生成树) 应用

实验任务 (1) 掌握Kruskal最小生成树算法&#xff1b; (2) 掌握Prim最小生成树算法。 实验内容 (1) 随机生成一个无向网 G ( V, E )&#xff0c;V { A, B, C, D, E, F }&#xff0c;| E | 11&#xff0c;边的权值取值范围为 [ 1, 40 ]&#xff1b; (2) 使用Prim算法求出图…

操作符详解下(非常详细)

这里写目录标题 下标访问[ ]、函数调用()[ ]下标引用操作符函数调用操作符 操作符的属性&#xff1a;优先级、结合性优先级结合性 表达式求值整型提升整型提升的意义如何进行整体提升 算术转换问题表达式解析表达式1表达式2表达式3表达式4表达式5 总结 下标访问[ ]、函数调用()…

2023 CCPC 华为云计算挑战赛 hdu7399 博弈,启动!(图上博弈/枚举+逆向有向图sg函数)

题目 给定t(t<200)组样例&#xff0c; 每次给定一个n(n<300)个左边的点m(m<300)个右边的点的二分图&#xff0c;图无重边 所有边总量不超过5e5 初始时棋子可以被放置在任意一个点上&#xff0c; 若被放置在左边&#xff0c;则Alice先走&#xff1b;被放置在右边&a…

L Grayscale Confusion【2023牛客多校第10场】【拓扑排序】

来源&#xff1a;“范式杯”2023牛客暑期多校训练营10 —— L Grayscale Confusion 题意&#xff1a;给定 n 个三元组 ( r i , g i , b i ) 。构造一个长度为 n 的数组 w&#xff0c; 使得 ①w1 w 2 ②对于任意 i, j &#xff0c;若 r i > r j , g i > g …

欧拉回路(详解)

欧拉通路和欧拉回路&#xff1a;欧拉通路&#xff1a;对于图G来说&#xff0c;如果存在一条通路包含G的所有边&#xff0c;则该通路称为欧拉通路&#xff0c;也称欧拉路径。欧拉回路&#xff1a;如果欧拉路径是一条回路&#xff0c;那么称其为欧拉回路。欧拉图&#xff1a;含有…

To_Heart—题解——P6234 [eJOI2019] T形覆盖

link. 突然很想写这篇题解。虽然题目不算难。 考场只有30分是为什么呢&#xff1f;看来是我没有完全理解这道题目吧&#xff01; 首先很明显的转换是&#xff0c;把 T 型覆盖看成十字形&#xff0c;再考虑最后减去某一块的贡献。 然后然后直接往原图上面放十字形!对于每一个…

0822hw

2. 3. #include <myhead.h> typedef struct car {char brand[20];int price;char color[20]; }Car; void intput(Car c[]) {for(int i0;i<10;i)//输入{printf("输入品牌,价格&#xff0c;颜色\n");scanf("%s",c[i].brand);scanf(" %d&quo…

(AcWing)没有上司的舞会

Ural 大学有 NN 名职员&#xff0c;编号为 1∼N。 他们的关系就像一棵以校长为根的树&#xff0c;父节点就是子节点的直接上司。 每个职员有一个快乐指数&#xff0c;用整数 Hi 给出&#xff0c;其中 1≤i≤N。 现在要召开一场周年庆宴会&#xff0c;不过&#xff0c;没有职…

【图论】缩点的综合应用(一)

一.缩点的概念 缩点&#xff0c;也称为点缩法&#xff08;Vertex Contraction&#xff09;&#xff0c;是图论中的一种操作&#xff0c;通常用于缩小图的规模&#xff0c;同时保持了图的某些性质。这个操作的目标是将图中的一些节点合并为一个超级节点&#xff0c;同时调整相关…

21.图的应用

目录 一. 最小生成树 &#xff08;1&#xff09;普里姆&#xff08;Prim&#xff09;算法 &#xff08;2&#xff09;克鲁斯卡尔&#xff08;Kruskal&#xff09;算法 二. 最短路径 &#xff08;1&#xff09;Dijkstra(迪杰斯特拉)算法 &#xff08;2&#xff09;Floyd(弗…

图论算法基础:最小生成树算法(kruskal算法和Prim算法)

文章目录 一.图邻接矩阵数据结构二.kruskal算法算法实现思想kruskal算法接口实现 三.Prim算法Prim算法接口实现 一.图邻接矩阵数据结构 以STLvector和unordered_map为适配容器实现图数据结构&#xff1a; namespace Graph_Structure {//Vertex是代表顶点的数据类型,Weight是边…

多次跑网络流(用于构造类)+霍尔定理证明可行:AGC317G

https://atcoder.jp/contests/abc317/tasks/abc317_g 一个很显然的思路&#xff0c;就是行向颜色连边&#xff0c;但约束条件展现出多个维度&#xff0c;所以可以考虑跑多次网络流。 但跑同样的网络流没有意义&#xff0c;所以每次跑完都要在残余网络上操作一下才可行。此题中…

嵌套里面加嵌套(我还是不会构建二叉树如何换根查找)

医院设置 - 洛谷 开始我的思路就是和这些大佬是一样的&#xff0c;但是我自己不会加嵌套&#xff0c;也就是纽带关系&#xff0c;就导致左右节点的大小关系混乱&#xff0c;并且自己写递归的思路还有待提高&#xff0c;脑子也是不够用&#xff0c;太笨了。看了大佬的才知道如何…

【数据结构大全】你想要的都有,数组、链表、堆栈、二叉树、红黑树、B树、图......

目录 1.概述 2.线性结构 3.时间复杂度 4.查找算法 5.树 6.图 1.概述 博主之前写过一个完整的关于数据结构的系列文章&#xff0c;一共十三篇&#xff0c;内容包含&#xff0c;数组、链表、堆栈、队列、时间复杂度、顺序查找、二分查找、二叉树、二叉搜索树、平衡二叉树、…

最短路-朴素的dijkstra算法

算法&#xff1a; 1.1 边权都是正数 1.1.1 朴素的Dijkstra 算法 - 稠密图- 邻接矩阵来存 先进行初始化 dist[1] 0, dist[i] 无穷 s: 当前已经确定最短距离的点的集合 进行n次遍历 &#xff0c;求解到n个点的最短路 for(1 -n&#xff09; 找到 t &#xff1a; 即不在s中的距…

有向图邻接表存储 + 树和图的深度优先遍历

#include<iostream> #include<algorithm> #include<cstdio> #include<cstring>using namespace std;const int N 100010, M 2*N;int h[N], e[M], ne[M], idx;bool st[N];// dfs只搜索一遍// 有向图邻接表存储 void add(int a, int b){e[idx] b;ne[…

【数据结构】十字链表的画法

十字链表的基本概念 有向边又称为弧 假设顶点 v 指向 w&#xff0c;那么 w 称为弧头&#xff0c;v 称为弧尾 顶点节点采用顺序存储 顶点节点 data&#xff1a;存放顶点的信息firstin&#xff1a;指向以该节点为终点&#xff08;弧头&#xff09;的弧节点firstout&#xff1…

2023-8-30 八数码(BFS)

题目链接&#xff1a;八数码 #include <iostream> #include <algorithm> #include <unordered_map> #include <queue>using namespace std;int bfs(string start) {string end "12345678x";queue<string> q;unordered_map<strin…

图的遍历:广度优先遍历(BFS)

1.与树的广度优先遍历之间的联系 先回顾一下树的广度优先遍历也就是层序遍历。 1.树的广度优先遍历&#xff08;队列&#xff09; 若树非空&#xff0c;则根节点入队。若队列非空&#xff0c;队头元素出队并访问&#xff0c;同时将该元素的孩子依次入队。重复②直到队列为空…

floyed-多源汇聚最短路

时间复杂度O(n^3)动态规划d[k][i][j] min(d[k-1][i][j],d[k-1][i][k] d[k-1][k][j])可以简化为d[i][j] min(d[i][j], d[i][k] d[j][k]) //考虑经过k点时的最短路 代码 #include<iostream> #include<algorithm> #include<cstdio>using namespace std;co…

足球联赛积分2

系列文章目录 进阶的卡莎C++_睡觉觉觉得的博客-CSDN博客数1的个数_睡觉觉觉得的博客-CSDN博客双精度浮点数的输入输出_睡觉觉觉得的博客-CSDN博客足球联赛积分_睡觉觉觉得的博客-CSDN博客大减价(一级)_睡觉觉觉得的博客-CSDN博客小写字母的判断_睡觉觉觉得的博客-CSDN博客纸币(…

【边双】CF Edu10 E

Problem - E - Codeforces 题意&#xff1a; 思路&#xff1a; st 到 ed存在多条路径 注意到在同一个边双连通分量中&#xff0c;如果存在一条边的边权是1&#xff0c;那么这个边双连通分量中所有点对的路径中都存在一条边的边权是1&#xff0c;因此我们考虑缩点&#xff0c…

c++图论免费ppt,简单深度理解图论

本篇博文想分享一个ppt,是帮助大家简单深度理解c图论. 作者承诺&#xff1a;分享的东西没有病毒&#xff0c;是资料。 分享的东西一个是ppt,ppt里面是150页的&#xff0c;里面将带领大家简单深度理解c图论&#xff0c;还有一个就是里面例题的数据&#xff0c;大家可以按照数据…

【做题笔记】虚树 (LuoguP2495 - [SDOI2011] 消耗战)

虚树 在给定的树上问题中&#xff0c;树的大小过大&#xff0c;导致总时间复杂度 O ( n q ) O(nq) O(nq)不能被接受&#xff0c;但是有很多点在查询的过程中根本用不到&#xff0c;所以对于每一个查询&#xff0c;建立一个小的查询树&#xff0c;在这个小树上求解问题。这个小…

C语言深入理解指针(非常详细)(四)

目录 字符指针变量数组指针变量数组指针变量是什么数组指针变量怎么初始化 二维数组传参的本质函数指针变量函数指针变量的创建函数指针变量的使用代码typedef关键字 函数指针数组转移表 字符指针变量 字符指针在之前我们有提到过&#xff0c;&#xff08;字符&#xff09;&am…

宽度有限搜索BFS搜索数及B3625 迷宫寻路 P1451 求细胞数量 B3626 跳跃机器人

宽度有限搜索BFS搜索 B3625 迷宫寻路 题面 题目描述 机器猫被困在一个矩形迷宫里。 迷宫可以视为一个 nm 矩阵&#xff0c;每个位置要么是空地&#xff0c;要么是墙。机器猫只能从一个空地走到其上、下、左、右的空地。 机器猫初始时位于 (1,1) 的位置&#xff0c;问能否…

PAT (Advanced Level) 甲级 1006 Sign In and Sign Out

点此查看所有题目集 At the beginning of every day, the first person who signs in the computer room will unlock the door, and the last one who signs out will lock the door. Given the records of signing ins and outs, you are supposed to find the ones who have…

练习 3C Tree

C. Infected Tree Problem - C - Codeforces 问题描述&#xff1a;一个二叉树&#xff0c;根节点被感染了&#xff0c;可以通过删除一个节点使这个树分成两个部分&#xff0c;从而使分离开的子树无法被感染&#xff0c;求这样操作&#xff0c;有最多多少个节点是未被感染的&a…

P2622 关灯问题II ( 状压 + bfs

#include <bits/stdc.h> using namespace std; using VI vector<int>; int n,m; int close[110]; int open[110]; int dp[1 << 12]; int vis[1 << 12]; //n个灯 m 个 按钮 // n < 10 //dp[0] 0; //按下一个按钮 &#xff0c; 先把状态 | 开…

图论-图的深度优先遍历-Java

回顾力扣144/94//145/102/589/590/429&#xff0c;熟练掌握递归和非递归写法。 图论不强调非递归。 使用邻接表 1个连通分量 Graph.java package Chapt02_DFS; import java.io.File; import java.io.IOException; import java.util.TreeSet; import java.util.Scanner;///…

百度飞浆图神经网络学习-笔记1

什么是图&#xff1f; 七桥问题&#xff0c;图论的开始 图学习的应用 节点级别任务&#xff08;预测节点的类别或特性&#xff09;边级别任务&#xff08;预测边的权值或者是否存在&#xff09;图级别任务&#xff08;预测图的类别或者两张图的相似性&#xff09; 应用 从…

【图论】SPFA求负环

算法提高课笔记 文章目录 基础知识例题虫洞题意思路代码 观光奶牛题意思路代码 单词环题意思路代码 基础知识 负环&#xff1a;环上权值之和是负数 求负环的常用方法 基于SPFA 统计每个点入队次数&#xff0c;如果某个点入队n次&#xff0c;则说明存在负环&#xff08;完全…

交换瓶子问题(暴力求解 + 图论解法)

交换瓶子问题 文章目录 交换瓶子问题前言题目描述暴力解法【能过】图论解法知识预备【交换环】 代码暴力做法和图论做法的对比总结 前言 知道题目用暴力算法是可以过的&#xff0c;注意数据范围是1~10000&#xff0c;卡在一个微妙的地方&#xff0c;不免让人想用暴力算法&…

算法|图论 5

LeetCode 841- 钥匙和房间 题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题目描述&#xff1a;有 n 个房间&#xff0c;房间按从 0 到 n - 1 编号。最初&#xff0c;除 0 号房间外的其余所有房间都被锁住。你的目标是进入所有…

Havel-Hakimi 算法与图的可视化

判断一个非负序列是否为某简单图的度序列有两种方法 import numpy as np import networkx as nx import matplotlib.pyplot as pltdef hh_algorithm(graph_list):"""Havel-Hakimi algorithm:param graph_list: 非负序列:return: 是否可图True or False"&qu…

算法|图论 3

LeetCode 130- 被围绕的区域 题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题目描述&#xff1a;给你一个 m x n 的矩阵 board &#xff0c;由若干字符 X 和 O &#xff0c;找到所有被 X 围绕的区域&#xff0c;并将这些区域…

leetcodelintcode分类刷题:图论(一、连通域/岛屿问题)

1、本次总结的题目通常是在二维矩阵考察连通域/岛屿问题&#xff0c;常用的方法包括深度优先搜索、广度优先搜索和并查集&#xff0c;根据具体的题目可以选择最合适的方法&#xff0c;我个人优选在逻辑思维上简单直观的广度优先搜索方法 2、二维矩阵考察连通域/岛屿问题&#x…

Dijkstra O(E * log E)

| Dijkstra O(E * log E) | INIT: 调用 init(nv, ne) 读入边并初始化 ; | CALL: dijkstra(n, src); dist[i] 为 src 到 i 的最短距离 \**/ #define typec int // type of cost const typec inf 0x3f3f3f3f; // max of cost typec cost[E], dist[V]; int e, pnt[E], …

C语言数组和指针笔试题(一)(一定要看)

目录 一维数组例题1例题2例题3例题4例题5例题6例题7例题8例题9例题10例题输出结果 字符数组一例题1例题2例题3例题4例题5例题6例题7 一维数组 int a[] {1,2,3,4}; 1:printf("%d\n",sizeof(a)); 2:printf("%d\n",sizeof(a0)); 3:printf("%d\n",…

二分图最大完美匹配

嗯 想不通就是二分之后的点&#xff0c;寻找左边的点和右边的点的保证两条边的顶点不相同的最大边数 匈牙利算法 O(mn) 左边寻找和右边相邻的边&#xff0c;如果右边还没有和左边进行连线&#xff0c;那么匹配成功。如果右边已经进行连线&#xff0c;那么考虑左边是否能更改连…

分层图,spfa,P4822 [BJWC2012] 冻结

P4822 [BJWC2012] 冻结 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目背景 “我要成为魔法少女&#xff01;” “那么&#xff0c;以灵魂为代价&#xff0c;你希望得到什么&#xff1f;” “我要将有关魔法和奇迹的一切&#xff0c;封印于卡片之中„„” 在这个愿望…

图:关键路径

1. AOE网 与AOV网不同&#xff0c;AOE是用边表示活动的图或者网。 1.AOE网的概念 在带权有向图中&#xff0c;以顶点表示事件&#xff0c;以有向边表示活动&#xff0c; 以边上的权值表示完成该活动的开销(如完成活动所需的时间)&#xff0c; 称之为用边表示活动的网络&…

【代码随想录】dfs和bfs (所有可能的路径、岛屿数量)

所有可能的路径&#xff1a; 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 class Solution { public:vector<int> path;vector<vector<int>> result;void dfs(vector<vector<int>> graph, int x){//1 确认递归函数…

图论第二天|岛屿数量.深搜版、岛屿数量.广搜版、岛屿的最大面积、1020.飞地的数量

岛屿数量.深搜版 文档讲解 &#xff1a;代码随想录 - 岛屿数量.深搜版 状态&#xff1a;开始学习。 本题是dfs模板题 本题代码&#xff1a; class Solution { private:int dir[4][2] {0, 1, 1, 0, -1, 0, 0, -1}; // 四个方向void dfs(vector<vector<char>>&…

AtCoder Beginner Contest 232(A-G)

A - QQ solver (atcoder.jp)直接按题意模拟即可。 B - Caesar Cipher (atcoder.jp)按题意模拟即可 C - Graph Isomorphism (atcoder.jp)按题意模拟即可 D - Weak Takahashi (atcoder.jp) 一个非常套路的网格dp E - Rook Path (atcoder.jp) &#xff08;1&#xff09;题意 有…

飞机降落(dfs全排列)

4957. 飞机降落 - AcWing题库 数据量很小&#xff0c;直接爆搜 #include<bits/stdc.h> using namespace std; const int N20; int n,t,flag,st[N];//st记录是否已经降落&#xff0c;flag标记是否降落完成 struct Node {int t,d,l; }node[N]; void dfs(int u,int last)/…

2023年CCF-CSP考前冲刺

202305-1重复局面 思路&#xff1a; 题目的意思是我们输入n组局面&#xff0c;每个局面由64个字符组成&#xff0c;然后判断有没有相同局面。那么我们就可以开一个map&#xff0c;用字符数组a记录每个局面的字符&#xff0c;然后放入map中&#xff0c;每次输出它的次数即可。 …

P2719 搞笑世界杯 (期望dp

#include <bits/stdc.h> using namespace std; using VI vector<int>;double dp[2000][2000]; int n; //求dp[2][0] //dp[0][2] //期望dp要从终末态&#xff0c;向起始态转移 //dp[a][b] - > dp[a][b-1] or dp[a-1][b] //dp[a][b] 1/2 * dp[a][b1] 1/2 * dp…

【学习笔记】CF1835D Doctor‘s Brown Hypothesis

有点难&#x1f605; 发现 x , y x,y x,y在一个强连通块内&#xff0c;这样一定有环&#x1f914; 发现可以找到强连通块内所有环长度的 gcd ⁡ \gcd gcd&#xff0c;这样从 x x x到 y y y的所有路径的长度都模这个数同余&#xff0c;又因为 K K K非常大&#xff0c;所以我们…

图的应用(最小生成树,最短路径,有向无环图)

目录 一.最小生成树 1.生成树 2.无向图的生成树 3.最小生成树算法 二.最短路径 1.单源最短路径---Dijkstra&#xff08;迪杰斯特拉&#xff09;算法 2.所有顶点间的最短路径---Floyd&#xff08;弗洛伊德&#xff09;算法 三.有向无环图的应用 1.AOV网&#xff08;拓扑…

【洛谷 P1037】[NOIP2002 普及组] 产生数 题解(图论+深度优先搜索+排列组合+高精度)

[NOIP2002 普及组] 产生数 题目描述 给出一个整数 n n n 和 k k k 个变换规则。 规则&#xff1a; 一位数可变换成另一个一位数。规则的右部不能为零。 例如&#xff1a; n 234 , k 2 n234,k2 n234,k2。有以下两个规则&#xff1a; 2 ⟶ 5 2\longrightarrow 5 2⟶5。 …

每天一道leetcode:剑指 Offer 68 - I. 二叉搜索树的最近公共祖先(适合初学者)

今日份题目&#xff1a; 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个结点 p、q&#xff0c;最近公共祖先表示为一个结点 x&#xff0c;满足 x 是 p、q 的祖先且 x 的深度尽可能大&#xf…

今日ac题

【模板】拓扑排序 / 家谱树 - 洛谷 终于凭着仅存的记忆写出来了&#xff0c;虽然是板子题 #include <iostream> #include <cstring> #include <queue> using namespace std;const int N 1010; int e[N], ne[N], h[N], idx; int n, ind[N]; queue<int&g…

图论第三天|130. 被围绕的区域、417. 太平洋大西洋水流问题、827. 最大人工岛

130. 被围绕的区域 文档讲解 &#xff1a;代码随想录 - 130. 被围绕的区域 状态&#xff1a;开始学习。 思路&#xff1a; 步骤一&#xff1a; 深搜或者广搜将地图周边的 ‘O’ 全部改成 ’A’&#xff0c;如图所示&#xff1a; 步骤二&#xff1a; 再遍历地图&#xff0c;将 …

图神经网络系列之序章

文章目录 一、为什么需要图神经网络&#xff1f;二、图的定义1.图的定义和种类2.一些关于图的重要概念2.1 子图2.2 连通图2.3 顶点的度、入度和出度2.4 边的权和网2.5 稠密图、稀疏图 3.图的存储结构3.1 邻接矩阵3.2 邻接表3.3 边集数组3.4 邻接多重表3.5 十字链表3.6 链式前向…

数据结构——图(图的基本概念)

文章目录 前言一、图的基本概念图的定义 总结 前言 图的基本概念 1.1 有向图 1.2 无向图 1.3 有向完全图 1.4 无向完全图 1.5 连通图 一、图的基本概念 图的定义 图的定义&#xff1a;图G是顶点集V和边集E组成&#xff0c;记为G(V,E)&#xff0c;其中V(G)表示图G中顶点有限非…

图论算法<二>:Dijkstra算法求图中任意两点间的最短路径

1、目的 求解有向图中指定的起点和终点之间最短路径。 2、示例效果 2.1 原始数据 路线起终点整理如下: // 共计12个顶点,19条边。 (起点,终点,1)最后的1代表起点终点是连通的。 起点,终点,1:2 4 1 起点,终点,1:9 10 1 起点,终点,1:8 11 1 起点,终点,1:4 1…

【ccf-csp题解】第四次csp认证-第四题-网络延时-树的直径

题目描述 思路分析 本题所求的实际上是树的直径&#xff0c;即树中的任意两个结点之间的最大距离 采用的方法是dfs 从根节点开始遍历&#xff0c;对于每一个被dfs的结点m&#xff0c;返回此结点m到所有叶子结点的距离最大的那个即d1&#xff0c;同时在dfs过程当中记录结点m到…

D. Cyclic Operations Codeforces Round 897 (Div. 2)

Problem - D - Codeforces 题目大意&#xff1a;有一个长度为n的数组a&#xff0c;每次操作可以选取一个长度为k的所有数互不相同的数组b&#xff0c;令a[bi]b[i%k1]&#xff0c;问能否将一个全为零的数组通过任意次操作得到a 1<k<n<1e5 思路&#xff1a;通过上述操…

【图论】有向图的强连通分量

算法提高课笔记 文章目录 理论基础SCC板子 例题受欢迎的牛题意思路代码 学校网络题意思路代码 最大半连通子图题意思路代码 银河题意思路代码 理论基础 什么是连通分量&#xff1f; 对于一个有向图&#xff0c;分量中任意两点u&#xff0c;v&#xff0c;必然可以从u走到v&am…

37.图练习(王道第6章综合练习)

图的存储结构&#xff0c;可以有邻接表表示和矩阵表示两种。我们实现邻接表表示&#xff08;矩阵表示用一个二维数组就可以&#xff09;&#xff1a; #include<stdio.h> #include<stdlib.h> #include<string.h> #define maxvex 5 #define ElemType char//边…

二分图匹配(匈牙利算法 DFS 实现)

二分图匹配&#xff08;匈牙利算法 DFS 实现&#xff09; | INIT: g[][] 邻接矩阵 ; | CALL: res MaxMatch (); | 优点&#xff1a;实现简洁容易理解&#xff0c;适用于稠密图&#xff0c; DFS 找增广路快。 | 找一条增广路的复杂度为 O &#xff08; E &#xff09;…

【全】差分模板

文章目录 一维差分二维差分 一维差分 #include using namespace std; const int N 1e5 10; int s[N], a[N]; void insert(int l, int r, int x){ a[l] x; a[r 1] - x; } int main(){ int n, m; cin >> n >> m; for (int i 1; i < n; i ){cin >>…

【图论C++】树的直径(DFS 与 DP动态规划)

》》》算法竞赛 /*** file * author jUicE_g2R(qq:3406291309)————彬(bin-必应)* 一个某双流一大学通信与信息专业大二在读 * * brief 一直在竞赛算法学习的路上* * copyright 2023.9* COPYRIGHT 原创技术笔记&#xff1a;转载…

【学习笔记】[ARC153F] Tri-Colored Paths

假设三种颜色的边都存在&#xff0c;并且不存在这样的路径 首先观察到&#xff0c;对于一个简单环上的边&#xff0c;颜色一定相同 因此&#xff0c;考虑建立圆方树&#xff0c;问题转化为圆方树上的 D P DP DP问题。限制是对于方点所连接的边&#xff0c;必须涂上相同的颜色…

Codeforces Round 886 (Div. 4)F. We Were Both Children(调和级数、埃氏筛)

F. We Were Both Children 题意&#xff1a;n只青蛙初始在0处&#xff0c;每只青蛙都有一个a[i]表示青蛙每次能跳a[i],我们可以在1~n的位置处放置一个陷阱&#xff0c;每只青蛙经过陷阱后会掉进陷阱&#xff0c;求最多能捕获多少只青蛙。 思路&#xff1a;我们观察a[i]的范围很…

[BJ2017.X5] 公交车

题目描述 D D D 市有 n n n 个公交车站和 m m m 条公交线路&#xff0c;公交车站的编号为从 1 1 1到 n n n 。每条公交线路会经过某些车站&#xff0c;如果两条公交线路有公共的公交车站&#xff0c;那么它们可以在公共车站相互换乘。比如线路 &#xff08; 1 , 2 , 3 , 9…

day-62 代码随想录算法训练营(19)图论 part 01

797.所有可能的路径 分析&#xff1a;从 0~n-1的所有可能的路径 思路一&#xff1a;回溯 使用中间数组mid&#xff0c;添加起始位置 0 &#xff0c;然后遍历二维数组遍历到一维时&#xff0c;下一轮递归直接跳入当前值所代表下标的数组中终止条件&#xff1a;mid的结尾值为 …

图论27(Leetcode721账户合并)

代码&#xff1a; 写了一个超时版本 又学了并查集 超时版本&#xff1a; class Solution {public List<List<String>> accountsMerge(List<List<String>> accounts) {List<List<String>> newAcc new ArrayList<>();Set<Integ…

算法|图论 1 广度深度

LeetCode 695- 岛屿的最大面积 题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题目描述&#xff1a;给你一个有 n 个节点的 有向无环图&#xff08;DAG&#xff09;&#xff0c;请你找出所有从节点 0 到节点 n-1 的路径并输出…

树形DP杂题

引 对老师布置的题目稍微记录一下吧 也算对树形 D P DP DP 的巩固 T1 Ostap and Tree 题目传送门 由于有 距离 k 距离k 距离k 的限制&#xff0c;设计二维 d p dp dp 设计状态&#xff1a; f i , j : i 的子树内&#xff0c;离 i 最近的染色点与 i 距离为 j 且若 j <…

UVA-1343 旋转游戏 题解答案代码 算法竞赛入门经典第二版

GitHub - jzplp/aoapc-UVA-Answer: 算法竞赛入门经典 例题和习题答案 刘汝佳 第二版 题目其实不难&#xff0c;但是耗费了我较多时间。 这种题关键就是在于找到约束条件&#xff0c;我在DFS的基础上&#xff0c;试了很多种策略&#xff1a; 1. 对3种数字&#xff0c;每种数字…

蓝桥杯 题库 简单 每日十题 day6

01 删除字符 题目描述 给定一个单词&#xff0c;请问在单词中删除t个字母后&#xff0c;能得到的字典序最小的单词是什么&#xff1f; 输入描述 输入的第一行包含一个单词&#xff0c;由大写英文字母组成。 第二行包含一个正整数t。 其中&#xff0c;单词长度不超过100&#x…

刷题笔记25——图论课程表

为了最终理解你所不理解的&#xff0c;你必须经历一条愚昧无知的道路。为了占有你从未占有的东西&#xff0c;你必须经历被剥夺的道路。为了达到你现在所不在的名位,你必须经历那条你不在其中的道路。——艾略特 797. 所有可能的路径&#xff08;已经告知&#xff1a;是有向无环…

leetcodelintcode分类刷题:图论(三、多源最小距离问题)

1、本次总结的题目通常是多个源头节点分别求解到达目标节点的最小距离&#xff0c;目标节点可能为多个&#xff0c;也可能为一个&#xff1b;要采用广度优先搜索的方法&#xff0c;但先提前入队的不是源头节点了&#xff0c;而是目标节点&#xff0c;由目标节点为基准一圈一圈的…

蓝桥杯 题库 简单 每日十题 day5

01 字符计数 字符计数 题目描述 给定一个单词&#xff0c;请计算这个单词中有多少个元音字母&#xff0c;多少个辅音字母。 元音字母包括a,e&#xff0c;i,o&#xff0c;u&#xff0c;共五个&#xff0c;其他均为辅音字母。 输入描述 输入格式&#xff1a; 输入一行&#xff0…

有向图访问计数的原理及C++实现

题目 现有一个有向图&#xff0c;其中包含 n 个节点&#xff0c;节点编号从 0 到 n - 1 。此外&#xff0c;该图还包含了 n 条有向边。 给你一个下标从 0 开始的数组 edges &#xff0c;其中 edges[i] 表示存在一条从节点 i 到节点 edges[i] 的边。 想象在图上发生以下过程&am…

2023-9-22 没有上司的舞会

题目链接&#xff1a;没有上司的舞会 #include <cstring> #include <iostream> #include <algorithm>using namespace std;const int N 6010;int n; int happy[N]; int h[N], e[N], ne[N], idx; bool has_father[N];// 两个状态&#xff0c;选该节点或不选该…

23. 图论 - 图的由来和构成

文章目录 图的由来图的构成Hi, 你好。我是茶桁。 从第一节课上到现在,我基本上把和人工智能相关的一些数学知识都教给大家了,终于来到我们人工智能数学的最后一个部分了,让我们从今天开始进入「图论」。 图论其实是一个比较有趣的领域,因为微积分其实更多的是对应连续型的…

矩阵与图

定长路径计数 给一个 n n n 阶有向图&#xff0c;每条边的边权均为 1 1 1&#xff0c;然后给一个整数 k k k&#xff0c;你的任务是对于所有点对 ( u , v ) (u,v) (u,v) 求出从 u u u 到 v v v 长度为 k k k 的路径的数量 乘法原理 P4159 [SCOI2009] 迷路 拆点建边 P2151…

图论---图的存储

图的存储一般有三种&#xff0c;分别是邻接矩阵、邻接表和类&#xff0c;以下是三种存储方式的基础模板及相关注释&#xff1a; 邻接矩阵 g[a][b] 存储边a->b的距离 邻接表 // 又叫做链式向前星存储&#xff08;头插法&#xff09; // 首先 idx 是用来对边进行编号的&am…

【蓝桥每日一题]-二分类型(保姆级教程 篇2) #砍树 #木材加工

今天讲二分的例题&#xff0c;一道是“砍树”&#xff0c;一道是“木材加工” 目录 题目&#xff1a;砍树 思路1&#xff1a; 思路2&#xff1a; 题目&#xff1a;木材加工 思路&#xff1a; 题目&#xff1a;砍树 思路1&#xff1a; 二分查找&#xff1a;对高度进行二分 二…

图的深度遍历-邻接矩阵实现

description 本题要求实现邻接矩阵存储图的深度优先遍历。 函数接口定义&#xff1a; void DFS(MGraph G,Vertex v); 其中MGraph是邻接矩阵存储的图&#xff0c;定义如下&#xff1a; #define MaxVertexNum 10 /定义最大顶点数/ typedef int Vertex;/* 用顶点下标表示顶点,…

树的直径(dp和bfs求法)

更好的阅读体验 树的直径 树中两点之间的距离&#xff1a;连接两点的路径上的权值之和 树的直径&#xff1a;树中最远的两个节点之间的距离 树的直径的两种求法&#xff0c;一种是两边bfs or dfs&#xff0c;一种是树形dp 直径的性质 1、直径两端点一定是两个叶子节点 2、距离…

子序列问题集合

子序列问题 最长公共子序列&#xff1a;最长上升子序列&#xff08;要输出序列&#xff0c;和最大长度&#xff09;1.dp2.贪心二分 导弹拦截 &#xff08;最长上升/下降子序列长度&#xff09; 最长公共子序列&#xff1a; class Solution { public://dfs(i,j)代表s串i前字符和…

7-2 图着色问题

输入样例&#xff1a; 6 8 3 2 1 1 3 4 6 2 5 2 4 5 4 5 6 3 6 4 1 2 3 3 1 2 4 5 6 6 4 5 1 2 3 4 5 6 2 3 4 2 3 4 输出样例&#xff1a; Yes Yes No No idea 注意合理的方案需满足&#xff1a;用到的颜色数 给定颜色数 solution #include <cstdio> #include &l…

【树上莫队C++】Count on Tree II(欧拉序降维,树链剖分求最近共同祖先LCA)

》》》算法竞赛 /*** file * author jUicE_g2R(qq:3406291309)————彬(bin-必应)* 一个某双流一大学通信与信息专业大二在读 * * brief 一直在算法竞赛学习的路上* * copyright 2023.9* COPYRIGHT 原创技术笔记&#xff1a;转载…

AtCoder Beginner Contest 231(D-F,H)

D - Neighbors (atcoder.jp) &#xff08;1&#xff09;题意 给出M组关系&#xff0c;问是否有一个排列&#xff0c;能表示A[i]和B[i]相邻 &#xff08;2&#xff09;思路 考虑如果有环&#xff0c;显然不能满足排列&#xff0c;因为排列中度数最多为2&#xff0c;若有超过2的显…

[图论]哈尔滨工业大学(哈工大 HIT)学习笔记23-31

视频来源&#xff1a;4.1.1 背景_哔哩哔哩_bilibili 目录 1. 哈密顿图 1.1. 背景 1.2. 哈氏图 2. 邻接矩阵/邻接表 3. 关联矩阵 3.1. 定义 4. 带权图 1. 哈密顿图 1.1. 背景 &#xff08;1&#xff09;以地球为建模&#xff0c;从一个大城市开始遍历其他大城市并且返回…

图论第1天----第797题、第200题、第695题

# 图论第1天----第797题、第200题、第695题 文章目录 一、第797题--所有可能的路径二、第200题--岛屿数量三、第659题--岛屿的最大面积 ​ 又继续开始修行&#xff0c;把图论这块补上&#xff0c;估计要个5-6天时间。 一、第797题–所有可能的路径 ​ 图的dfs3部曲&#xff0…

P1025 [NOIP2001 提高组] 数的划分(dfs搜有顺序)

[NOIP2001 提高组] 数的划分 - 洛谷 #include<bits/stdc.h> using namespace std; const int N220; int n,k; int ans; void dfs(int sum,int cnt,int last)//当前的和&#xff0c;用了几个数&#xff0c;上个数 {if(cntk){if(sumn)ans; // printf("return\…

数据结构-图-最小生成树问题

最小生成树 并查集定义举例说明查找某个元素属于哪个集合代码实现路径压缩 Kruskal算法原理代码实现 Prim算法原理代码实现 并查集 定义 &#x1f680;在一些应用问题中&#xff0c;需要将n个不同的元素分成一些不相交的集合。开始时&#xff0c;每个元素自成一个单元素集合&…

图论21(Leetcode695.岛屿的最大面积)

代码&#xff1a; class Solution {int[][] dirs {{-1,0},{1,0},{0,1},{0,-1}};public int maxAreaOfIsland(int[][] grid) {int max 0;for(int i0;i<grid.length;i){for(int j0;j<grid[0].length;j){if(grid[i][j]1){int[] start {i,j};int area getArea(start,0,g…

P3842 [TJOI2007] 线段

[TJOI2007] 线段 - 洛谷 #include<bits/stdc.h> using namespace std; const int N2e410; int n; int f[N][2],a[N][2]; int dis(int a,int b) {return abs(a-b); } int main() {scanf("%d",&n);for(int i1;i<n;i)scanf("%d %d",&a[i][0]…

代码随想录二刷day39

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣62. 不同路径二、力扣63. 不同路径 II 前言 一、力扣62. 不同路径 class Solution {public int uniquePaths(int m, int n) {int[][] dp new int[m][…

图论第3天----第841题、第463题

# 图论第3天----第841题、第463题 文章目录 一、第841题--钥匙和房间二、第463题--岛屿的周长 ​ 又继续开始修行&#xff0c;把图论这块补上&#xff0c;估计要个5-6天时间。 一、第841题–钥匙和房间 ​ 有向图的遍历。dfs遍历3部曲做&#xff0c;思路也较顺----访问过的&a…

[COCI2021-2022#1] Logičari

题目描述 给定一个 n n n 个点的基环树&#xff0c;现在对基环树上的点染色&#xff0c;使得每个点都有且仅有一个与他相连的点&#xff08;不包括它自身&#xff09;被染色&#xff0c;求最少的染色点数&#xff0c;或者返回无解。 n n n 个点&#xff0c; n n n条边的连通无…

2023NOIP A层联测9-紫罗兰

给定一张 n n n 个顶点 m m m 条边的无向图&#xff0c;顶点的编号在 1 ∼ n 1 \sim n 1∼n 内&#xff0c;第 i i i 条无向边连接着顶点 x i x_i xi​ 与 y i y_i yi​。 我们称顶点 v 0 , v 1 , ⋯ , v k − 1 v_0,v_1,\cdots, v_{k-1} v0​,v1​,⋯,vk−1​ 构成了一…

acwing算法基础之搜索与图论--最小生成树问题

目录 1 基础知识2 模板3 工程化 1 基础知识 最小生成树&#xff1a;n个结点&#xff0c;选择n-1条边&#xff0c;使得它连通&#xff0c;并且边长之和最小。 对应的解决方法有&#xff1a; 1 prim算法 1.1 朴素版的prim算法。时间复杂度为O(n^2)&#xff0c;适用于稠密图。 1…

【题解】JZOJ3852 单词接龙

题意 单词接龙&#xff0c;但是后两个字母匹配。求匹配环的单词平均长度的最大值。 正解 单词为边&#xff0c;前后两组字母为点&#xff0c;于是这个图只有 2 6 2 26^2 262 个点。问题转化为求环的平均边长的最大值。 二分这个答案&#xff0c;所有边都减去这个值。若存在…

【高阶数据结构】图详解第三篇:最小生成树(Kruskal算法+Prim算法)

文章目录 最小生成树1. 最小生成树概念2. Kruskal算法算法思想代码实现测试 3. Prim算法算法思想代码实现测试 4. 源码 最小生成树 1. 最小生成树概念 在了解最小生成树之前&#xff0c;我们先来回顾一下生成树的概念&#xff0c;这是我们之前文章提到过的&#xff1a; 无向图…

栈实现深度优先搜索

引言 之前刚学DFS的时候并不完全理解为什么递归可以一直往下做&#xff0c;后来直到了递归的本质是栈&#xff0c;就想着能不能手写栈来代替递归呢。当时刚学&#xff0c;自己觉得水平不够就搁置了这个想法&#xff0c;今天上数据结构老师正好讲了栈的应用&#xff0c;其中就有…

求最小生成树(kruskal)

859. Kruskal算法求最小生成树 - AcWing题库 AC代码&#xff1a; #include <iostream> #include <cstring> #include <algorithm>using namespace std;const int N 100010, M 200010; int n,m; int p[N]; struct Edge{int a,b,w;bool operator <(co…

时间复杂度O(40n*n)的C++算法:修改图中的边权

本篇源码下载 点击下载 1.12.1. 题目 给你一个 n 个节点的 无向带权连通 图&#xff0c;节点编号为 0 到 n - 1 &#xff0c;再给你一个整数数组 edges &#xff0c;其中 edges[i] [ai, bi, wi] 表示节点 ai 和 bi 之间有一条边权为 wi 的边。 部分边的边权为 -1&#xff08…

38.迪杰斯特拉(Dijkstra)算法

概述 我们在上一篇中面对修路的问题讲述了普利姆算法的实现方式&#xff0c;本篇我们参照迪杰斯特拉算法来对修路问题做进一步拆解。 我们回顾一下之前的问题&#xff1a; “要想富&#xff0c;先修路”&#xff0c;郝乡长最近为了德胜乡修路的事情愁白了头。 得胜乡有A、B、C…

代码随想录——图论一刷day02

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣695. 岛屿的最大面积二、力扣1020. 飞地的数量三、力扣1254. 统计封闭岛屿的数目 前言 一、力扣695. 岛屿的最大面积 淹没岛屿的递归 class Solution…

代码随想录——图论一刷day04

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣127. 单词接龙二、力扣841.钥匙和房间三、力扣463. 岛屿的周长 前言 一、力扣127. 单词接龙 class Solution {public int ladderLength(String beginW…

【数据结构】单链表的相关操作(头插和尾插建立)

建立单链表 头插法建立单链表带头结点的不带头结点的 尾插法建立单链表带头结点的不带头结点的 头插法建立单链表 头插法建立一个单链表&#xff1a;每次都是在单链表的头部插入结点&#xff0c;从而建立一个单链表。 带头结点的&#xff1a;就是每次都插在头结点后面的第一个…

数据结构复盘——第六章:图

文章目录 第一部分&#xff1a;图的一些专业术语1、有向图和无向图2、简单图和多重图3、完全图&#xff08;也称简单完全图&#xff09;4、稠密图和稀疏图5、邻接点6、连通&#xff0c;连通图和连通分量7、强连通&#xff0c;强连通图和强连通分量8、路径&#xff0c;路径长度和…

树的基本操作(数据结构)

树的创建 //结构结点 typedef struct Node {int data;struct Node *leftchild;struct Node *rightchild; }*Bitree,BitNode;//初始化树 void Create(Bitree &T) {int d;printf("输入结点(按0为空结点):");scanf("%d",&d);if(d!0){T (Bitree)ma…

Meta Hacker Cup 2023 Round 1 题解

Problem A: Here Comes Santa Claus 给一个数列&#xff0c;要求分成若干组&#xff0c;要求每组至少2个数&#xff0c;使得所有组中位数的最大值与最小值之差尽量大&#xff0c;求这个值。 #include<bits/stdc.h> using namespace std; #define For(i,n) for(int i1;…

图详解第五篇:单源最短路径--Bellman-Ford算法

文章目录 单源最短路径--Bellman-Ford算法1. 算法思想2. 图解3. 代码实现4. 测试5. 优化循环的提前跳出队列优化 6. 负权回路&#xff08;负权环&#xff09;判定7. 源码 Dijkstra算法只能用来解决正权图的单源最短路径问题&#xff0c;但有些题目会出现负权图。这时这个算法就…

图论02-【无权无向】-图的深度优先遍历

文章目录 1. 代码仓库2. 深度优先遍历图解3. 主要代码3.1 dfs递归的主要代码 - 先序遍历和后序遍历3.2 dfs非递归的主要代码 - 使用栈3.3 递归与非递归遍历出来的顺序不一致3.4 标记不同的联通分量 4. 完整代码4.1 CC.java4.2 Graph.java 1. 代码仓库 https://github.com/Chufe…

图论03-【无权无向】-图的深度优先遍历-路径问题/检测环/二分图

文章目录 1. 代码仓库2. 单源路径2.1 思路2.2 主要代码 3. 所有点对路径3.1 思路3.2 主要代码 4. 路径问题的优化-提前结束递归4.1 思路4.2 主要代码 5. 检测环5.1 思路5.2 主要代码 5. 二分图5.1 思路5.2 主要代码5.2.1 遍历每个联通分量5.2.2 递归判断相邻两点的颜色是否一致…

图论05-【无权无向】-图的广度优先遍历-路径问题/检测环/二分图/最短路径问题

文章目录 1. 代码仓库2. 单源路径2.1 思路2.2 主要代码 3. 所有点对路径3.1 思路3.2 主要代码 4. 联通分量5. 环检测5.1 思路5.2 主要代码 6. 二分图检测6.1 思路6.2 主要代码6.2.1 遍历每个联通分量6.2.2 判断相邻两点的颜色是否一致 7. 最短路径问题7.1 思路7.2 代码 1. 代码…

最小生成树笔记

生成树&#xff1a;删去一些边&#xff0c;使图变成树。 对于 n n n 个点的图&#xff0c;生成树有 n − 1 n-1 n−1 条边。 最小生成树&#xff1a;所有生成树中边权最小的。 对于一个图&#xff0c;不存在最大/最小生成树的条件是并查集里面没有 n n n 个点&#xff0c;…

图论与网络优化

2.概念与计算 2.1 图的定义 图(graph) G G G 是一个有序的三元组&#xff0c;记作 G < V ( G ) , E ( G ) , ψ ( G ) > G<V(G),E(G),\psi (G)> G<V(G),E(G),ψ(G)>。 V ( G ) V(G) V(G) 是顶点集。 E ( G ) E(G) E(G) 是边集。 ψ ( G ) \psi (G) ψ(G…

网络流与线性规划24题记录

是早就听说过 但是我太菜了根本不会 的网络流 24 24 24 题呢。 主要是因为今天&#xff08;2023/2/22&#xff09;发现了一道很水的可以用分层图解决的水题——汽车加油行驶问题&#xff0c;于是就开了这篇文章。 那就开始吧。 汽车加油行驶问题 Portal. 考虑 K K K 的数…

图论06-【无权无向】-图的遍历并查集Union Find-力扣695为例

文章目录 1. 代码仓库2. 思路2.1 UF变量设计2.2 UF合并两个集合2.3 查找当前顶点的父节点 find(element) 3. 完整代码 1. 代码仓库 https://github.com/Chufeng-Jiang/Graph-Theory 2. 思路 2.1 UF变量设计 parent数组保存着每个节点所指向的父节点的索引&#xff0c;初始值为…

图详解第六篇:多源最短路径--Floyd-Warshall算法(完结篇)

文章目录 多源最短路径--Floyd-Warshall算法1. 算法思想2. dist数组和pPath数组的变化3. 代码实现4. 测试观察5. 源码 前面的两篇文章我们学习了两个求解单源最短路径的算法——Dijkstra算法和Bellman-Ford算法 这两个算法都是用来求解图的单源最短路径的算法&#xff0c;区别在…

代码随想录图论 第三天 | 130. 被围绕的区域 417. 太平洋大西洋水流问题

代码随想录图论 第三天 | 130. 被围绕的区域 417. 太平洋大西洋水流问题 一、130. 被围绕的区域 题目链接&#xff1a;https://leetcode.cn/problems/surrounded-regions/ 思路&#xff1a;题目要求沾边的不动&#xff0c;只改没沾边的&#xff0c;那么可以先dfs遍历4条边&am…

高阶数据结构学习 —— 图(1)

文章目录 1、并查集2、了解图3、邻接矩阵4、压缩路径5、基本概念6、邻接表 1、并查集 并查集是一个森林&#xff0c;是由多棵树组成的。这相当于整套数据&#xff0c;分成多个集合。查找有交集的集合们&#xff0c;会把它们合并起来&#xff0c;所以叫并查集。 一开始拿到的是…

高阶数据结构学习 —— 图(2)

文章目录 1、BFS1、DFS 1、BFS 广度优先。确定从哪个点开始&#xff0c;然后用队列来完成遍历。拿出一个点就把和这个点相连的其它点放进去&#xff0c;但是这样前面放进过队列的也有可能被再次放入&#xff0c;所以需要做好标记。一个队列&#xff0c;一个标记容器。在邻接矩…

codeforces (C++ Doremy‘s Paint 3)

题目&#xff1a; 翻译&#xff1a; 思路&#xff1a; 1、题目意思&#xff1a;将数组中的数进行排列&#xff0c;任意相邻两个数的和都相等&#xff0c;才能说这个数组为好。一下分三种情况讨论。 2、当数组中有三种及三种以上的数字&#xff0c;那任意相邻两个数的和都相等必…

代码随想录图论 第四天| 827.最大人工岛 127. 单词接龙

代码随想录图论 第四天 | 827.最大人工岛 127. 单词接龙 一、827.最大人工岛 题目链接&#xff1a;https://leetcode.cn/problems/making-a-large-island/ 思路&#xff1a; class Solution {int[][] position {{-1, 0}, {1, 0}, {0, -1}, {0, 1}};int dfs(int[][] grid, i…

数学知识:高斯消元

用初等行变化得出最简阶梯型矩阵 &#xff08;第一个数为1&#xff09; 高斯消元解线性方程组&#xff1a; #include <iostream> #include <algorithm> #include <cmath>using namespace std;const int N 110; const double eps 1e-6;//c有误差&#xff…

【算法】Prim算法(求最小生成树)

题目 给定一个 n 个点 m 条边的无向图&#xff0c;图中可能存在重边和自环&#xff0c;边权可能为负数。 求最小生成树的树边权重之和&#xff0c;如果最小生成树不存在则输出 impossible。 给定一张边带权的无向图 G(V,E)&#xff0c;其中 V 表示图中点的集合&#xff0c;E…

图的深度优先遍历的六种应用附Java代码

目录 无向图的连通分量个数 单纯求出了连通分量个数 能具体返回哪几个点是同一个连通分量 路径问题 单源路径问题 从某个顶点到另一个顶点的路径问题 检测无向图中的环 二分图的检测 无向图的连通分量个数 单纯求出了连通分量个数 import java.util.ArrayList;publi…

代码随想录图论并查集 | 第六天 1971. 寻找图中是否存在路径 684.冗余连接

代码随想录图论并查集 | 第六天 1971. 寻找图中是否存在路径 684.冗余连接 一、1971. 寻找图中是否存在路径 题目链接&#xff1a;https://leetcode.cn/problems/find-if-path-exists-in-graph/ 思路&#xff1a;典型并查集模板题。 class Solution {int[] father null;pub…

代码随想录Day41-图论:力扣第797m、200m、695m、1020m、130m题

797m. 所有可能的路径 题目链接 代码随想录文章讲解链接 方法一&#xff1a;DFS 用时&#xff1a;11m43s 思路 时间复杂度&#xff1a; O ( n ⋅ 2 n ) O(n \cdot 2^n) O(n⋅2n)&#xff0c;n是节点个数&#xff0c;最坏情况每个节点都可以去往任意一个在它后面的节点&…

图论问题建模和floodfill算法

目录 引入&#xff1a;leetcode695.岛屿的最大面积 分析与转换 一维二维转换 四联通 完整代码解答&#xff1a; 1&#xff09;显示的创建图解决问题的代码 2&#xff09;不显示的创建图解决此问题的代码 floodfill算法 定义 引入&#xff1a;leetcode695.岛屿的最大面…

图论08-图的建模-状态的表达与理解 - 倒水问题为例

文章目录 状态的表达例题1题解1 终止条件&#xff1a;有一个数位为42 状态的改变&#xff1a;a表示十位数&#xff0c;b表示个位数3 其他设置 例题2 力扣773 滑动谜题JavaC 状态的表达 例题1 从初始的(x&#xff0c;y)状态&#xff0c;到最后变成&#xff08;4&#xff0c;&am…

[补题记录] Codeforces Round 906 (Div. 2)(A~D)

URL&#xff1a;https://codeforces.com/contest/1890 目录 A Problem/题意 Thought/思路 Code/代码 B Problem/题意 Thought/思路 Code/代码 C Problem/题意 Thought/思路 Code/代码 D Problem/题意 Thought/思路 Code/代码 A Problem/题意 给出一个数组 A…

桥和割点,以及图的遍历树

目录 什么是桥 寻找桥的算法 代码实现 什么是割点 ​寻找割点的算法 代码实现 什么是桥 寻找桥的算法 代码实现 import java.util.ArrayList;public class FindBridges {private Graph G;private boolean[] visited;private int ord[];private int low[];private int cnt…

Peter算法小课堂—单调子序列

最长上升子序列 dp解法&#xff1a; f[i]表示以i结尾的最长上升子序列的长度 按照倒数第二个选谁分类&#xff1a; 我们先扫描i号元素前的每个元素&#xff08;正向&#xff09;&#xff0c;找出第一个比i号元素小的元素k号。①仍然选i号元素&#xff0c;f[i]。②选k号&…

次小生成树学习笔记

次小生成树有严格次小生成树和非严格次小生成树之分。常见的是严格次小生成树。 严格次小生成树的定义如下&#xff1a; 如果最小生成树选择的边集是 E M E_M EM​&#xff0c;严格次小生成树选择的边集是 E S E_S ES​&#xff0c;那么需要满足&#xff1a;( v a l u e ( e…

P2910 [USACO08OPEN] Clear And Present Danger S

Portal. 最短路。 考虑到数据范围 N ≤ 100 N\leq 100 N≤100&#xff0c;可以用 Floyd 算法解决。 对于要求的行走序列&#xff0c;按顺序累加答案即可。 注意数组大小。 #include <bits/stdc.h> using namespace std; #define int long longint A[10005],f[105][…

算法进阶指南图论 通信线路

通信线路 思路&#xff1a;我们考虑需要升级的那条电缆的花费&#xff0c;若其花费为 w &#xff0c;那么从 1 到 n 的路径上&#xff0c;至多存在 k 条路径的价值大于 w &#xff0c;这具有一定的单调性&#xff0c;当花费 w 越大&#xff0c;我们路径上价值大于 w 的花费会越…

acwing算法基础之搜索与图论--树与图的遍历

目录 1 基础知识2 模板3 工程化 1 基础知识 树和图的存储&#xff1a;邻接矩阵、邻接表。 树和图的遍历&#xff1a;dfs、bfs。 2 模板 树是一种特殊的图&#xff08;即&#xff0c;无环连通图&#xff09;&#xff0c;与图的存储方式相同。 对于无向图中的边ab&#xff0c;…

【图论实战】 Boost学习 03:dijkstra_shortest_paths

文章目录 示例代码 示例 最短路径: A -> C -> D -> F -> E -> G 长度 16 代码 #include <iostream> #include <boost/graph/adjacency_list.hpp> #include <boost/graph/dijkstra_shortest_paths.hpp> #include <boost/graph/graphviz.h…

acwing算法基础之搜索与图论--堆优化版dijkstra算法

目录 1 基础知识2 模板3 工程化 1 基础知识 堆优化版dijkstra算法的关键步骤&#xff1a; 初始化距离数组为正无穷&#xff0c;然后d[1] 0。定义集合S&#xff0c;表示当前已经确定到1号结点的最短距离的结点们。定义小根堆&#xff0c;插入1号结点和d[1]。如果小根堆不为空…

acwing算法基础之搜索与图论--朴素版dijkstra算法

目录 1 基础知识2 模板3 工程化 1 基础知识 朴素版dijkstra算法的关键步骤&#xff1a; 初始化d[1]0&#xff0c;d[2~n]正无穷&#xff0c;例如0x3f3f3f3f。用集合S来表示当前已被确定最小距离的结点们。遍历每一个结点&#xff1a;找到不在S中的且距离结点1最近的结点&#…

acwing算法基础之搜索与图论--spfa算法

目录 1 基础知识2 模板3 工程化 1 基础知识 存在负权边时&#xff0c;使用spfa算法来求解最短路问题&#xff0c;它的时间复杂度为O(m)。 spfa算法求最短路问题的关键步骤&#xff1a; 初始化距离数组dist为正无穷大&#xff0c;然后d[1] 0。定义队列q&#xff0c;将1号结点…

C++算法:矩阵中的最长递增路径

涉及知识点 拓扑排序 题目 给定一个 m x n 整数矩阵 matrix &#xff0c;找出其中 最长递增路径 的长度。 对于每个单元格&#xff0c;你可以往上&#xff0c;下&#xff0c;左&#xff0c;右四个方向移动。 你 不能 在 对角线 方向上移动或移动到 边界外&#xff08;即不允…

acwing算法基础之搜索与图论--kruskal算法

目录 1 基础知识2 模板3 工程化 1 基础知识 kruskal算法的关键步骤为&#xff1a; 将所有边按照权重从小到大排序。定义集合S&#xff0c;表示生成树。枚举每条边(a,b,c)&#xff0c;起点a&#xff0c;终点b&#xff0c;边长c。如果结点a和结点b不连通&#xff08;用并查集来…

【图论实战】Boost学习 02:基本类型

/* 顶点 */ // 描述 typedef boost::graph_traits < graph_t >::vertex_descriptor vertex_descriptor; // 迭代器方式一&#xff1a;vp中的一对迭代器分别指向第一个顶点和最后的一个顶点之后 typedef boost::graph_traits < graph_t >::vertex_iterator vi…

图论13-最小生成树-Kruskal算法+Prim算法

文章目录 1 最小生成树2 最小生成树Kruskal算法的实现2.1 算法思想2.2 算法实现2.2.1 如果图不联通&#xff0c;直接返回空&#xff0c;该图没有mst2.2.2 获得图中的所有边&#xff0c;并且进行排序2.2.2.1 Edge类要实现Comparable接口&#xff0c;并重写compareTo方法 2.2.3 取…

【算法】牛的旅行(图的直径,floyd算法求最短路)

题目 农民John的农场里有很多牧区&#xff0c;有的路径连接一些特定的牧区。 一片所有连通的牧区称为一个牧场。 但是就目前而言&#xff0c;你能看到至少有两个牧区不连通。 现在&#xff0c;John想在农场里添加一条路径&#xff08;注意&#xff0c;恰好一条&#xff09;。 一…

PTA 哈密尔回路(建图搜索)

题目 著名的“汉密尔顿&#xff08;Hamilton&#xff09;回路问题”是要找一个能遍历图中所有顶点的简单回路&#xff08;即每个顶点只访问 1 次&#xff09;。本题就要求你判断任一给定的回路是否汉密尔顿回路。 输入格式&#xff1a; 首先第一行给出两个正整数&#xff1a…

【算法】繁忙的都市(Kruskal算法)

题目 城市C是一个非常繁忙的大都市&#xff0c;城市中的道路十分的拥挤&#xff0c;于是市长决定对其中的道路进行改造。 城市C的道路是这样分布的&#xff1a; 城市中有 n 个交叉路口&#xff0c;编号是 1∼n &#xff0c;有些交叉路口之间有道路相连&#xff0c;两个交叉…

图论15-有向图-环检测+度数+欧拉回路

文章目录 1. 有向图设计1.1 私有变量标记是否有向1.2 添加边的处理&#xff0c;双向变单向1.3 删除边的处理&#xff0c;双向变单向1.4 有向图的出度和入度 2 有向图的环检测2.1 普通的算法实现换检测2.2 拓扑排序中的环检测 3 欧拉回路 1. 有向图设计 1.1 私有变量标记是否有…

【算法每日一练]-图论(保姆级教程 篇1(模板篇)) #floyed算法 #dijkstra算法 #spfa算法

今天开始讲图论 目录 图的存储 算任意两点的最短路径: floyed算法&#xff1a; 算一个点到其他所有点的最短距离 dijkstra算法: spfa算法&#xff1a; 图的存储 其实&#xff1a;邻接矩阵和链式向前星都能存边的信息&#xff0c;vector只能存点的信息&#xff0c;再搭配上v[]…

Prim算法(C++)

目录 介绍&#xff1a; 代码&#xff1a; 结果&#xff1a; 介绍&#xff1a; Prim算法是一种用于解决最小生成树问题的贪心算法。该算法的主要思想是从一个顶点开始&#xff0c;不断向图中添加边&#xff0c;直到构成一棵包含所有顶点的生成树&#xff0c;使得树的边权之…

F : DS图遍历--广度优先搜索

Description 给出一个图的邻接矩阵&#xff0c;对图进行广度优先搜索&#xff0c;从顶点0开始 注意&#xff1a;图n个顶点编号从0到n-1 如果图不连通&#xff0c;则对尚未访问的编号结点继续进行广度优先搜索&#xff0c;直到所有结点被访问 Input 第一行输入t&#xff0c…

【图论】最小生成树(python和cpp)

文章目录 一、声明二、简介三、代码C代码Python代码 一、声明 本帖持续更新中如有纰漏望指正&#xff01; 二、简介 &#xff08;a&#xff09;点云建立的k近邻图&#xff08;b&#xff09;k近邻图上建立的最小生成树 最小生成树 (Minimum Spanning Tree&#xff0c;简称 M…

图论17-有向图的强联通分量-Kosaraju算法

文章目录 1 概念2 Kosaraju算法2.1 在图类中设计反图2.2 强连通分量的判断和普通联通分量的区别2.3 代码实现 1 概念 2 Kosaraju算法 对原图的反图进行DFS的后序遍历。 2.1 在图类中设计反图 // 重写图的构造函数public Graph(TreeSet<Integer>[] adj, boolean dire…

免费图像压缩工具分享:15 个最佳免费图像压缩工具

您想在将图像上传到网上之前对其进行压缩吗&#xff1f;优化摄影网站的图像将有助于您的网站加载速度更快。而且&#xff0c;更快的加载速度意味着更好的搜索引擎排名&#xff01;在本指南中&#xff0c;我们将分享用于图像压缩的最佳免费图像优化工具。 许多照片编辑程序&…

【算法】复习搜索与图论

&#x1f34e; 博客主页&#xff1a;&#x1f319;披星戴月的贾维斯 &#x1f34e; 欢迎关注&#xff1a;&#x1f44d;点赞&#x1f343;收藏&#x1f525;留言 &#x1f347;系列专栏&#xff1a;&#x1f319; 蓝桥杯 &#x1f319;请不要相信胜利就像山坡上的蒲公英一样唾手…

数据结构详细笔记——图

文章目录 图的定义图的存储邻接矩阵法邻接表法邻接矩阵法与邻接表法的区别 图的基本操作图的遍历广度优先遍历&#xff08;BFS&#xff09;深度优先遍历&#xff08;DFS&#xff09;图的遍历和图的连通性 图的定义 图G由顶点集V和边集E组成&#xff0c;记为G(V,E)&#xff0c;…

图论| 827. 最大人工岛 127. 单词接龙

827. 最大人工岛 题目&#xff1a;给你一个大小为 n x n 二进制矩阵 grid 。最多 只能将一格 0 变成 1 。返回执行此操作后&#xff0c;grid 中最大的岛屿面积是多少&#xff1f; 岛屿 由一组上、下、左、右四个方向相连的 1 形成。 题目链接&#xff1a;[827. 最大人工岛](ht…

【算法】距离(最近公共祖先节点)

题目 给出 n 个点的一棵树&#xff0c;多次询问两点之间的最短距离。 注意&#xff1a; 边是无向的。所有节点的编号是 1,2,…,n。 输入格式 第一行为两个整数 n 和 m。n 表示点数&#xff0c;m 表示询问次数&#xff1b; 下来 n−1 行&#xff0c;每行三个整数 x,y,k&am…

【算法每日一练]-图论(保姆级教程 篇5(LCA,最短路,分层图)) #LCA #最短路计数 #社交网络 #飞行路线 # 第二短路

今天讲最短路统计和分层图 目录 题目&#xff1a;LCA 思路&#xff1a; 题目&#xff1a;最短路计数 思路&#xff1a; 题目&#xff1a;社交网络 思路&#xff1a; 题目&#xff1a;飞行路线 思路&#xff1a; 题目&#xff1a;第二短路 思路&#xff1a; 题目&a…

【算法日志】图论 并查集及其简单应用

【算法日志】图论: 并查集及其简单应用 并查集概论 并查集是一种算法设计思想&#xff0c;通过判断两个元素是否在同一个集合里&#xff0c;常用来解决一些和图相关的连通性问题。 并查集主要有以下两个功能&#xff1a; 将两个元素添加到一个集合中。判断两个元素是否是在…

图论 2023.11.20

次短路 P2829 大逃离 题意&#xff1a;给定一个无向图&#xff0c;入口1&#xff0c;出口n,求第二短路的值 一个节点所直接连接的地方小于k个&#xff08;起点和终点除外&#xff09;&#xff0c;那么他就不敢进去。 n<5000&#xff0c;m<100000 思路&#xff1a;次短路…

基环树(pseudotree)入门

目录 无向基环树找环&#xff0c;[题目](https://www.luogu.com.cn/problem/P8655)拓扑排序找环并查集找环dfs找环 内向基环树[2876. 有向图访问计数](https://leetcode.cn/problems/count-visited-nodes-in-a-directed-graph/description/)[2127. 参加会议的最多员工数](https…

数据结构【DS】图的基本概念

定义 完全图(简单完全图) 完全无向图&#xff1a;边数为&#x1d427;&#x1d427;−&#x1d7cf;&#x1d7d0;完全有向图&#xff1a;边数为 &#x1d427;(&#x1d427;−&#x1d7cf;) 子图、生成子图 G的子图&#xff1a;所有的顶点和边都属于图G的图 G的生成子图…

《洛谷深入浅出基础篇》 图的基本应用

什么是图&#xff1f; 我们在生活中学习中能看见很多图&#xff0c;地图&#xff0c;路线图&#xff0c;思维导图等等&#xff0c;它们都有一个特点&#xff0c; 你从中任找一个点&#xff0c;你可以找到&#xff0c;从这个点出发&#xff0c;能够到达什么地方&#xff0c;也…

【数据结构】B : DS图应用--最短路径

B : DS图应用–最短路径 文章目录 B : DS图应用--最短路径DescriptionInputOutputSampleInput Output 解题思路&#xff1a;初始化主循环心得&#xff1a; AC代码 Description 给出一个图的邻接矩阵&#xff0c;再给出指定顶点v0&#xff0c;求顶点v0到其他顶点的最短路径 In…

NOIP2023模拟4联测25 B. 多边形

NOIP2023模拟4联测25 B. 多边形 文章目录 NOIP2023模拟4联测25 B. 多边形题目大意思路code 题目大意 给你一个正 n n n 边形&#xff0c;每个点有三种颜色&#xff0c;红、蓝、绿。现在你想要连接 n − 3 n - 3 n−3 条对角线&#xff0c;使得这些对角线把整个图形分成了 n…

PTA 六度空间

“六度空间”理论又称作“六度分隔&#xff08;Six Degrees of Separation&#xff09;”理论。这个理论可以通俗地阐述为&#xff1a;“你和任何一个陌生人之间所间隔的人不会超过六个&#xff0c;也就是说&#xff0c;最多通过五个人你就能够认识任何一个陌生人。”如图1所示…

【图论】关键路径求法c++

代码结构如下图&#xff1a; 其中topologicalSort(float**, int, int*, bool*, int, int)用来递归求解拓扑排序&#xff0c;topologicalSort(float**, int*&, int, int, int)传参图的邻接矩阵mat与结点个数n&#xff0c;与一个引用变量数组topo&#xff0c;返回一个布尔值…

电子学会C/C++编程等级考试2021年09月(二级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:字符统计 给定一个由a-z这26个字符组成的字符串,统计其中哪个字符出现的次数最多。输入 输入包含一行,一个字符串,长度不超过1000。输出 输出一行,包括出现次数最多的字符和该字符出现的次数,中间以一个空格分开。如果有多…

电子学会C/C++编程等级考试2022年12月(二级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:数组逆序重放 将一个数组中的值按逆序重新存放。例如,原来的顺序为8,6,5,4,1。要求改为1,4,5,6,8。输入 输入为两行:第一行数组中元素的个数n(1输出 输出为一行:输出逆序后数组的整数,每两个整数之间用空格分隔。样例输入 …

软件学院PTA天梯赛初赛选拔赛题解

目录 7-2 生肖确定&#xff08;模拟&#xff09; AC代码&#xff1a; 7-3 韩信点兵&#xff08;模拟&#xff09; AC代码&#xff1a; 7-4 程序员买包子&#xff08;模拟&#xff09; AC代码&#xff1a; 7-5 h0078. 蛇形矩阵变形 AC代码&#xff1a; 7-6 军事体能成绩…

校园导游程序及通信线路设计(结尾附着总源码)

校园导游程序及通信线路设计 摘  要 新生或来访客人刚到校园&#xff0c;对校园的环境不熟悉。就需要一个导游介绍景点&#xff0c;推荐到下一个景点的最佳路径等。随着科技的发展&#xff0c;社会的进步&#xff0c;人们对便捷的追求也越来越高。为了减少人力和时间。针对对…

树套树 (线段树+splay)

树套树&#xff0c;就是线段树、平衡树、树状数组等数据结构的嵌套。 最简单的是线段树套set&#xff0c;可以解决一些比较简单的问题&#xff0c;而且代码根线段树是一样的只是一些细节不太一样。 本题中用的是线段树套splay&#xff0c;代码较长。 树套树中的splay和单一的…

【蓝桥杯 LCA 差分】 砍树

题目分析&#xff1a; 这道题还是比较裸的一道书上差分的题目了 对于每一对标记点(x,y) 他们之间的路径就是 x − > L C A ( x , y ) − > y x->LCA(x,y)->y x−>LCA(x,y)−>y 这条路径上的每一条边都要经过。 那么对于一条边&#xff0c;什么时候砍掉这条…

算法基础之字符串哈希

字符串哈希 核心思想&#xff1a;用p(131或者13331)进制数储存字符串每一位数的hash值 L—R的哈希值 h[R]-h[L-1]*PR-L1 哈希值很大—>modQ(264)变小 用unsigned long long 存 (出界) #include<iostream>using namespace std;typedef unsigned long long ULL;co…

代码随想录图论|463. 岛屿的周长

题目&#xff1a; 给定一个 row x col 的二维网格地图 grid &#xff0c;其中&#xff1a;grid[i][j] 1 表示陆地&#xff0c; grid[i][j] 0 表示水域。网格中的格子 水平和垂直 方向相连&#xff08;对角线方向不相连&#xff09;。整个网格被水完全包围&#xff0c;但其中恰…

图论|841钥匙和房间

题目&#xff1a; 有 n 个房间&#xff0c;房间按从 0 到 n - 1 编号。最初&#xff0c;除 0 号房间外的其余所有房间都被锁住。你的目标是进入所有的房间。然而&#xff0c;你不能在没有获得钥匙的时候进入锁住的房间。当你进入一个房间&#xff0c;你可能会在里面找到一套不同…

【管理运筹学】背诵手册(六)| 图与网络分析(最大流问题,最小费用最大流问题)

六、图与网络分析 最大流问题 最大流问题的数学规划模型为&#xff1a; max ⁡ v f 12 f 13 { f 12 f 13 − f 57 − f 67 0 f 13 f 23 f 34 f 35 . . . 0 ≤ f i j ≤ c i j \max vf_{12}f_{13}\\ \begin{cases} f_{12}f_{13}-f_{57}-f_{67}0 \\ f_{13}f_{23}f_{34}f…

11.28~11.29基本二叉树的性质、定义、复习;排序算法;堆

完全二叉树&#xff08;Complete Binary Tree&#xff09;是一种特殊的二叉树结构&#xff0c;它具有以下特点&#xff1a; 所有的叶子节点都集中在树的最后两层&#xff1b;最后一层的叶子节点都靠左排列&#xff1b;除了最后一层&#xff0c;其他层的节点数都达到最大值。 …

C# IList 与List区别二叉树的层序遍历

IList 接口&#xff1a; IList 是一个接口&#xff0c;定义了一种有序集合的通用 API。继承自 ICollection 接口和IEnumerable<T>&#xff0c;是所有泛型列表的基接&#xff0c;口它提供了对列表中元素的基本操作&#xff0c;如添加、删除、索引访问等。IList 不是一个具…

c++模板集合

模板目录 小技巧数据结构区间操作树上操作可并堆平衡树图论相关可持久化 图论树论二分图最短路最小生成树网络流其他 DP字符串字符串匹配其他 数学数论技巧进制其他 洛谷原版 \rule{120pt}{30pt}\kern{-85pt}\color{white}\raisebox{12pt}{\sf 洛谷原版} 洛谷原版 小技巧 卡常…

Python高级数据结构——图论算法(Graph Algorithms)

Python中的图论算法&#xff08;Graph Algorithms&#xff09;&#xff1a;高级数据结构解析 图是一种由节点&#xff08;顶点&#xff09;和边组成的数据结构&#xff0c;用于表示不同元素之间的关系。图论算法旨在解决与图相关的问题&#xff0c;例如路径查找、最短路径、最…

最小生成树(简单讲解,通俗易懂)

什么是树呢&#xff1f; 有三个特点&#xff1a; 无向图&#xff0c;连通&#xff0c;无环 其他性质&#xff1a;树中点的个数总是比边的个数多1&#xff0c;根节点没有父节点&#xff0c;树中节点的度数之和等于其边数。 树&#xff08;tree&#xff09;是一种特殊的图&am…

1380 一笔画问题

如果一个无向图存在一笔画&#xff0c;则一笔画的路径叫做欧拉路&#xff0c;如果最后又回到起点&#xff0c;那这个路径叫做欧拉回路。 #include<bits/stdc.h> using namespace std; #define N 510 int g[N][N],d[N],c[N],n,m,reckon,oddity_point,lt; void dfs(int i)…

【算法每日一练]-结构优化(保姆级教程 篇6 分块,倍增)#HDU4417超级马里奥 #poj2019玉米田 #POJ3368频繁值

今天知识点&#xff1a; 区间统计不超过h的值&#xff1b; 查询二维区间的极差&#xff1b; 求区间最频繁数&#xff1b; 目录 HDU4417&#xff1a;超级马里奥 思路&#xff1a; poj2019:玉米田 思路&#xff1a; POJ3368:频繁值 思路&#xff1a; HDU4417&#xff1…

【C++数据结构 | 图速通】10分钟掌握邻接矩阵 邻接表 | 快速掌握图论基础 | 快速上手抽象数据类型图

图 by.Qin3Yu 请注意&#xff1a;严格来说&#xff0c;图不是一种数据结构&#xff0c;而是一种抽象数据类型。但为了保证知识点之间的相关性&#xff0c;也将其列入数据结构专栏。 本文需要读者掌握顺序表和单链表的操作基础&#xff0c;若需学习&#xff0c;可参阅我的往期文…

电子学会C/C++编程等级考试2021年09月(五级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:抓牛 农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴上,农夫起始位于点N(0<=N<=100000),牛位于点K(0<=K<=100000)。农夫有两种移动方式: 1、从X移动到X-1或X+1,每次移动花费一分钟 2、从X移动到2*X,每…

【复杂网络建模】——基于Graph Convolutional Networks (GCN)进行链接预测

目录 一、复杂网络建模 二、图嵌入方法&#xff08;Graph Convolutional Networks (GCN) &#xff09; 1. 图表示&#xff1a; 2. 邻接矩阵&#xff08;Adjacency Matrix&#xff09;&#xff1a; 3. 图卷积层&#xff08;Graph Convolutional Layer&#xff09;&#xff…

Peter算法小课堂—并查集

我们先来看太戈编程467题 攀亲戚 题目描述&#xff1a; 最近你发现自己和古代一个皇帝长得很像&#xff1a;都有两个鼻子一个眼睛&#xff0c;你想知道这皇帝是不是你的远方亲戚&#xff0c;你是不是皇亲国戚。目前你能掌握的信息有m条&#xff0c;关于n个人&#xff1a;第i条…

【图论】树的直径

树的直径即为一棵树中距离最远的两点之间的路径 方法一&#xff1a;DFS 先以任意一点为起点跑一遍dfs&#xff0c;记录离起点距离最远的点p&#xff08;这个点一定是直径的一个端点&#xff0c;感性理解一下不证明了&#xff09;&#xff0c;然后再以最远点再跑一遍dfs&#…

图论:最短路(dijkstra算法、bellman算法、spfa算法、floyd算法)详细版

终于是学完了&#xff0c;这个最短路我学了好几天&#xff0c;当然也学了别的算法啦&#xff0c;也是非常的累啊。 话不多说下面看看最短路问题吧。 最短路问题是有向图&#xff0c;要求的是图中一个点到起点的距离&#xff0c;其中我们要输入点和点之间的距离&#xff0c;来求…

数学建模--PageRank算法的Python实现

文章目录 1. P a g e R a n k PageRank PageRank算法背景2. P a g e R a n k PageRank PageRank算法基础2.1. P a g e R a n k PageRank PageRank问题描述2.2.有向图模型2.3.随机游走模型 3. P a g e R a n k PageRank PageRank算法定义3.1. P a g e R a n k PageRank PageRank…

【动态规划】【广度优先搜索】【状态压缩】847 访问所有节点的最短路径

作者推荐 视频算法专题 本文涉及知识点 动态规划汇总 广度优先搜索 状态压缩 LeetCode847 访问所有节点的最短路径 存在一个由 n 个节点组成的无向连通图&#xff0c;图中的节点按从 0 到 n - 1 编号。 给你一个数组 graph 表示这个图。其中&#xff0c;graph[i] 是一个列…

[算法每日一练]-双指针 (保姆级教程篇 1) #A-B数对 #求和 #元音字母 #最短连续子数组 #无重复字符的最长子串 #最小子串覆盖 #方块桶

目录 A-B数对 解法一&#xff1a;双指针 解法二&#xff1a;STL二分查找 解法三&#xff1a;map 求和 元音字母 最短连续子数组 无重复字符的最长子串 最小子串覆盖 方块桶 双指针特点&#xff1a;双指针绝不回头 A-B数对 解法一&#xff1a;双指针 先把数列排列成…

neuq-acm预备队训练week 8 P1144 最短路计数

题目描述 给出一个 N 个顶点 M条边的无向无权图&#xff0c;顶点编号为 1∼N。问从顶点 1 开始&#xff0c;到其他每个点的最短路有几条。 题目限制 输入格式 第一行包含 22 个正整数 N,M&#xff0c;为图的顶点数与边数。 接下来 M 行&#xff0c;每行 2个正整数 x,y&…

图论专栏一《图的基础知识》

图论&#xff08;Graph Theory&#xff09;是数学的一个分支。它以图为研究对象。图论中的图是由若干给定的点及连接两点的线所构成的图形&#xff0c;这种图形通常用来描述某些实体之间的某种特定关系&#xff0c;用点代表实体&#xff0c;用连接两点的线表示两个实体间具有的…

DS冲刺整理做题定理(三)图论合集

第三期&#xff0c;总结性地来说一下图论&#xff0c;也是数据结构中最核心最难的一章~ 目录 一.图的基本概念 二.图的存储及其基本操作 三.图的遍历 四.图的应用 在数学中&#xff0c;图是描述于一组对象的结构&#xff0c;其中某些对象对在某种意义上是“相关的”。这些对…

0x21 树与图的遍历

0x21 树与图的遍历 树与图最常见的储存方式就是使用一个邻接表保存它们的边集。邻接表以head数组为表头&#xff0c;使用ver和edge数组分别存储边的终点和权值&#xff0c;使用next数组模拟链表指针&#xff08;就像我们在0x13节中讲解邻接表所给出的代码那样&#xff09;。 …

12.15每日一题(备战蓝桥杯摘花生)

12.15每日一题&#xff08;备战蓝桥杯摘花生&#xff09; 题目 摘花生 Hello Kitty想摘点花生送给她喜欢的米老鼠。 她来到一片有网格状道路的矩形花生地(如下图)&#xff0c;从西北角进去&#xff0c;东南角出来。 地里每个道路的交叉点上都有种着一株花生苗&#xff0c;上…

算法基础课之SPFA判断负环

SPFA判断负环 核心思想&#xff1a;spfa算法 当遍历一个点时 cnt数组记录边数 若有负环 边数会无限1 cnt>n是即为有负环 #include<iostream>#include<cstring>#include<algorithm>#include<queue>using namespace std;const int N 2010 , M 10010…

C++ 图论之树的重心和直径

1. 重心 什么是树的重心&#xff1f; 物理学而言&#xff0c;重心是指地球对物体中每一微小部分引力的合力作用点&#xff0c;物体受力最集中的那一个点。数学上的重心是指三角形的三条中线的交点。 树的重心也称为质点&#xff0c;有一个很官方的定义&#xff1a;如果在树中…

四色问题(图论)python

四色问题是一种著名的图论问题&#xff0c;它要求在给定的地图上给每个区域着一种颜色&#xff0c;使得相邻的区域颜色不同&#xff0c;而只使用四种颜色。这个问题可以通过图的着色来解决&#xff0c;其中图的节点表示区域&#xff0c;边表示相邻的关系。 在 Python 中&#…

【笔记】网络流算法模板

文章目录 EK求最大流题目描述输入格式输出格式数据范围 算法步骤算法时间复杂度 O ( n m 2 ) O(nm^2) O(nm2) AC CodeDinic/ISAP求最大流题目描述输入格式输出格式数据范围 算法步骤算法时间复杂度 O ( n 2 m ) O(n^2m) O(n2m) AC CodeDinic/ISAP求最小割EK求费用流题目描述输…

算法基础之欧拉函数

欧拉函数 核心思想&#xff1a;欧拉函数: 证明 &#xff1a;容斥原理 #include<iostream>#include<algorithm>using namespace std;const int N 110;int main(){int n;cin>>n;while(n--){int a;cin>>a;int res a;for(int i 2;i < a/i; i){if(a %…

Codeforces Round 916 (Div. 3)(A~E2)

A 统计一下每个字母的出现次数然后输出即可 #include <bits/stdc.h> #define rep(i,a,b) for(register int i (a); i < (b); i) #define fep(i,a,b) for(register int i (a); i > (b); --i) #define ls p<<1 #define rs p<<1|1 #define PII pair&l…

图论 | 网络流的基本概念

文章目录 流网路残留网络增广路径割最大流最小割定理最大流Edmonds-Karp 算法算法步骤程序代码时间复杂度 流网路 流网络&#xff1a; G ( V , E ) G (V, E) G(V,E) 有向图&#xff0c;不考虑反向边s&#xff1a;源点t&#xff1a;汇点 c ( u , v ) c(u, v) c(u,v)&#xff…

算法基础之扩展欧几里得算法

扩展欧几里得算法 核心思想&#xff1a;裴蜀定理 : 欧几里得算法: 辗转相除法求最大公约数 传入参数(int a,int b,int &x,int &y) 递归(int b,int a%b,int y,int x) xy换位置 方便计算(推公式) #include<iostream>#include<algorithm>using namespac…

AcWing算法进阶课-1.9.1Dinic/ISAP求最小割

算法进阶课整理 CSDN个人主页&#xff1a;更好的阅读体验 原题链接 题目描述 给定一个包含 n n n 个点 m m m 条边的有向图&#xff0c;并给定每条边的容量&#xff0c;边的容量非负。 图中可能存在重边和自环。求从点 S S S 到点 T T T 的最小割。 输入格式 第一行包…

数论与图论

数论&#x1f388; 筛质数 最普通的筛法O(nlogn)&#xff1a; void get_primes2(){for(int i2;i<n;i){if(!st[i]) primes[cnt]i;//把素数存起来for(int ji;j<n;ji){//不管是合数还是质数&#xff0c;都用来筛掉后面它的倍数st[j]true;}} } 诶氏筛法 O(nloglogn)&#…

C++图论之强连通图

1. 连通性 什么是连通性&#xff1f; 连通&#xff0c;字面而言&#xff0c;类似于自来水管道中的水流&#xff0c;如果水能从某一个地点畅通流到另一个地点&#xff0c;说明两点之间是连通的。也说明水管具有连通性&#xff0c;图中即如此。 无向图和有向图的连通概念稍有差…

Dijkstra(迪杰斯特拉)算法总结

知识概览 Dijkstra算法适用于解决所有边权都是正数的最短路问题。Dijkstra算法分为朴素的Dijkstra算法和堆优化版的Dijkstra算法。朴素的Dijkstra算法时间复杂度为&#xff0c;适用于稠密图。堆优化版的Dijkstra算法时间复杂度为&#xff0c;适用于稀疏图。稠密图的边数m和是一…

匈牙利算法总结

知识概览 匈牙利算法可以以较快的时间返回二分图的最大匹配数。匈牙利算法的时间复杂度是O(nm)&#xff0c;实际运行时间一般远小于O(nm)&#xff0c;可能是线性的也说不定。因为每次匹配时&#xff0c;比较几次就能匹配了。 例题展示 题目链接 861. 二分图的最大匹配 - AcWi…

AcWing 1128. 信使(单源最短路)

题目链接 活动 - AcWing 本课程系统讲解常用算法与数据结构的应用方式与技巧。https://www.acwing.com/problem/content/1130/ 题解 本质上是一个广播模型。对于每个点来说&#xff0c;它接收到信的时间&#xff0c;等于它到指挥部的最短距离。所有这些点的最短距离取一个最大…

AcWing 1129. 热浪(单源最短路)

题目链接 https://www.acwing.com/problem/content/1131/https://www.acwing.com/problem/content/1131/ 题解 此题属于单源最短路问题&#xff0c;根据数据范围&#xff0c;可以使用Dijkstra算法、堆优化版的Dijkstra算法、SPFA算法。本例采用SPFA算法&#xff0c;使用手写循…

代数结构与图论

文章目录 图的基本概念欧拉图与哈密顿图树平面图代数系统群与环格与布尔代数 图的基本概念 图的阶&#xff1a;图中的顶点数 &#xff0c;n 个顶点被称为 n 阶图零图&#xff1a;一条边都没有 平凡图&#xff1a;一阶零图基图&#xff1a;将有向图的各条有向边改成无向边所得到…

dfs专题 P1605 迷宫——洛谷(题解)

题目描述 给定一个 &#xfffd;&#xfffd;NM 方格的迷宫&#xff0c;迷宫里有 &#xfffd;T 处障碍&#xff0c;障碍处不可通过。 在迷宫中移动有上下左右四种方式&#xff0c;每次只能移动一个方格。数据保证起点上没有障碍。 给定起点坐标和终点坐标&#xff0c;每个方…

12.22最小生成树算法prim(dij松弛思想,堆优化),kruskal(并查集实现)

最小生成树 p算法是往树里加点&#xff0c;k算法是往树里加边 prim #include<iostream> #include<queue> using namespace std; #define re register #define il inline il int read() {re int x 0, f 1; char c getchar();while (c < 0 || c>9) { if …

算法基础之表达整数的奇怪方式

表达整数的奇怪方式 中国剩余定理: 求M 所有m之积 然后Mi M / mi x 如下图 满足要求 扩展中国剩余定理 找到x **使得x mod mi ai**成立 对于每两个式子 都可以推出①式 即 用扩展欧几里得算法 可以算出k1,-k2和m2–m1 判无解 : 若**(m2–m1) % d ! 0** 说明该等式无解 …

【每日一题】YACS 473:栈的判断

这是上海计算机学会竞赛 P 473 P473 P473&#xff1a;栈的判断&#xff08; 2021 2021 2021年 8 8 8月月赛 丙组 T 4 T4 T4&#xff09;标签&#xff1a;栈题意&#xff1a;给定 n n n个数字&#xff0c;已知这些数字的入栈顺序为 1 , 2 , 3... , n 1,2,3...,n 1,2,3...,n&…

【算法】走廊泼水节(最小生成树,完全图)

题目 给定一棵 N 个节点的树&#xff0c;要求增加若干条边&#xff0c;把这棵树扩充为完全图&#xff0c;并满足图的唯一最小生成树仍然是这棵树。 求增加的边的权值总和最小是多少。 注意&#xff1a; 树中的所有边权均为整数&#xff0c;且新加的所有边权也必须为整数。 …

1168. 水资源分配优化

Problem: 1168. 水资源分配优化 文章目录 思路解题方法复杂度Code 思路 这是一个最小生成树的问题。给定一个村庄的节点数量n&#xff0c;每个节点都需要供水。同时给定每个节点建井的成本wells和连接节点的管道的成本pipes。需要找到一种最小成本的方案&#xff0c;使得每个节…

图的学习

图的基本概念和术语 图的定义&#xff1a;图是由顶点的有穷非空集合和顶点之间的边的集合组成的&#xff0c;G表示&#xff0c;V是图G中顶点的集合&#xff0c;E是图G中边的集合 无向图&#xff1a;任意两点的边都是无向边组成的图&#xff08;无向边&#xff1a;&#xff08…

洛谷P8599 [蓝桥杯 2013 省 B] 带分数

[蓝桥杯 2013 省 B] 带分数 题目描述 100 100 100 可以表示为带分数的形式&#xff1a; 100 3 69258 714 100 3 \frac{69258}{714} 100371469258​。 还可以表示为&#xff1a; 100 82 3546 197 100 82 \frac{3546}{197} 100821973546​。 注意特征&#xff1a;带分…

电子学会C/C++编程等级考试2022年09月(八级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:道路 N个以 1 … N 标号的城市通过单向的道路相连:。每条道路包含两个参数:道路的长度和需要为该路付的通行费(以金币的数目来表示) Bob and Alice 过去住在城市 1.在注意到Alice在他们过去喜欢玩的纸牌游戏中作弊后,Bob和她…

假期2.5

第四章 堆与拷贝构造函数 一 、程序阅读题 1、给出下面程序输出结果。 #include <iostream.h> class example {int a; public: example(int b5){ab;} void print(){aa1;cout <<a<<"";} void print()const {cout<<a<<endl;} …

湘潭大学-2023年下学期-c语言-作业0x0a-综合1

A 求最小公倍数 #include<stdio.h>int gcd(int a,int b) {return b>0?gcd(b,a%b):a; }int main() {int a,b;while(~scanf("%d%d",&a,&b)){if(a0&&b0) break;printf("%d\n",a*b/gcd(a,b));}return 0; }记住最大公约数的函数&…

图论——最短路径

目录 Dijkstra 算法Floyd-Warshalls algorithm用动态规划求解问题项目计划Dijkstra 算法 Dijkstra’s algorithm(迪杰斯特拉算法)是一种用于解决图中单源最短路径问题的贪婪算法。该算法由荷兰计算机科学家Edsger Dijkstra于1956年提出。它主要用于计算从一个起始顶点到图中…

算法学习系列(十四):并查集

目录 引言一、并查集概念二、并查集模板三、例题1.合并集合2.连通块中点的数量 引言 这个并查集以代码短小并且精悍的特点&#xff0c;在算法竞赛和面试中特别容易出&#xff0c;对于面试而言&#xff0c;肯定不会让你去写一两百行的代码&#xff0c;一般出的都是那种比较短的…

小信跳房子的题解

原题描述&#xff1a; 时间&#xff1a;1s 空间&#xff1a;256M 题目描述&#xff1a; 小信在玩跳房子游戏&#xff0c;已知跳房子游戏的图表现为一颗完美的具有个节点的二叉树。从根节点依次编号为。节点的左子节点编号为&#xff0c;右子节点编号为。 小信从从节点出发&…

基础算法--搜索与图论(1)

文章目录 DFS和BFSDFS搜索应用n-皇后问题 树和图的存储DFS遍历BFS遍历应用拓扑排序 DFS和BFS DFS&#xff0c;深度优先搜索&#xff0c; 数据结构&#xff1a;stack空间&#xff1a;Oh不具有最短性 BFS&#xff0c;宽度优先搜索 queueO2^h具有最短性&#xff08;当图的所有边权…

2024牛客寒假算法基础集训营1——H

输入 3 4 11 1 8 1 4 1 5 1 1 4 11 5 8 1 4 1 5 1 1 4 0 2 0 0 0 3 0 4 1 输出 3 6 5 思路&#xff1a; 考虑二进制&#xff0c;有点像数位dp 本题考虑集合划分&#xff0c;累加最大值即可 代码如下&#xff1a; #include<bits/stdc.h> using namespace std;void solv…

图论与图数据应用综述:从基础概念到知识图谱与图智能

目录 前言1 图论基础概念1.1 节点度1.2 度分布1.3 邻接矩阵 2 探索图的高级概念2.1 最短路径的关键性2.2 图的直径与平均路径的意义2.3 循环与路径类型的多样性 3 深入探讨图的广泛应用领域3.1 知识图谱的知识管理3.2 图智能在复杂决策中的应用3.3 图数据挖掘与分析的多领域应用…

LeetCode 207:课程表(图论,利用拓扑排序判断是否有环)

题目 你这个学期必须选修 numCourses 门课程&#xff0c;记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出&#xff0c;其中 prerequisites[i] [ai, bi] &#xff0c;表示如果要学习课程 ai 则 必须 先学习课程 bi 。 …

C++算法之双指针、BFS和图论

一、双指针 1.AcWing 1238.日志统计 分析思路 前一区间和后一区间有大部分是存在重复的 我们要做的就是利用这部分 来缩短我们查询的时间 并且在使用双指针时要注意对所有的博客记录按时间从小到大先排好顺序 因为在有序的区间内才能使用双指针记录两个区间相差 相当于把一个…

home work day5

第四章 堆与拷贝构造函数 一 、程序阅读题 1、给出下面程序输出结果。 #include <iostream.h> class example {int a; public: example(int b5){ab;} void print(){aa1;cout <<a<<"";} void print()const {cout<<a<<endl;} …

极值图论基础

目录 一&#xff0c;普通子图禁图 二&#xff0c;Turan问题 三&#xff0c;Turan定理、Turan图 1&#xff0c;Turan定理 2&#xff0c;Turan图 四&#xff0c;以完全二部图为禁图的Turan问题 1&#xff0c;最大边数的上界 2&#xff0c;最大边数的下界 五&#xff0c;…

备战蓝桥杯---搜索(完结篇)

再看一道不完全是搜索的题&#xff1a; 解法1&#xff1a;贪心并查集&#xff1a; 把冲突事件从大到小排&#xff0c;判断是否两个在同一集合&#xff0c;在的话就返回&#xff0c;不在的话就合并。 下面是AC代码&#xff1a; #include<bits/stdc.h> using namespace …

第三章 搜索与图论(二)(最短路)

一、最短路问题 1、对于稠密图&#xff0c;由于朴素版的dijkstra算法与边数无关使用这种算法的复杂度较低。稀疏图用堆优化版的算法&#xff1b;单源最短路中存在负权边用SPFA 算法通常较好&#xff1b;多源用floyd算法&#xff1b; 难点&#xff1a;如何建图&#xff0c;抽象…

力扣刷题之旅:进阶篇(六)—— 图论与最短路径问题

力扣&#xff08;LeetCode&#xff09;是一个在线编程平台&#xff0c;主要用于帮助程序员提升算法和数据结构方面的能力。以下是一些力扣上的入门题目&#xff0c;以及它们的解题代码。 --点击进入刷题地址 引言 在算法的广阔天地中&#xff0c;图论是一个非常重要的领域。…

算法刷题day09

目录 引言一、买不到的数目二、蚂蚁感冒三、饮料换购四、摘花生 引言 今天做的是数学和简单dp&#xff0c;做完了之后发现其实就是要背&#xff0c;像一些公式和做题的思路&#xff0c;有些题是大同小异的&#xff0c;只要记住做题的思路&#xff0c;在写新题的时候就会发现其…

【深度优先搜索】【树】【图论】2973. 树中每个节点放置的金币数目

作者推荐 视频算法专题 本博文涉及知识点 深度优先搜索 树 图论 分类讨论 LeetCode2973. 树中每个节点放置的金币数目 给你一棵 n 个节点的 无向 树&#xff0c;节点编号为 0 到 n - 1 &#xff0c;树的根节点在节点 0 处。同时给你一个长度为 n - 1 的二维整数数组 edges…

离散数学——图论(笔记及思维导图)

离散数学——图论&#xff08;笔记及思维导图&#xff09; 目录 大纲 内容 参考 大纲 内容 参考 笔记来自【电子科大】离散数学 王丽杰

洛谷: P1359 租用游艇(floyd)

题目描述 长江游艇俱乐部在长江上设置了 nn 个游艇出租站 1,2,\cdots,n1,2,⋯,n。游客可在这些游艇出租站租用游艇&#xff0c;并在下游的任何一个游艇出租站归还游艇。游艇出租站 ii 到游艇出租站 jj 之间的租金为 r(i,j)r(i,j)&#xff08;1\le i\lt j\le n1≤i<j≤n&…

数据结构——6.1 图的基本概念

第六章 图 6.1 图的基本概念 概念 图的概念&#xff1a;G由点集V和边集E构成&#xff0c;记为G(V,E)&#xff0c;边集可以为空&#xff0c;但是点集不能为空 注意&#xff1a;线性表可以是空表&#xff0c;树可以是空树&#xff0c;但图不可以是空&#xff0c;即V一定是非空集…

1124. 骑马修栅栏(欧拉路径,模板)

农民John每年有很多栅栏要修理。 他总是骑着马穿过每一个栅栏并修复它破损的地方。 John是一个与其他农民一样懒的人。 他讨厌骑马&#xff0c;因此从来不两次经过一个栅栏。 你必须编一个程序&#xff0c;读入栅栏网络的描述&#xff0c;并计算出一条修栅栏的路径&#xf…

456. 车站分级(拓扑排序,虚拟点建图)

活动 - AcWing 一条单向的铁路线上&#xff0c;依次有编号为 1, 2, …, n1,  的 n 个火车站。 每个火车站都有一个级别&#xff0c;最低为 1 级。 现有若干趟车次在这条线路上行驶&#xff0c;每一趟都满足如下要求&#xff1a;如果这趟车次停靠了火车站 x&#xff0c;…

CodeForces Round 925 Div.3 A-F 题解

文章目录 A题目AC Code&#xff1a; B题目AC Code&#xff1a; C题目AC Code&#xff1a; D题目AC Code&#xff1a; E题目AC Code&#xff1a; F题目AC Code&#xff1a; A 题目 此题尽量让后面的更大&#xff0c;前面的更小。 我们尽量让第 3 3 3 位更大&#xff0c;如果…

备战蓝桥杯---图论之最短路Bellman-Ford算法及优化

目录 上次我们讲到复杂度为&#xff08;nm)logm(m为边&#xff0c;n为点&#xff09;的迪杰斯特拉算法&#xff0c;其中有一个明显的不足就是它无法解决包含负权边的图。 于是我们引进Bellman-Ford算法。 核心&#xff1a;枚举所有的点&#xff0c;能松弛就松弛&#xff0c;直…

【图论经典题目讲解】洛谷 P2149 Elaxia的路线

P2149 Elaxia的路线 D e s c r i p t i o n \mathrm{Description} Description 给定 n n n 个点&#xff0c; m m m 条边的无向图&#xff0c;求 2 2 2 个点对间最短路的最长公共路径 S o l u t i o n \mathrm{Solution} Solution 最短路有可能不唯一&#xff0c;所以公共路…

备战蓝桥杯---图论之最短路Floyd算法

过去我们一直在求单源最短路&#xff0c;今天让我们看一下多源最短路的求法。 我们介绍一下它的核心思想&#xff1a;即不断在原有基础上添加新的中转点并求出此时的最优状态&#xff0c;是一种动态规划思想的体现。 具体流程&#xff1a; 我们先列出无中转点&#xff08;也…

最小生成树(Kruskal算法及相关例题)

1.Kruskal算法概念以及基本思路 &#xff08;1&#xff09;概念&#xff1a; 克鲁斯卡尔算法是求连通网的最小生成树的另一种方法。它的时间复杂度为O&#xff08;ElogE&#xff09;(E是图G的边的总数)&#xff0c;适合于求边稀疏的网的最小生成树 。 其基本思想是&#xff…

【图论经典题目讲解】洛谷 P5304 旅行者

P5304 旅行者 D e s c r i p t i o n \mathrm{Description} Description 给定一个 n n n 个点&#xff0c; m m m 条边的有向图&#xff0c;求解 k k k 个点两两间最短路长度的最小值。 S o l u t i o n \mathrm{Solution} Solution 对于 k k k 个点&#xff0c;可以考虑二…

【neo4j】desktop下载

【neo4j】desktop下载 https://neo4j.com/download/ 点击download&#xff0c;填写表格 之后就可以正常使用了

二叉排序树的创建、插入、查找和删除【数据结构】

二叉排序树 若它的左子树不空&#xff0c;则左子树上所有结点的值均小于它根结点的值。若它的右子树不空&#xff0c;则右子树上所有结点的值均大于它根结点的值。它的左、右树又分为⼆叉排序树 二叉排序树也叫二叉查找树、二叉搜索树 二叉排序树的创建、插入、查找和删除 …

1599 - Ideal Path (UVA)

题目链接如下&#xff1a; https://onlinejudge.org/index.php?optioncom_onlinejudge&Itemid8&category448&pageshow_problem&problem4474 这道题也是看了刘汝佳的思路才写出来的.... 代码如下&#xff1a; #include <cstdio> #include <deque&…

【算法每日一练]-图论(保姆级教程篇14 )#会议(模板题) #医院设置 #虫洞 #无序字母对 #旅行计划 #最优贸易

目录 今日知识点&#xff1a; 求数的重心先dfs出d[1]和cnt[i]&#xff0c;然后从1进行dp求解所有d[i] 两两点配对的建图方式&#xff0c;检查是否有环 无向图欧拉路径路径输出 topodp求以i为终点的游览城市数 建立分层图转化盈利问题成求最长路 会议&#xff08;模板题&a…

【算法每日一练]-动态规划 (保姆级教程 篇15)#动物 #赶deadline #page #构造字符串

目录 今日知识点&#xff1a; 01背包的路径输出 计算位和的数位dp 不用管字符串&#xff0c;只需要看好约束dp转移的变量 动物 赶deadline page 构造字符串 动物 有某类动物&#xff0c;可以在农场待n天&#xff0c;每天最多增加一只动物&#xff0c;第i天到来的动物每…

2024/2/18 图论 最短路入门 floyd 1

目录 Floyd求最短路 854. Floyd求最短路 - AcWing题库 模板】Floyd B3647 【模板】Floyd - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) Floyd求最短路 854. Floyd求最短路 - AcWing题库 思路&#xff1a;在代码里面 完整代码&#xff1a; #include <bits/stdc.h&g…

二分图最大匹配算法:匈牙利、KM

文章目录 基础定义匹配二分图二分图的矩阵覆盖交错路与增广路匈牙利算法饱和X的匹配不管X、Y求最大匹配KM算法可行顶点标号、相等子图相等子图的若干性质KM算法的正确性基于以下定理:算法流程描述1描述2基础定义 匹配 匹配:给定一个无向图 G = < V , E > G=<V,E>…

增广路算法 DFS求解 最大网络流问题

最大网络流问题 最大网络流问题是这样的&#xff0c;有一个有向图&#xff0c;假定有一个源点&#xff0c;有一个汇点&#xff0c;源点有流量出来&#xff0c;汇点有流量进入&#xff0c;有向图上的边的权重为该条边可通过的最大流量(方向为边的方向)&#xff0c;问从源点到汇…

图论中的树

树的性质与遍历 树者&#xff0c;千载之长存也。 树的性质与遍历树的性质&#xff1a;树的遍历&#xff1a; 树的性质&#xff1a; 无向连通性 树是一个无向连通图&#xff0c;也就是说&#xff0c;任意两个节点之间存在唯一的路径。 无回路 树不包含任何回路或环&#xff…

1.12 力扣中等图论

797. 所有可能的路径 - 力扣&#xff08;LeetCode&#xff09; 给你一个有 n 个节点的 有向无环图&#xff08;DAG&#xff09;&#xff0c;请你找出所有从节点 0 到节点 n-1 的路径并输出&#xff08;不要求按特定顺序&#xff09; graph[i] 是一个从节点 i 可以访问的所有节…

道路拆除的题解

目录 原题描述&#xff1a; 题目描述 输入格式 输出格式 样例 #1 样例输入 #1 样例输出 #1 样例 #2 样例输入 #2 样例输出 #2 提示 题目大意&#xff1a; 主要思路&#xff1a; 至于dis怎么求&#xff1f; 代码code&#xff1a; 原题描述&#xff1a; 题目描述 …

【算法每日一练]-动态规划 (保姆级教程 篇16) #纸带 #围栏木桩 #四柱河内塔

目录 今日知识点&#xff1a; 计算最长子序列的方案个数&#xff0c;类似最短路径个数问题 四柱河内塔问题&#xff1a;dp[i]min{ (p[i-k]f[k])dp[i-k] } 纸带 围栏木桩 四柱河内塔 纸带 思路&#xff1a; 我们先设置dp[i]表示从i到n的方案数。 那么减法操作中&#xff…

【算法每日一练]-dfs (保姆级教程 篇9) #俄罗斯方块 #ABC Puzzle #lnc的工资

目录 今日知识点&#xff1a; 二维图形的状态压缩&#xff0c;存下所有的合法状态然后暴力遍历 dfs的优化剪枝 二项式定理 俄罗斯方块 ABC Puzzle lnc的工资 俄罗斯方块 322D 题意&#xff1a;在4*4方格中分别给出3个俄罗斯方块&#xff0c;问是否可以经过旋转&#xf…

二分图最大匹配——匈牙利算法详解

文章目录 零、前言一、红娘牵线二、二分图最大匹配2.1概念2.2交替路2.3增广路2.4匈牙利算法2.4.1算法原理2.4.2算法示例2.4.3代码实现 3.OJ练习3.1模板3.2棋盘覆盖3.3車的放置 零、前言 关于二分图的基本知识见&#xff1a;二分图及染色法判定 一、红娘牵线 一位红娘近日遇到一…

最小花费-银行转账-图的最短路-超详细解析注释

最小花费-银行转账-图的最短路-超详细解析注释 【题目描述】 在n个人中&#xff0c;某些人的银行账号之间可以互相转账。这些人之间转账的手续费各不相同。给定这些人之间转账时需要从转账金额里扣除百分之几的手续费&#xff0c;请问A最少需要多少钱使得转账后B收到100元。 …

2024.1.14~1.20 周内刷题总结

2024.1.14~1.20 周内刷题总结 [ABC158F] Removing Robots 题解[ABC145F] Laminate 题解[ABC254G] Elevators 题解&#xff08;坑点总结&#xff09;[ARC160C] Power Up 题解[ABC203F] Weed 题解Shopping时代的眼泪 [ABC158F] Removing Robots 题解 \qquad 题面 \qquad 本题的连…

【第十四课】并查集(acwing-836合并集合 / 做题思路 /c++代码)

目录 错误思路(但能骗分emm)--邻接矩阵(可以跳过) 思路 存在的问题 代码如下 并查集 思路 代码如下 一些解释 错误思路(但能骗分emm)--邻接矩阵(可以跳过) 思路 刚看到这道题我自己做的时候&#xff0c;因为之前学的trie树的时候意识到使用二维数组的含义&#xff0c;…

DAG最小路径点覆盖,最小路径可重复覆盖,详解

文章目录 前言有向无环图的最小路径点覆盖概念拆点二分图定理**证明** 最小路径可重复覆盖解决策略代码实现 OJ练习 前言 关于二分图&#xff1a;二分图及染色法判定 关于二分图最大匹配&#xff1a;二分图最大匹配——匈牙利算法详解 关于二分图带权最大完备匹配&#xff1…

【数学建模】图论模型

文章目录 图的基础理论及networkx简介图的基本概念图的表示及Networkx简介图的表示NetworkX简介 最短路算法及其Python实现固定起点到其余各点的最短路算法每对顶点间的最短路算法最短路应用 最小生成树算法及其networkx实现基本概念最小生成树算法最小生成树应用 匹配问题最大…

【蓝桥杯--图论】Dijkstra、Ballman-Ford、Spfa、Floyd

今日语录&#xff1a;每一次挑战都是一次成长的机会 文章目录 朴素DIjkstra堆优化的DijkstraBallman-FordFloydSpfa(求最短路)Spfa&#xff08;求是否含有负权&#xff09; 如上所示即为做题时应对的方法 朴素DIjkstra 引用与稠密图&#xff0c;即m<n^2 #include<iostrea…

1.23 力扣图论

841. 钥匙和房间 有 n 个房间&#xff0c;房间按从 0 到 n - 1 编号。最初&#xff0c;除 0 号房间外的其余所有房间都被锁住。你的目标是进入所有的房间。然而&#xff0c;你不能在没有获得钥匙的时候进入锁住的房间。 当你进入一个房间&#xff0c;你可能会在里面找到一套不…

2024/1/24 图的基本应用

目录 查找文献 图的遍历 查找文献 P5318 【深基18.例3】查找文献 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路&#xff1a;这道题就是先建图&#xff0c;然后dfs深搜输出&#xff0c;bfs宽搜输出就行了 完整代码&#xff1a; #include <bits/stdc.h> #defi…

201903CSPT5 317号子任务

题意&#xff1a;有n个点&#xff0c;m条无向边。n个点中有一些是行星发动机点&#xff0c;现在要求计算出每个点最近的k个行星发动机点的最短路径之和&#xff0c;如果某个点能够达到的行星发动机点不足k个&#xff0c;则求其能到达行星发动机点的最短路径之和。 #include<…

图论-寒假

文章目录 A - Amusement Arcade题意&#xff1a;题解&#xff1a;代码&#xff1a; B - Brexiting and Brentering题意&#xff1a;题解&#xff1a;代码&#xff1a; I - Montys Hall题意&#xff1a;题解&#xff1a;代码&#xff1a; A - Amusement Arcade 题意&#xff1a…

数论Leetcode204. 计数质数、Leetcode858. 镜面反射、Leetcode952. 按公因数计算最大组件大小

Leetcode204. 计数质数 题目 给定整数 n &#xff0c;返回 所有小于非负整数 n 的质数的数量 。 代码 class Solution:def countPrimes(self, n: int) -> int:if n < 2:return 0prime_arr [1 for _ in range(n)]prime_arr[0], prime_arr[1] 0, 0ls list()for i in…

【每日一题】YACS 243:5G通讯

题目描述 这是上海计算机学会竞赛 P 243 P243 P243&#xff1a;5G通讯&#xff08; 2020 2020 2020年 9 9 9月月赛 乙组 T 2 T2 T2&#xff09;标签&#xff1a;二分查找题意&#xff1a;给定 n n n个点&#xff0c;第 i i i个点的坐标为 x i x_i xi​。给定限制 d d d&#…

洛谷 P7243 最大公约数

题目链接 分析 根据 gcd ⁡ \gcd gcd 性质 gcd ⁡ ( a , gcd ⁡ ( b , gcd ⁡ ( c , d ) ) ) \gcd(a,\gcd(b,\gcd(c,d))) gcd(a,gcd(b,gcd(c,d))) 就等于 gcd ⁡ ( a , b , c , d ) \gcd(a,b,c,d) gcd(a,b,c,d)。 我们发现如果当前这层和前面的状态不互质的话&#xff0c…

基础算法--搜索与图论(2)

文章目录 最短路单源最短路dijkstra算法&#xff08;朴素&#xff09;dijkstra算法&#xff08;堆优化&#xff09;存在负权边Bellman-Ford算法SPFA 多源汇求最短路Flyod 最小生成树Prim&#xff08;朴素版&#xff09;Krusal算法 二分图染色法匈牙利算法 最短路 n 表示点数量…

1 月 26日算法练习

文章目录 九宫幻方穿越雷区走迷宫 九宫幻方 小明最近在教邻居家的小朋友小学奥数&#xff0c;而最近正好讲述到了三阶幻方这个部分&#xff0c;三阶幻方指的是将1~9不重复的填入一个33的矩阵当中&#xff0c;使得每一行、每一列和每一条对角线的和都是相同的。 三阶幻方又被称…

1170. 排队布局(差分约束,spfa,负环)

1170. 排队布局 - AcWing题库 当排队等候喂食时&#xff0c;奶牛喜欢和它们的朋友站得靠近些。 农夫约翰有 N 头奶牛&#xff0c;编号从 1 到 N&#xff0c;沿一条直线站着等候喂食。 奶牛排在队伍中的顺序和它们的编号是相同的。 因为奶牛相当苗条&#xff0c;所以可能有两…

CF1920F1 Smooth Sailing (Easy Version) 题解

魔幻暴力题。 题意简述 给你一张 n m n\times m nm 的地图&#xff0c;每个点是海 .&#xff0c;岛屿 # 或者火山 v。保证岛屿和非岛屿均可以形成恰好一个四连通块且岛屿不与地图边界接壤&#xff0c;至少有一个岛屿点与一个火山点。 定义一条合法的路径为&#xff0c;从一…

ARC143D Bridges

题目 把 i i i 和 i n in in 看作一个点&#xff0c;对所有 a i a_i ai​ 和 b i b_i bi​ 连边&#xff0c;得到的图称为 G G G&#xff0c;则 G G G 的割边 ( a i , b i ) (a_i,b_i) (ai​,bi​) 在原图中 ( a i , b i n ) (a_i,b_in) (ai​,bi​n) 或 ( a i n ,…

随机图论基础

一&#xff0c;随机图、随机图空间 1&#xff0c;随机图 一个n个点的无向图&#xff0c;最多有sn(n-1)/2条边。 假设每条边都有p的概率是存在的&#xff0c;有1-p的概率是不存在的&#xff0c;那么一个有k条边的图出现的概率是 2&#xff0c;随机图空间 所有有k条边的图出…

Tarjan算法学习笔记

目录 无向图的割点与桥 时间戳&#xff1a; 搜索树&#xff1a; 追溯值&#xff1a; 割边判定法则&#xff1a; 割点判定法则&#xff1a; 无向图的双连通分量 定理&#xff1a; 边双连通分量(e-DCC)的求法&#xff1a; e-DCC的缩点&#xff1a; 有向图的连通性 追…

图论练习4

内容&#xff1a;染色划分&#xff0c;带权并查集&#xff0c;扩展并查集 Arpa’s overnight party and Mehrdad’s silent entering 题目链接 题目大意 个点围成一圈&#xff0c;分为对&#xff0c;对内两点不同染色同时&#xff0c;相邻3个点之间必须有两个点不同染色问构…

算法题目题单——图论

简介 本文为自己做的一部分图论题目&#xff0c;作为题单列出&#xff0c;持续更新。 题单由题目链接和题解两部分组成&#xff0c;题解部分提供简洁题意&#xff0c;代码仓库&#xff1a;Kaiser-Yang/OJProblems。 对于同一个一级标题下的题目&#xff0c;题目难度尽可能做…

图论:合适的环

4979. 合适的环 - AcWing题库 给定一个 n 个点 m 条边的无向图。 图中不含重边和自环。 请你在图中选出一个由三个点组成的环。 设图中一共有 x 条边满足&#xff1a;不在选择的环内&#xff0c;且与选择的环内某个点相连。 我们希望通过合理选环&#xff0c;使得 x 的值尽可能…

c++二叉树寒假特训题目(1)

大家好&#xff0c;我是周曦&#xff0c;今天给大家推荐一些二叉树题目。 题目 二叉树存储 这道题是道水题&#xff0c;找找规律ok&#xff0c;本人代码10行。 淘汰赛 这道题推荐使用桶数组 做比较合适&#xff08;就是有点绕&#xff09;。 二叉树深度 这题是一道深搜题&a…

搜索与图论(一)(深搜,广搜,树与图的存储遍历,拓扑排序)

一、DFS 往深里搜&#xff0c;搜到叶子结点那里&#xff0c;回溯&#xff0c;到可以继续到叶子结点深搜的位置。 1、回溯一定要恢复现场 2、定义一个与当前递归层数有关的终止条件&#xff08;题目要求的东西&#xff09; 3、每层都用循环判断是否存在可以dfs的路 输出数字…

练习题解(关于最小生成树)

目录 1.【模板】最小生成树 2.无线通讯网 3.拆地毯 4.营救 1.【模板】最小生成树 P3366 【模板】最小生成树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述 如题&#xff0c;给出一个无向图&#xff0c;求出最小生成树&#xff0c;如果该图不连通&#xff0c;则…

2 月 6 日算法练习- 深度优先搜索

砝码承重 【问题描述】 你有一架天平和 N 个砝码&#xff0c;这 N 个砝码重量依次是 W1,W2,...,WN。请你计算一共可以称出多少种不同的正整数重量&#xff1f;注意砝码可以放在天平两边。【输入格式】 输入的第一行包含一个整数 N。第二行包含 N 个整数&#xff1a;W1,W2,W3,.…

备战蓝桥杯---图论之建图基础

话不多说&#xff0c;直接看题&#xff1a; 首先&#xff0c;这个不是按照字典序的顺序&#xff0c;而是以只要1先做&#xff0c;在满足后让2先做。。。。 就是让数字小的放前面做拓扑排序。 我们可以先做1&#xff0c;看看它的前驱。 举个例子&#xff1a; 我们肯定要把1放…

【深度优先搜索】【图论】【树】2646. 最小化旅行的价格总和

作者推荐 【数位dp】【动态规划】【状态压缩】【推荐】1012. 至少有 1 位重复的数字 涉及知识点 深度优先搜索 图论 树 LeetCode2646. 最小化旅行的价格总和 现有一棵无向、无根的树&#xff0c;树中有 n 个节点&#xff0c;按从 0 到 n - 1 编号。给你一个整数 n 和一个长…

【GNN 1】PyG实现图神经网络,完成节点分类任务,人话、保姆级教程

我们来做一个节点分类的任务&#xff0c;选择的数据集是Karate Club&#xff0c;Karate是空手道的意思&#xff0c;所以这就是一个空手道俱乐部的数据。 简而言之&#xff0c;这个数据集&#xff0c;包含34个节点&#xff0c;156条无向无权边&#xff0c;结点总共分为4类&…

加工零件的题解

原题描述&#xff1a; 时间限制: 1000ms 空间限制: 524288kB 题目描述 凯凯的工厂正在有条不紊地生产一种神奇的零件&#xff0c;神奇的零件的生产过程自然也很神奇。工厂里有 位工人&#xff0c;工人们从编号。某些工人之间存在双向的零件传送带。保证每两名工人之间最多只存…

Codeforces Round 782 (Div. 2) E. AND-MEX Walk(思维+并查集)

原题链接&#xff1a;E. AND-MEX Walk 题目大意&#xff1a; 给出一张 n n n 个点 m m m 条边的无向图&#xff0c;边带有边权。 我们定义一条路径的价值为&#xff1a; 假设我们经过了 k k k 个点&#xff08;点和边都可重复经过&#xff09;&#xff0c;且按顺序经过的边…

详解 Prim 算法的实现

一、算法思路 Prim 算法是用来求最小生成树的&#xff0c;它的思想也有点类似于贪心——逐个将离当前集合最近的点加入到集合中&#xff0c;直至发现图不连通或所有点都被加到集合中&#xff0c;算法即宣告终止。它的具体做法是&#xff1a; step 1&#xff1a;初始时&#xf…

LeetCode 热题 100 | 图论(一)

目录 1 200. 岛屿数量 2 994. 腐烂的橘子 2.1 智障遍历法 2.2 仿层序遍历法 菜鸟做题&#xff0c;语言是 C 1 200. 岛屿数量 解题思路&#xff1a; 遍历二维数组&#xff0c;寻找 “1”&#xff08;若找到则岛屿数量 1&#xff09;寻找与当前 “1” 直接或间接连接在…

图论 - 最小生成树(Prime、Kruskal)

文章目录 前言Part 1&#xff1a;Prim算法求最小生成树1.题目描述输入格式输出格式数据范围输入样例输出样例 2.算法 Part 2&#xff1a;Kruskal算法求最小生成树1.题目描述输入格式输出格式数据范围输入样例输出样例 2.算法 前言 本篇博客介绍两种求最小生成树的方法&#xff…

图论 - Trie树(字符串统计、最大异或对)

文章目录 前言Part 1&#xff1a;Trie字符串统计1.题目描述输入格式输出格式数据范围输入样例输出样例 2.算法 Part 2&#xff1a;最大异或对1.题目描述输入格式输出格式数据范围输入样例输出样例 2.算法 前言 本篇博客将介绍Trie树的常见应用&#xff0c;包括&#xff1a;Trie…

数据结构与算法:图论(邻接表板子+BFS宽搜、DFS深搜+拓扑排序板子+最小生成树MST的Prim算法、Kruskal算法、Dijkstra算法)

前言 图的难点主要在于图的表达形式非常多&#xff0c;即数据结构实现的形式很多。算法本身不是很难理解。所以建议精通一种数据结构后遇到相关题写个转换数据结构的接口&#xff0c;再套自己的板子。 邻接表板子&#xff08;图的定义和生成&#xff09; public class Graph…

LeetCode 热题 100 | 图论(二)

目录 1 基础知识 1.1 什么是拓扑排序 1.2 如何进行拓扑排序 1.3 拓扑排序举例 2 207. 课程表 3 210. 课程表 II 菜鸟做题&#xff0c;语言是 C 1 基础知识 1.1 什么是拓扑排序 含义&#xff1a;根据节点之间的依赖关系来生成一个有序的序列。 应用&#xff1a…

图论 - 二分图(染色法、匈牙利算法)

文章目录 前言Part 1&#xff1a;染色法判定二分图1.题目描述输入格式输出格式数据范围输入样例输出样例 2.算法 Part 2&#xff1a;匈牙利算法求二分图的最大匹配1.题目描述输入格式输出格式数据范围输入样例输出样例 2.算法 前言 本篇博客将介绍两种二分图有关的算法&#xf…

图论例题解析

1.图论基础概念 概念 &#xff08;注意连通非连通情况&#xff0c;1节点&#xff09; 无向图&#xff1a; 度是边的两倍&#xff08;没有入度和出度的概念&#xff09; 1.完全图&#xff1a; 假设一个图有n个节点&#xff0c;那么任意两个节点都有边则为完全图 2.连通图&…

图论 - DFS深度优先遍历、BFS广度优先遍历、拓扑排序

文章目录 前言Part 1&#xff1a;DFS&#xff08;深度优先遍历&#xff09;一、排列数字1.题目描述输入格式输出格式数据范围输入样例输出样例 2.算法 二、n皇后问题1.问题描述输入格式输出格式数据范围输入样例输出样例 2.算法 三、树的重心1.问题描述输入格式输出格式数据范围…

备战蓝桥杯---搜索(进阶3)

看一道比较难又有趣的题&#xff1a; 下面是分析&#xff1a; 我们不妨把属性值看成点&#xff0c;一个装备可以看成一条边&#xff08;只能选一个端点&#xff09;不存在有装备属性值的当成一个点&#xff0c;于是我们便形成了树或图&#xff0c;如果是树的话&#xff0c;有一…

二级C语言笔试6

(总分100,考试时间90分钟) 一、选择题 1. 设有以下语句&#xff1a; charx3&#xff0c;y6&#xff0c;z&#xff1b; zx^y&#xff1c;&#xff1c;2&#xff1b; 则z的二进制值是( )。 A. 00010100 B. 00011011 C. 00011100 D. 00011000 …

图神经网络实战——图论基础

图神经网络实战——图论基础 0. 前言1. 图属性1.1 有向图和无向图1.2 加权图和非加权图1.3 连通图和非连通图1.4 其它图类型 2. 图概念2.1 基本对象2.2 图的度量指标2.2 邻接矩阵表示法 3. 图算法3.1 广度优先搜索3.2 深度优先搜索 小结系列链接 0. 前言 图论 (Graph theory) …

【详解】图的概念和存储结构(邻接矩阵,邻接表)

目录 图的基本概念&#xff1a; 图的存储结构 邻接矩阵&#xff08;GraphByMatrix&#xff09;&#xff1a; 基本参数&#xff1a; 初始化&#xff1a; 获取顶点元素在其数组中的下标 &#xff1a; 添加边和权重&#xff1a; 获取顶点的度&#xff1a; 打印图&#xf…

Codeforces Round 924 (Div. 2)题解(A-D)

A - Rectangle Cutting 链接&#xff1a;A - Rectangle Cutting 思路 考虑横边和纵边&#xff0c;若为偶数&#xff0c;则从中间分开&#xff0c;重新组合为一个长方形&#xff0c;检测是否与原来的长方形一致。 代码 #include <bits/stdc.h> using namespace std;i…

Codeforces Round 925 (Div. 3)F. Chat Screenshots 拓扑排序

Problem - F - Codeforces 比如 1 2 3 4 5 除去3就是 3 1 2 4 5 本题是给若干个除去某个数外的顺序&#xff0c;让判断这些顺序是否唯一。 这些顺序是确定的&#xff0c;即前后关系定好了&#xff0c;我们可以建有向图&#xff0c;然后拓扑排序。 如果唯一&#xff0c;是可…

LibreOJ 137. 最小瓶颈路(加强版) 题解 Kruscal重构树 ST表

声明&#xff1a;本题目是LibreOJ 136. 最小瓶颈路 题解 最小生成树 倍增加强版&#xff0c;建议先学习简单版的做法。 题目链接&#xff1a;LibreOJ 137. 最小瓶颈路&#xff08;加强版&#xff09; 题目描述&#xff1a; 给定一张无向图&#xff0c;询问两个结点之间的最小瓶…

TOP100 图论

1.200. 岛屿数量 给你一个由 1&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格中岛屿的数量。 岛屿总是被水包围&#xff0c;并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外&#xff0c;你可以…

【图论经典题目讲解】洛谷 P2371 墨墨的等式

P2371 墨墨的等式 D e s c r i p t i o n \mathrm{Description} Description 求解有多少个 b ∈ [ l , r ] b\in [l,r] b∈[l,r] 满足 ∑ i 1 n a i x i b \sum\limits_{i1}^n a_ix_ib i1∑n​ai​xi​b 存在非负整数解&#xff08; x i x_i xi​ 为变量&#xff0c; a a …

力扣算法Algorithm竞赛模板库(codeforces-go):含了算法竞赛中常用的数据结构和算法实现,助力开发者更高效地解决问题

1.算法Algorithm竞赛模板库&#xff08;codeforces-go&#xff09; 算法竞赛模板库&#xff0c;为算法竞赛爱好者提供了一系列精心设计的算法模板。这个库包含了算法竞赛中常用的数据结构和算法实现&#xff0c;助力开发者更高效地解决问题 一个算法模板应当涵盖以下几点&…

【图论经典题目讲解】CF715B - Complete The Graph

C F 715 B − C o m p l e t e T h e G r a p h \mathrm{CF715B - Complete\ The\ Graph} CF715B−Complete The Graph D e s c r i p t i o n \mathrm{Description} Description 给定一张 n n n 个点&#xff0c; m m m 条边的无向图&#xff0c;点的编号为 0 ∼ n − 1 0\…

用c实现diikstra算法

下面是用C语言实现Dijkstra算法的示例代码。Dijkstra算法用于在带权重的图中找到从源点到所有其他顶点的最短路径。这里&#xff0c;我们假设使用邻接矩阵来表示图&#xff0c;并且图中没有负权重的边。 #include <stdio.h> #include <limits.h>#define V 9 // 图…

Luogu P6175 无向图的最小环问题 题解 Floyd

题目链接&#xff1a;Luogu P6175 无向图的最小环问题 题目描述&#xff1a; 给定一张带权无向图&#xff0c;求出经过至少三个不同的点的最小环&#xff0c;环的大小由经过的边权和决定。 题解&#xff1a; 我们首先回到Floyd算法&#xff0c;在Floyd算法中&#xff0c;我们定…

2278. 企鹅游行(最大流,拆点)

活动 - AcWing 在南极附近的某个地方&#xff0c;一些企鹅正站在一些浮冰上。 作为群居动物&#xff0c;企鹅们喜欢聚在一起&#xff0c;因此&#xff0c;它们想在同一块浮冰上会合。 企鹅们不想淋湿自己&#xff0c;所以它们只能利用自己有限的跳跃能力&#xff0c;在一块块…

图论(算法竞赛、蓝桥杯)--拓扑排序

1、B站视频链接&#xff1a;D01 拓扑排序_哔哩哔哩_bilibili #include <bits/stdc.h> using namespace std; const int N100010; int n,m,a,b; vector<int> e[N],tp; int din[N]; bool topsort(){queue<int> q;for(int i1;i<n;i){if(din[i]0)q.push(i);}…

Educational Codeforces Round 160 (Rated for Div. 2) E. Matrix Problem(费用流)

原题链接&#xff1a;E. Matrix Problem 题目大意&#xff1a; 给出一个 n n n 行 m m m 列的 0 / 1 0/1 0/1 矩阵&#xff0c;再给出一些限制条件&#xff1a;一个长为 n n n 的数组 a a a&#xff0c;和一个长为 m m m 的数组 b b b 。 其中 a i a_{i} ai​ 表示第 …

2024.2.25

P1135 #include<iostream> #include<algorithm> #include<cstring> using namespace std; const int N 10010; int n, A, B; int evlt[N]; int res 1e9; bool st[N]; //存每层楼走没走过 //当前在x楼, 当前按了cnt次按钮 void dfs(int x, int cnt) …

Python算法题集_实现 Trie [前缀树]

Python算法题集_实现 Trie [前缀树] 题208&#xff1a;实现 Trie (前缀树)1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【定义数据类默认字典】2) 改进版一【初始化字典无额外类】3) 改进版二【字典保存结尾信息无额外类】 4. 最优算法5. 相关…

2173. Dinic/ISAP求最小割(最大流,最小割,DinicI/SAP)

活动 - AcWing 给定一个包含 n 个点 m 条边的有向图&#xff0c;并给定每条边的容量&#xff0c;边的容量非负。 图中可能存在重边和自环。求从点 S 到点 T 的最小割。 输入格式 第一行包含四个整数 n,m,S,T。 接下来 m 行&#xff0c;每行三个整数 u,v,c&#xff0c;表示…

NOIP2018-J-4-对称二叉树的题解

原题描述&#xff1a; 题目描述 时间&#xff1a;1s 空间&#xff1a;256M 一棵有点权的有根树如果满足以下条件&#xff0c;则被轩轩称为对称二叉树&#xff1a; 1. 二叉树&#xff1b; 2. 将这棵树所有节点的左右子树交换&#xff0c;新树和原树对应位置的结构相同且…

图论(算法竞赛、蓝桥杯)--Dijkstra算法最短路

1、B站视频链接&#xff1a;D02 最短路 Dijkstra 算法_哔哩哔哩_bilibili 题目链接&#xff1a;【模板】单源最短路径&#xff08;弱化版&#xff09; - 洛谷 #include <bits/stdc.h> using namespace std; #define INF 2147483647 int n,m,s,a,b,c; const int N100010…

LeetCode 热题 100 | 图论(上)

目录 1 200. 岛屿数量 2 994. 腐烂的橘子 2.1 智障遍历法 2.2 仿层序遍历法 菜鸟做题&#xff0c;语言是 C 1 200. 岛屿数量 解题思路&#xff1a; 遍历二维数组&#xff0c;寻找 “1”&#xff08;若找到则岛屿数量 1&#xff09;寻找与当前 “1” 直接或间接连接在…

图论-算法题

797. 所有可能的路径 题目: 给你一个有 n 个节点的 有向无环图&#xff08;DAG&#xff09;&#xff0c;请你找出所有从节点 0 到节点 n-1 的路径并输出&#xff08;不要求按特定顺序&#xff09; graph[i] 是一个从节点 i 可以访问的所有节点的列表&#xff08;即从节点 i …

力扣381周赛

力扣第381场周赛 文章目录 力扣第381场周赛输入单词需要的最少按键次数 I按距离统计房屋对数目 I输入单词需要的最少按键次数 II按距离统计房屋对数目 II 输入单词需要的最少按键次数 I 贪心模拟 class Solution { public:int minimumPushes(string word) {int n word.size(…

AcWing算法基础课笔记 ------ 第三章 搜索与图论

本篇博客记录AcWing算法基础课中的一些有关图论的算法&#xff0c;从熟知的dfs和bfs算法&#xff0c;再到求解单源路径&#xff0c;还有多源路径&#xff0c;最小生成树&#xff0c;以及二分图。 文章目录 一. DFS1. N 皇后问题二&#xff0c;BFS1. 走迷宫 三. 树和图的遍历1.…

图神经网络实战——图论

图神经网络实战——图论 0. 前言1. 图属性1.1 有向图和无向图1.2 加权图与非加权图1.3 连通图非连通图1.4 其它图类型 2. 图概念2.1 基本对象2.2 图的度量指标2.2 邻接矩阵表示法 3. 图算法3.1 广度优先搜索3.2 深度优先搜索 小结系列链接 0. 前言 图论 (Graph theory) 是数学…

P9905 [COCI 2023/2024 #1] AN2DL 【矩阵区间最大值】

文章目录 题目大意1.输入格式2.输出格式3.数据范围与约定 思路维护每一行区间维护每一列区间维护区间最大值code↓ 完结撒花(&#xffe3;▽&#xffe3;) / 题目大意 给定 n , m , r , s n,m,r,s n,m,r,s 和一个 n m n\times m nm 的整数矩阵 A A A&#xff0c;求它每个 …

【C++从0到王者】第四十七站:最小生成树

文章目录 一、最小生成树的概念1.概念2.最小生成树的构造方法 二、Kruskal算法1.算法思想2.代码实现 三、Prim算法1.算法思想2.代码实现3.试试所有节点为起始点 一、最小生成树的概念 1.概念 连通图&#xff1a;在无向图中&#xff0c;若从顶点v1到顶点v2有路径&#xff0c;则…

【算法】最小生成树—Prim算法与Kruskal算法

Prim算法和Kruskal算法都是解决最小生成树问题的经典算法。最小生成树是原图的最小连通子图&#xff0c;它包含原图的全部结点&#xff0c;且保持图连通的所有边代价和最小。一个连通图可能有多个最小生成树。 一、Prim算法 含义 Prim算法&#xff0c;也被称为普里姆算法&…

LibreOJ 136. 最小瓶颈路 题解 最小生成树 倍增

题目链接&#xff1a;LibreOJ 136. 最小瓶颈路 题目描述&#xff1a; 给定一张无向图&#xff0c;询问两个结点之间的最小瓶颈路。u和v两个结点之间最小瓶颈路指的是u和v的每条路径中经过的最大边权的最小值。 题解&#xff1a; 给出结论&#xff1a;无向图的最小瓶颈路与其最小…

Java实现图论的基本使用

我这里主要写代码&#xff0c;定义等参考图论基础和表示 | 菜鸟教程 一、邻接矩阵代码实现 public class AdjacencyMatrix {private int n;//节点数private int m;//边数private boolean directed;//是否为有向图private int[][] data;//图数据// 构造一个没有边的邻接矩阵pu…

数据结构 - Trie树(字符串统计、最大异或对)

文章目录 前言Part 1&#xff1a;Trie字符串统计1.题目描述输入格式输出格式数据范围输入样例输出样例 2.算法 Part 2&#xff1a;最大异或对1.题目描述输入格式输出格式数据范围输入样例输出样例 2.算法 前言 本篇博客将介绍Trie树的常见应用&#xff0c;包括&#xff1a;Trie…

【深度优先搜索】【图论】【推荐】332. 重新安排行程

作者推荐 动态规划的时间复杂度优化 本文涉及知识点 深度优先搜索 图论 LeetCode332. 重新安排行程 给你一份航线列表 tickets &#xff0c;其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票都属于一个从 JFK&a…

2325. 有向图破坏(二分图,最小点权覆盖,最小割,网络流)

活动 - AcWing 爱丽丝和鲍勃正在玩以下游戏。 首先&#xff0c;爱丽丝绘制一个 N 个点 M 条边的有向图。 然后&#xff0c;鲍勃试图毁掉它。 在每一步操作中&#xff0c;鲍勃都可以选取一个点&#xff0c;并将所有射入该点的边移除或者将所有从该点射出的边移除。 已知&am…

【寸铁的刷题笔记】树、回溯、图论、bfs、dfs(四)

【寸铁的刷题笔记】树、回溯、图论、bfs、dfs(四) 大家好 我是寸铁&#x1f44a; 金三银四&#xff0c;图论基础、回溯结合bfs、dfs是必考的知识点✨ 快跟着寸铁刷起来&#xff01;面试顺利上岸&#x1f44b; 喜欢的小伙伴可以点点关注 &#x1f49d; &#x1f31e;详见如下专栏…

【图论】图的遍历 - 构建领接表(无向图)

文章目录 例题&#xff1a;受限条件下可到达节点的数目题目描述代码与注释模板抽象 例题&#xff1a;受限条件下可到达节点的数目 题目链接&#xff1a;2368. 受限条件下可到达节点的数目 题目描述 代码与注释 func reachableNodes(n int, edges [][]int, restricted []int)…

图神经网络实战(2)——图论基础

图神经网络实战&#xff08;2&#xff09;——图论基础 0. 前言1. 图属性1.1 有向图和无向图1.2 加权图和非加权图1.3 连通图和非连通图1.4 其它图类型 2. 图概念2.1 基本对象2.2 图的度量指标2.2 邻接矩阵表示法 3. 图算法3.1 广度优先搜索3.2 深度优先搜索 小结系列链接 0. 前…

图论练习5

Going Home Here 解题思路 模板 二分图最优匹配&#xff0c;前提是有完美匹配&#xff08;即存在一一配对&#xff09;左右集合分别有顶标&#xff0c;当时&#xff0c;为有效边&#xff0c;即选中初始对于左集合每个点&#xff0c;选择其连边中最优的&#xff0c;然后对于每…

【树上倍增】【割点】 【换根法】3067. 在带权树网络中统计可连接服务器对数目

作者推荐 视频算法专题 本文涉及知识点 树上倍增 树 图论 并集查找 换根法 深度优先 割点 LeetCode3067. 在带权树网络中统计可连接服务器对数目 给你一棵无根带权树&#xff0c;树中总共有 n 个节点&#xff0c;分别表示 n 个服务器&#xff0c;服务器从 0 到 n - 1 编号…

【算法可视化】图论专题

运行平台 Algorithm Visualizer 图的深度优先遍历 // import visualization libraries { const { Tracer, Array1DTracer, GraphTracer, LogTracer, Randomize, Layout, VerticalLayout } require(algorithm-visualizer); // }// define tracer variables { const graphTra…

蓝桥杯知识点对应的复习题

【注】 long long 字母大写变小写32 分离整数的各个位数 int main() {int a; cin >> a;while (a>0){cout << a % 10 << " ";a / 10;}return 0; } 素数 试除法 bool check(int n) {if (n < 2)return false;for (int i 2; i < sqrt(n)…

图论练习6

[NOIP2013]车站分级 Here 解题思路 由于起始点之间所选的站号&#xff0c;相互之间一定满足那么对于起始点间未选择的站号&#xff0c;一定满足选择的站号考虑用边来维护信息&#xff0c;表示的级别大于按题意&#xff0c;则车站会被分为几个联通块&#xff0c;且保证块内无环…

3.8Code

基于顺序存储结构的图书信息表的新图书的入库 #include<iostream> #include<stdlib.h> #include<string.h>typedef int status;#define OK 1using namespace std;typedef struct{char no[50];char name[50];float price; }Book;typedef struct{Book* elem;i…

大数据组件之图数据库JanusGraph图文介绍

前言 大数据时代&#xff0c;面对复杂关联数据的存储与检索需求&#xff0c;图数据库以其强大的关联数据处理能力和直观的图形模型展示&#xff0c;已成为大数据处理领域的一项关键技术。JanusGraph作为一款专门为满足超大规模图数据处理而设计的分布式图数据库系统&#xff0…

【博士每天一篇文献-综述】Modular Brain Networks

阅读时间&#xff1a;2023-11-27 1 介绍 年份&#xff1a;2016 作者&#xff1a;Olaf Sporns&#xff0c;Richard Betzel&#xff0c;印第安纳大学心理与脑科学杰出教授 期刊&#xff1a; Annual review of psychology 引用量&#xff1a;1205 详细介绍了模块化大脑网络及其如…

图论|207. 课程表 210. 课程表 II

207. 课程表 你这个学期必须选修 numCourses 门课程&#xff0c;记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出&#xff0c;其中 prerequisites[i] [ai, bi] &#xff0c;表示如果要学习课程 ai 则 必须 先学习课程 …

试题 算法训练 强力党逗志芃

资源限制 内存限制&#xff1a;256.0MB C/C时间限制&#xff1a;1.0s Java时间限制&#xff1a;3.0s Python时间限制&#xff1a;5.0s 问题描述 逗志芃励志要成为强力党&#xff0c;所以他将身上所以的技能点都洗掉了重新学技能。现在我们可以了解到&#xff0c;每个技能…

蓝桥集训之带分数

蓝桥集训之带分数 核心思想&#xff1a;递归 暴力 因为就一个数 暴力就行了1 - 9全排列 然后双指针ij分割成三部分 判断条件 #include<iostream>#include<cstring>using namespace std;const int N 10;int num[N];int target,res;bool st[N];int calc(int l,i…

求和(第二斯特林数+ntt)

题目&#xff1a; https://www.luogu.com.cn/problem/P4091 思路&#xff1a; 代码&#xff1a; #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<string> #include<cstring> #include<cmath> #include<ctime> #include<alg…

备战蓝桥杯---图论之最小生成树

首先&#xff0c;什么是最小生成树&#xff1f; 他就是无向图G中的所有生成树中树枝权值总和最小的。 如何求&#xff1f; 我们不妨采用以下的贪心策略&#xff1a; Prim算法&#xff08;复杂度&#xff1a;&#xff08;nm)logm)&#xff1a; 我们对于把上述的点看成两个集…

【图论】Dijkstra 算法求最短路 - 构建邻接矩阵(带权无向图)

文章目录 例题&#xff1a;到达目的地的方案数题目描述代码与解题思路构建带权无向图的邻接矩阵 例题&#xff1a;到达目的地的方案数 题目链接&#xff1a;1976. 到达目的地的方案数 题目描述 代码与解题思路 func countPaths(n int, roads [][]int) int {g : make([][]int…

算法-双指针、BFS与图论-1101. 献给阿尔吉侬的花束

题目 思路 BFS可以搜环&#xff0c;有环也没有关系&#xff0c;如果有解&#xff1a;一定可以找到一条最小步数的合法的路径Python中 collections模块的详细用法介绍_python collections-CSDN博客引用自上述文章&#xff1a; append(x)&#xff1a;添加 x 到右端。appendleft(…

算法-双指针、BFS与图论-1113. 红与黑

题目 思路 本题相当于问BFS中的当前点所在的区域连通块有多少个 Flood Fill算法 &#xff08;可参考以下链接&#xff1a;洪水覆盖算法(Flood Fill)&#xff1a;颜色填充-CSDN博客&#xff09;本题用DFS实现Flood Fill算法DFS是否需要恢复现场&#xff1a;&#xff08;重要&am…

力扣图论篇

以下思路来自代码随想录以及官方题解。 文章目录 797.所有可能的路径200.岛屿数量130.被围绕的区域1020.飞地的数量 797.所有可能的路径 给你一个有 n 个节点的 有向无环图&#xff08;DAG&#xff09;&#xff0c;请你找出所有从节点 0 到节点 n-1 的路径并输出&#xff08;不…

【数据结构-图论】并查集

并查集&#xff08;Union-Find&#xff09;是一种数据结构&#xff0c;它提供了处理一些不交集的合并及查询问题的高效方法。并查集主要支持两种操作&#xff1a; 查找&#xff08;Find&#xff09;&#xff1a;确定某个元素属于哪个子集&#xff0c;这通常意味着找到该子集的…

算法-双指针、BFS与图论-1224. 交换瓶子

题目 思路 可以交换任意两个瓶子&#xff0c;最多n-1次&#xff1b;如果是只能交换相邻的瓶子&#xff0c;那么相当于逆序对的个数&#xff08;这篇博客是介绍如何计算逆序对的算法&#xff1a;算法篇&#xff1a;逆序对_逆序对算法-CSDN博客&#xff09;本题转换为图论去看:边…

OD_2024_C卷_200分_3、电脑病毒感染【JAVA】【图论 / 单源最短路径(dijkstra)】

题目描述 一个局域网内有很多台电脑&#xff0c;分别标注为 0 ~ N-1 的数字。相连接的电脑距离不一样&#xff0c;所以感染时间不一样&#xff0c;感染时间用 t 表示。 其中网络内一台电脑被病毒感染&#xff0c;求其感染网络内所有的电脑最少需要多长时间。如果最后有电脑不…

【C++从0到王者】第五十二站:跳表

文章目录 一、什么是跳表二、skiplist的效率三、skiplist的实现 一、什么是跳表 skiplist本质上也是一种查找结构&#xff0c;用于解决算法中的查找问题&#xff0c;跟平衡搜索树和哈希表的价值是一样的&#xff0c;可以作为key或者key/value的查找模型。 skiplist&#xff0c;…

贝叶斯树增量式更新的细嚼慢咽

Title: 贝叶斯树增量式更新的细嚼慢咽 —— Notes for “The Bayes Tree: An Algorithmic Foundation for Probabilistic Robot Mapping” 文章目录 I. 前言II. 贝叶斯树的构建关系III. 贝叶斯树增量式更新的基础IV. 贝叶斯树增量式更新的算法V. 贝叶斯树增量式更新的实例VI. 总…

3.基础算法之搜索与图论

1.深度优先搜索 深度优先搜索&#xff08;DFS&#xff0c;Depth First Search&#xff09;是一种用于遍历或搜索树或图的算法。它将当前状态按照一定的规则顺序&#xff0c;先拓展一步得到一个新状态&#xff0c;再对这个新状态递归拓展下去。如果无法拓展&#xff0c;则退回…

搜索与图论(一)树的遍历/深度/广度/拓扑排序

文章目录 搜索与图论树与图的深度优先遍历举个栗子树的重心思路结论代码如下 树与图的广度优先遍历举个例子图中点的层次样例展示代码 拓扑排序啥是拓扑排序?解题思路举个栗子题目代码如下 搜索与图论 树与图的深度优先遍历 举个栗子 树的重心 思路 邻接表存储 for(int i1…

【树】【图论】【树路径】【深度优先搜索】2867. 统计树中的合法路径数目

作者推荐 【广度优先搜索】【网格】【割点】【 推荐】1263. 推箱子 本文涉及知识点 树 图论 深度优先搜索 LeetCode:2867. 统计树中的合法路径数目 给你一棵 n 个节点的无向树&#xff0c;节点编号为 1 到 n 。给你一个整数 n 和一个长度为 n - 1 的二维整数数组 edges &a…

【图论】树链剖分

本篇博客参考&#xff1a; 【洛谷日报#17】树链剖分详解Oi Wiki 树链剖分 文章目录 基本概念代码实现常见应用路径维护&#xff1a;求树上两点路径权值和路径维护&#xff1a;改变两点最短路径上的所有点的权值求最近公共祖先 基本概念 首先&#xff0c;树链剖分是什么呢&…

图论(二)之最短路问题

最短路 Dijkstra求最短路 文章目录 最短路Dijkstra求最短路栗题思想题目代码代码如下bellman-ford算法分析只能用bellman-ford来解决的题型题目完整代码 spfa求最短路spfa 算法思路明确一下松弛的概念。spfa算法文字说明&#xff1a;spfa 图解&#xff1a; 题目完整代码总结ti…

C#,图论与图算法,用于检查给定图是否为欧拉图(Eulerian Graph)的算法与源程序

1 欧拉图 欧拉图是指通过图(无向图或有向图)中所有边且每边仅通过一次通路, 相应的回路称为欧拉回路。具有欧拉回路的图称为欧拉图(Euler Graph), 具有欧拉通路而无欧拉回路的图称为半欧拉图。 对欧拉图的一个现代扩展是蜘蛛图,它向欧拉图增加了可以连接的存在点。 这给…

迷宫641更优解——蓝桥杯2017

1.优解思路&#xff1a; 秒啊&#xff1a;如果这条路可以走通&#xff0c;则这条路上所有点都可以走通&#xff0c;反之若不可以&#xff0c;则都不可以。 因为比如一个点走了&#xff0c;没走通&#xff0c;这条路上的点都出不去&#xff0c;假如有别的点走路走到这条死路上…

P1216 [USACO1.5] [IOI1994]数字三角形 Number Triangles

题目链接&#xff1a;P1216 [USACO1.5] [IOI1994]数字三角形 Number Triangles - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 解题思路&#xff1a; 最优路径问题&#xff0c;首先想到dfs深度优先搜索&#xff0c;一直往下走再回溯上一格换个方向走 下面是c代码&#xff1a…

【计算机算法】【图论】【最优匹配与点云对准问题】最(极)大团算法

问题 团与最大团的定义 图顶点集的子集满足任意两个顶点相邻&#xff0c;称该子集是该图的一个团。图的所有团中顶点最多的&#xff0c;即最大的一个或多个&#xff0c;称为图的最大团或极大团。 图的最大团的实际应用问题 CVPR2023最佳论文之一用最大团算法实现鲁棒的点云…

搜索与图论——DFS

深度优先搜索&#xff08;DFS&#xff09; 深搜的过程&#xff1a;从根进入&#xff0c;向下走&#xff0c;走到底&#xff0c;向上走&#xff0c;即绕树兜圈&#xff0c;最后从根退出 深搜的实现&#xff1a;深搜是通过系统栈实现的&#xff0c;因为栈满足先进后出的性质&am…

图论(蓝桥杯 C++ 题目 代码 注解)

目录 迪杰斯特拉模板&#xff08;用来求一个点出发到其它点的最短距离&#xff09;&#xff1a; 克鲁斯卡尔模板&#xff08;用来求最小生成树&#xff09;&#xff1a; 题目一&#xff08;蓝桥王国&#xff09;&#xff1a; 题目二&#xff08;随机数据下的最短路径&#…

【C++算法模板】图的存储-邻接矩阵

文章目录 邻接矩阵洛谷3643 图的存储 邻接矩阵 邻接矩阵相比于上一篇博客邻接表的讲解要简单得多 数据结构&#xff0c;如果将二维数组 g g g 定义为全局变量&#xff0c;那默认初始化应该为 0 0 0 &#xff0c;如果题目中存在自环&#xff0c;可以做特判&#xff0c; m e …

拓扑排序 很简单

原文链接&#xff1a;图论第四讲&#xff1a;拓扑排序 说明&#xff1a;CSDN和公众号文章同步发布&#xff0c;需要第一时间收到最新内容&#xff0c;请关注公众号【比特正传】。 之前的图论合集文章中讲了图的存储遍历、最短路等算法&#xff0c;文章链接如下 图论第一讲&am…

07 数据结构之图

# Makefile CCgcc CFLAGS -g -Wall SRCStest.c graph.c link_queue.c OBJS$(SRCS:.c.o) #variable replace APPtestall:$(OBJS) #指定一个目标&#xff0c; 不然默认目标不会检查依赖文件的时间戳$(CC) $(SRCS) -o $(APP) .PH…

关于图在推荐系统中的研究

业界最新的论文 Intent-aware Recommendation via Disentangled Graph Contrastive Learning 作者&#xff1a;Yuling Wang, Xiao Wang, Xiangzhou Huang, Yanhua Yu, Haoyang Li, Mengdi Zhang, Zirui Guo, Wei Wu 地址&#xff1a;https://arxiv.org/abs/2403.03714 论文…

蓝桥练习之倍增算法

算法概述 倍增算法是一种优化算法&#xff0c;通常应用于某些需要高效计算指数幂的场景。它基于分治的思想&#xff0c;通过反复求平方来实现快速计算指数幂的目的。在实际应用中&#xff0c;倍增算法经常用于解决最近公共祖先问题、二分查找等。 问题引入 快速幂 #include&l…

【论文阅读】MSGNet:学习多变量时间序列预测中的多尺度间序列相关性

MSGNet&#xff1a;学习多变量时间序列预测中的多尺度间序列相关性 文献介绍摘要总体介绍背景及当前面临的问题现有解决方案及其局限性本文的解决方案及其贡献 背景知识的相关工作背景知识问题表述&#xff1a; Method论文主要工作1.输入嵌入和剩余连接 (Input Embedding and R…

Dijkstrafloyed

1.使用场景&#xff0c;迪杰斯特拉: 一个点到其他各个点的最短路径。弗洛伊德:从i到j的最短路径。 在实现上&#xff0c;Dijstra需要两个数组记录当前已有的最短路径和地点是否已经加入到了集合当中&#xff0c;贪心思想。弗洛伊德为三层for&#xff0c;算法复杂度分别是n方和…

数据结构:图及相关算法讲解

图 1.图的基本概念2. 图的存储结构2.1邻接矩阵2.2邻接表2.3两种实现的比较 3.图的遍历3.1 图的广度优先遍历3.2 图的深度优先遍历 4.最小生成树4.1 Kruskal算法4.2 Prim算法4.3 两个算法比较 5.最短路径5.1两个抽象存储5.2单源最短路径--Dijkstra算法5.3单源最短路径--Bellman-…

【图论】计算图的n-hop邻居个数,并绘制频率分布直方图

计算图的n-hop邻居个数&#xff0c;并绘制频率分布直方图 在图论中&#xff0c;n-hop邻居&#xff08;或称为K-hop邻居&#xff09;是指从某个顶点出发&#xff0c;通过最短路径&#xff08;即最少的边数&#xff09;可以到达的所有顶点的集合&#xff0c;其中n&#xff08;或…

C#,图论与图算法,图着色问题(Graph Coloring)的威尔士-鲍威尔(Welch Powell Algorithm)算法与源代码

Welsh, D.J.A. and Powell, M.B. (1967) An Upper Bound for the Chromatic Number of a Graph and Its Application to Timetabling Problems. 《The Computer Journal》, 10, 85-86. 《The Computer Journal》 1 图着色算法概述 1967年&#xff0c;Welsh和Powell算法引入了…

C#,图论与图算法,输出无向图(Un-directed Graph)全部环(cycle)的算法与源代码

1 无向图(Un-directed Graph)全部环 图算法中需要求解全部的环。 2 方法 使用图着色方法,用唯一的数字标记不同循环的所有顶点。图形遍历完成后,将所有类似的标记数字推送到邻接列表,并相应地打印邻接列表。 3 算法 将边插入到邻接列表中。调用DFS函数,该函数使用着色方…

蓝桥杯--冶炼金属

目录 一、题目 二、解决代码 &#xff08;1&#xff09;版本一&#xff08;报错&#xff1a;超时&#xff09; 代码分析 &#xff08;2&#xff09;版本二&#xff08;不会超时&#xff09; 代码分析 &#xff08;3&#xff09;版本三&#xff08;最终精简版&#xff09;…

二叉树最长路径问题(x+1,x++,++x 问题详解)

首先遇到的问题是&#xff0c;在二叉树求最短路径中&#xff0c;DFS参数x的传入导致的结果不同问题 #include<iostream> #include<iomanip> #include<cstring> using namespace std; int maxi; char path[1000],ans[1000]; typedef struct BiTLnode{char da…

迷宫寻路[天梯赛 -- 栈]

文章目录 题目描述思路AC代码 题目描述 输入样例 8 8 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 4 4 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 -1 -1输出样例 1,1 2,1 3,1 4,1 5,1 5,2 5…

第十四次CCF-CSP(第二题 买菜、第四题 再卖菜)

第十四次CCF-CSP 第二题 买菜 原题链接&#xff1a;3263. 买菜 - AcWing题库 思路分析 简单来说&#xff0c;就是给出两组区间的集合A,B 求出两集合中相交区间的部分的长度&#xff0c;注意若区间 [s,t] 是相交的&#xff0c;则长度为 t-s 。 思路一 因为数据量比较小&am…

数位DP简单题复习

DFS 模板 #include<bits/stdc.h> using namespace std; const int N20; int dp[N][N]; int a[N],len; int n,m;//pos 代表当前位置 limit是当前位置是否有这个枚举范围限制int dfs(int pos,int pre,int limit){if(!pos)return 1;if(!limit&&~dp[pos][pre])return…

最近公共祖先(lca)倍增算法【模板】

P3379 【模板】最近公共祖先&#xff08;LCA&#xff09; - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include<bits/stdc.h> #include<cstdio> using namespace std; const int N5e5100; const int inf0x3f3f3f; int n,m,s; vector<int>g[N]; int dep[…

图论之路径条数专题

一直忙着金工实习蓝桥杯&#xff0c;好久没有看图论了&#xff0c;今天就小试几题享受下被虐的快感。 1.最短路拓扑 首先来几个结论&#xff1a; 1.最短路图没有环&#xff08;可以用反证法证明&#xff09; 2.dis[u]edge[u,v]dis[v]&#xff0c;那么u,v端点的边一定在最短路…

图论记录之最短路迪杰斯特拉

简述思想 这个思想能用一句话来概括&#xff0c;精简到的极致:每次找到一个最短距离的点并更新起点到各个点的最短距离 如果要可视化的话&#xff0c;B站搜索Dijksra算法&#xff0c;有视频讲解 伪代码 写到这里&#xff0c;其实是想整一个动画的&#xff0c;这样效果更好点…

【数据结构 | 图论】如何用链式前向星存图(保姆级教程,详细图解+完整代码)

一、概述 链式前向星是一种用于存储图的数据结构&#xff0c;特别适合于存储稀疏图&#xff0c;它可以有效地存储图的边和节点信息&#xff0c;以及边的权重。 它的主要思想是将每个节点的所有出边存储在一起&#xff0c;通过数组的方式连接&#xff08;类似静态数组实现链表…

acwing算法提高之图论--单源最短路的综合应用

目录 1 介绍2 训练 1 介绍 本专题用来介绍使用最短路算法&#xff08;spfa或dijkstra&#xff09;与其它算法&#xff08;dfs等等&#xff09;结合起来解题。 2 训练 题目1&#xff1a;1135新年好 C代码如下&#xff0c; //版本1&#xff0c;使用vector来存储图&#xff0…

图论-二分图

一、二分图判定 1.1 二分图概念及应用 1.概念 二分图的顶点集可分割为两个互不相交的子集&#xff0c;图中每条边依附的两个顶点都分属于这两个子集&#xff0c;且两个子集内的顶点不相邻。 给你一幅「图」&#xff0c;请你用两种颜色将图中的所有顶点着色&#xff0c;且使得…

搜索与图论——bellman—ford算法、spfa算法求最短路

bellman-ford算法 时间复杂度O(nm) 在一般情况下&#xff0c;spfa算法都优于bf算法&#xff0c;但遇到最短路的边数有限制的题时&#xff0c;只能用bf算法 bf算法和dijkstra很像 #include<iostream> #include<queue> #include<cstring> #include<algori…

搜索与图论——Prim算法求最小生成树

在最小生成树问题里&#xff0c;正边和负边都没问题 朴素版prim算法 时间复杂度O(n^2) 生成树&#xff1a;每一次选中的t点&#xff0c;它和集合的距离对应的那条边&#xff0c;就是生成树的一条边 算法流程和dijkstra算法非常相似 #include<iostream> #include<cs…

图的基本概念试题解析

一、单项选择题 01&#xff0e;图中有关路径的定义是( A )。 A.由顶点和相邻顶点序偶构成的边所形成的序列 B.由不同顶点所形成的序列 C.由不同边所形成的序列 D.上述定义都不是 02&#xff0e;一个有n个顶点和n条边的无向…

图论基础(python蓝桥杯)

图的基本概念 图的种类 怎么存放图呢&#xff1f; 优化 DFS 不是最快/最好的路&#xff0c;但是能找到一条连通的道路。&#xff08;判断两点之间是不是连通的&#xff09; 蓝桥3891 import os import sys sys.setrecursionlimit(100000) # 请在此输入您的代码 n, m map(int,…

备战蓝桥杯---树学初步1

LCA&#xff08;最近公共祖先&#xff09; 定义&#xff1a;有根树的两个节点u,v&#xff0c;他们的LCA是一个节点x,其中x是他们的公共祖先并且X的深度尽可能大。 法1---Tarjan算法&#xff1a; 核心&#xff1a;DFS并查集 在并查集中建立仅有u的集合&#xff0c;设该集合祖…

代码随想录 图论-并查集

代码随想录 (programmercarl.com) 寻找图中是否存在路径这道题中的类可看做并查集的标准类 目录 1971.寻找图中是否存在路径 684.冗余连接 685.冗余连接II 1971.寻找图中是否存在路径 1971. 寻找图中是否存在路径 已解答 简单 相关标签 相关企业 有一个具有 n 个顶…

搜索与图论——染色法判定二分图

一个图是二分图当且仅当这个图中不含奇数环 由于图中没有奇数环&#xff0c;所以染色过程中一定没有矛盾 所以一个二分图一定可以成功被二染色&#xff0c;反之在二染色的过程中出现矛盾的图中一定有奇数环&#xff0c;也就一定不是二分图 #include<iostream> #includ…

搜索与图论——Dijkstra算法求最短路

最短路算法 稠密图与稀疏图 n为点数&#xff0c;m为边数。m远小于n的平方为稀疏图&#xff0c;m接近n的平方为稠密图。 稀疏图用邻接表存&#xff0c;稠密图用邻接矩阵存 朴素版dijkstra时间复杂度为O(n^2),对于稠密图可以ac&#xff0c;但遇到稀疏图时会TLE。 dijkstra函数实…

算法学习——LeetCode力扣图论篇2

算法学习——LeetCode力扣图论篇2 1020. 飞地的数量 1020. 飞地的数量 - 力扣&#xff08;LeetCode&#xff09; 描述 给你一个大小为 m x n 的二进制矩阵 grid &#xff0c;其中 0 表示一个海洋单元格、1 表示一个陆地单元格。 一次 移动 是指从一个陆地单元格走到另一个相…

搜索与图论——Floyd算法求最短路

floyd算法用来求多源汇最短路 用邻接矩阵来存所有的边 时间复杂度O(n^3) #include<iostream> #include<cstring> #include<algorithm>using namespace std;const int N 20010,INF 1e9;int n,m,k; int g[N][N];void floyd(){for(int k 1;k < n;k ){f…

蓝桥杯day17刷题日记--P8662 [蓝桥杯 2018 省 AB] 全球变暖

P8662 [蓝桥杯 2018 省 AB] 全球变暖 思路&#xff1a;用bfs依次读取每座岛屿&#xff0c;当岛屿里出现一块四周都是陆地的陆地时&#xff0c;岛屿就不算被淹没&#xff0c;bfs里面就是常规的st状态数组&#xff0c;g图数组&#xff0c;还有用数组模拟队列 #include <iost…

递归的三种选数

/* 指数型枚举&#xff08;每个数有选和不选两种情况&#xff09; #include<bits/stdc.h> using namespace std; const int N20; int n; int st[N];//记录每个数的状态&#xff0c;0还没有考虑&#xff0c;1表示选这个数&#xff0c;2表示不选这个数 void dfs(int x){/…

【图轮】【 最小生成树】【 并集查找】1489. 找到最小生成树里的关键边和伪关键边

本文涉及知识点 图轮 最小生成树 并集查找 关键边 1489. 找到最小生成树里的关键边和伪关键边 给你一个 n 个点的带权无向连通图&#xff0c;节点编号为 0 到 n-1 &#xff0c;同时还有一个数组 edges &#xff0c;其中 edges[i] [fromi, toi, weighti] 表示在 fromi 和 to…

搜索与图论——Kruskal算法求最小生成树

kruskal算法相比prim算法思路简单&#xff0c;不用处理边界问题&#xff0c;不用堆优化&#xff0c;所以一般稀疏图都用Kruskal。 Kruskal算法时间复杂度O(mlogm) 每条边存结构体里&#xff0c;排序需要在结构体里重载小于号 判断a&#xff0c;b点是否连通以及将点假如集合中…

算法学习——LeetCode力扣图论篇3(127. 单词接龙、463. 岛屿的周长、684. 冗余连接、685. 冗余连接 II)

算法学习——LeetCode力扣图论篇3 127. 单词接龙 127. 单词接龙 - 力扣&#xff08;LeetCode&#xff09; 描述 字典 wordList 中从单词 beginWord 和 endWord 的 转换序列 是一个按下述规格形成的序列 beginWord -> s1 -> s2 -> … -> sk&#xff1a; 每一对相…

算法——图论:判断二分图(染色问题)

题目&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 方法一&#xff1a;并查集 class Solution { public:vector<int>father;int find(int x){if (father[x] ! x)father[x] find(father[x]);return father[x];}void add(int x1, int x2){int fa1 find(x1), f…

CCF-CSP19<2020-06>-第1/2题

202006-1 线性分类器 题目&#xff1a;202006-1 题目分析&#xff1a; 给定n个点&#xff0c;并标记为AB两类&#xff0c;问给定直线是否能将其分为两个点集。 简单数学知识&#xff0c;点在直线上满足axbyc0&#xff0c;点在直线割平面所得的上下其值会正负相反。 AC代码…

acwing1114

#include<bits/stdc.h> using namespace std; const int N10; int n,k; char g[N][N]; //记录每列放没放过 bool st[N]; int res0; //x表示当前枚举到了哪一行&#xff0c;cnt记录放了几颗棋 void dfs(int x,int cnt){ if(cntk){ res; return ; …

【Leetcode】top 100 图论

基础知识补充 1.图分为有向图和无向图&#xff0c;有权图和无权图&#xff1b; 2.图的表示方法&#xff1a;邻接矩阵适合表示稠密图&#xff0c;邻接表适合表示稀疏图&#xff1b; 邻接矩阵&#xff1a; 邻接表&#xff1a; 基础操作补充 1.邻接矩阵&#xff1a; class GraphAd…

【好书推荐4】图机器学习

【好书推荐4】图机器学习 写在最前面编辑推荐内容简介作者简介目录前言/序言本书读者内容介绍 &#x1f308;你好呀&#xff01;我是 是Yu欸 &#x1f30c; 2024每日百字篆刻时光&#xff0c;感谢你的陪伴与支持 ~ &#x1f680; 欢迎一起踏上探险之旅&#xff0c;挖掘无限可能…

图的应用试题

01&#xff0e;任何一个无向连通图的最小生成树( )。 A.有一棵或多棵 B.只有一棵 C.一定有多棵 D.可能不存在 02.用Prim算法和Kruskal算法构造图的最小生成树&#xff0c;…

acwing算法提高之图论--floyd算法及其扩展应用

目录 1 介绍2 训练 1 介绍 本专题介绍使用floyd算法求解的题目。 使用floyd算法&#xff0c;可以求解如下问题&#xff1a; 最短路。传递闭包。找图中的距离总和最小的环路。求恰好经过k条边的最短路。 floyd算法的原理讲解&#xff1a;基于动态规划。 状态表示d[k,i,j]&a…

【蓝桥杯每日一题】4.2 全球变暖

原题链接&#xff1a;1233. 全球变暖 - AcWing题库 由题意可知&#xff1a; 需要找到淹没的岛屿的数量淹没的岛屿所具备的条件&#xff1a;咩有“高地”&#xff0c;也就是说岛屿&#xff08;连通块&#xff09;中的所有元素的 4 4 4-邻域中均含有’ . ’ 思路1&#xff1a;…

P1002 过河卒:图论动态规划入门

本题链接&#xff1a;P1002 [NOIP2002 普及组] 过河卒 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路&#xff1a; 本题与之前的动态规划不一样&#xff0c;比如背包问题和子序列问题等都是线性dp&#xff0c;也就是dp数组其实主要用于存储计算的结果&#xff0c;而这题…

AcWing853.有边数限制的最短路(Bellman_ford算法)

【题目链接】853. 有边数限制的最短路 - AcWing题库 【题目描述】 输入样例&#xff1a; 3 3 1 1 2 1 2 3 1 1 3 3输出样例&#xff1a; 3 【代码及详细注释】 #include<bits/stdc.h> using namespace std; const int N1e410; struct node{int a,b,w;//表示每条边的…

C#,图论与图算法,双连通图(Biconnected Components of Graph)的算法与源代码

1 双连通图(Biconnected Components of Graph) 如果任意两个顶点之间有两条顶点不相交的路径,则无向图称为双连通图。在双连通图中,有一个通过任意两个顶点的简单循环。 按照约定,由边连接的两个节点构成双连通图,但这并不验证上述属性。对于具有两个以上顶点的图,必须…

蓝桥杯day4刷题日记

P8605 [蓝桥杯 2013 国 AC] 网络寻路 思路来源于https://www.luogu.com.cn/article/iat8irsf #include <iostream> using namespace std; int n,m; int q[10010]; int v[100010],u[100010]; long long res;int main() {cin>>n>>m;for(int i0;i<m;i){cin…

2024/03/19总结

算法&#xff1a; 简单的一个dfs就能过 ac: #include "iostream" #include "algorithm" #include "cstring" #include "queue" using std::cin; using std::cout; using std::endl; #define N 110 char a[N][N]; int abook[N][N]; i…

6-2 数组元素的区间删除

作者 DS课程组 单位 浙江大学 给定一个顺序存储的线性表&#xff0c;请设计一个函数删除所有值大于min而且小于max的元素。删除后表中剩余元素保持顺序存储&#xff0c;并且相对位置不能改变。 函数接口定义&#xff1a; int Delete( int A[], int L, int minA, int maxA )…

leetcode-hot100-图论

200. 岛屿数量 给你一个由 1&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格中岛屿的数量。 岛屿总是被水包围&#xff0c;并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外&#xff0c;你可以假…

LeetCode 热题100 图论专题解析

LeetCode 热题100 图论专题解析 图论是计算机科学中非常重要的领域&#xff0c;广泛应用于各种算法和实际问题中。在 LeetCode 热题100 中&#xff0c;图论相关的题目主要涉及深度优先搜索&#xff08;DFS&#xff09;、广度优先搜索&#xff08;BFS&#xff09;以及拓扑排序等…

C#,图论与图算法,计算无向连通图中长度为n环的算法与源代码

1 无向连通图中长度为n环 给定一个无向连通图和一个数n,计算图中长度为n的环的总数。长度为n的循环仅表示该循环包含n个顶点和n条边。我们必须统计存在的所有这样的环。 为了解决这个问题,可以有效地使用DFS(深度优先搜索)。使用DFS,我们可以找到特定源(或起点)的长度…

图论01-DFS和BFS(深搜和广搜邻接矩阵和邻接表/Java)

1.深度优先理论基础(dfs) dfs的两个关键操作 搜索方向&#xff0c;是认准一个方向搜&#xff0c;直到碰壁之后再换方向 换方向是撤销原路径&#xff0c;改为节点链接的下一个路径&#xff0c;回溯的过程。dfs解题模板 void dfs(参数) {if (终止条件) {存放结果;return;}for …

5467: 【搜索】流浪奶牛

题目描述 吃不到饭的奶牛Bessie一气之下决定离开农场&#xff0c;前往阿尔费茨山脉脚底下的农场&#xff08;听说那儿的草极其美味&#xff09;投靠她的亲戚Jimmy。但是前往目的地的山路崎岖&#xff0c;Bessie又没有吃饭&#xff0c;她需要尽量保存体力&#xff0c;以最轻松的…

C#,图论与图算法,图最短路径的迪杰斯特拉(Dijkstra)算法与源代码

1 图的最短路径 给定一个图和图中的源顶点,查找从源到给定图中所有顶点的最短路径。 Dijkstra的算法与Prim的最小生成树算法非常相似。像Prim的MST一样,我们生成一个以给定源为根的SPT(最短路径树)。我们维护两个集合,一个集合包含最短路径树中包含的顶点,另一个集合包…

Leetcode热题100:图论

Leetcode 200. 岛屿数量 深度优先搜索法&#xff1a; 对于这道题来说&#xff0c;是一个非常经典的图的问题&#xff0c;我们可以先从宏观上面来看问题&#xff0c;也就是说在不想具体算法的前提下&#xff0c;简单的说出如何找到所有的岛屿呢&#xff1f; 如图中所示&#x…

【DFS+贪心】第十四届蓝桥杯省赛C++ B组《飞机降落》(C++)

【题目描述】 有 N 架飞机准备降落到某个只有一条跑道的机场。 其中第 i 架飞机在 Ti 时刻到达机场上空&#xff0c;到达时它的剩余油料还可以继续盘旋 Di 个单位时间&#xff0c;即它最早可以于 Ti 时刻开始降落&#xff0c;最晚可以于 TiDi 时刻开始降落。 降落过程需要 L…

图论04-岛屿数目(Java)

4.岛屿数目 题目描述 给你一个由 1&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格中岛屿的数量。 岛屿总是被水包围&#xff0c;并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外&#xff0c;你…

C#,图论与图算法,有向图(Direct Graph)广度优先遍历(BFS,Breadth First Search)算法与源程序

1 图的广度优先遍历 图的广度优先遍历(或搜索)类似于树的广度优先遍历(参见本文的方法2)。这里唯一需要注意的是,与树不同,图可能包含循环,因此我们可能再次来到同一个节点。为了避免多次处理节点,我们使用布尔访问数组。为简单起见,假设所有顶点都可以从起始顶点到达…

图论基础|417. 太平洋大西洋水流问题、827.最大人工岛、127. 单词接龙

目录 417. 太平洋大西洋水流问题 827.最大人工岛 127. 单词接龙 417. 太平洋大西洋水流问题 题目链接(opens new window) 有一个 m n 的矩形岛屿&#xff0c;与 太平洋 和 大西洋 相邻。 “太平洋” 处于大陆的左边界和上边界&#xff0c;而 “大西洋” 处于大陆的右边界…

数据结构万字总结(超级详细)第六章——图

图 定义 基本概念 顶点的度 对无向图&#xff1a; 顶点v的度是指依附于该顶点的边的条数&#xff0c;度数之和等于边数乘以2。 对有向图&#xff1a;入度是以顶点v为终点的有向边的数目 出度是以顶点v为起点的有向边的数目 顶点v的度等于其入度和出度之和 出度 入度 路径 …

递增四元组

解法&#xff1a; 首先都可以想到dp[i]&#xff1a;第i个元素结尾的递增四元组有dp[i]个 然后发现有一组数据&#xff1a;2,3,6,1,5,8。会出现6结尾和5结尾的递增三元组&#xff0c;也就是未来的决策受过去影响&#xff0c;专业的说就是有后效性。需要强化约束条件&#xff0…

复习Day1

92. 递归实现指数型枚举 - AcWing题库 #include <bits/stdc.h> using namespace std; const int N17; int n; bool vis[N];//记录某一个数是否出现过 void dfs(int dep){// if(vis[dep])continue;//没有这一句 因为一定不会有已经选过的数if(depn1){for(int i1;i<n;i…

DFS基础——迷宫

迷宫 配套视频讲解 关于dfs和bfs的区别讲解。 对于上图&#xff0c;假设我们要找从1到5的最短路&#xff0c;那么我们用dfs去找&#xff0c;并且按照编号从大到小的顺序去找&#xff0c;首先找到的路径如下&#xff0c; 从节点1出发&#xff0c;我们发现节点2可以走&#xff…

一笔画--PTA

文章目录 题目描述思路AC代码 题目描述 输入样例1 3 2 1 2 2 3 输出样例1 Y输入样例2 4 3 1 2 1 3 1 4 输出样例2 N输入样例3 1 0 输出样例3 Y思路 dfs 、欧拉通路、欧拉回路的判定 前导知识 欧拉通路、欧拉回路、欧拉图 无向图&#xff1a; ①设G是连通无向图&#xff0c;则称…

图论复习(最短路、最小生成树)

图论复习 拓扑排序 原题链接&#xff1a;AcWing 848. 有向图的拓扑序列 - AcWing 在建图时&#xff0c;记录每个节点的入度&#xff0c;首先把入度为0的点都存到队列里。 然后在搜索时&#xff0c;每搜到一个点&#xff0c;就把这个点的入度 -1 &#xff0c;当它的入度变为…

Codeforces Round 933 (Div. 3)

D. Rudolf and the Ball Game set模拟 #include<iostream> #include<algorithm> #include<cstring> #include<vector> #include<set> using namespace std; typedef long long ll; const int N2e510; set<int>s1,s2; int main() {int t…

地宫取宝dfs

分析&#xff1a; 矩阵里的每一个位置都有标记&#xff0c;要求的问题是&#xff1a;有几种方法能完成这个规定。 那么&#xff0c;我们只需要计算从开始(1,1)到最后(n,m)的深度优先搜索中&#xff0c;有几个是满足要求的即为正确答案。 有个要求是&#xff0c;如果一个格子中…

图论基础|695. 岛屿的最大面积、1020. 飞地的数量、130. 被围绕的区域

695. 岛屿的最大面积 力扣题目链接(opens new window) 给你一个大小为 m x n 的二进制矩阵 grid 。 岛屿 是由一些相邻的 1 (代表土地) 构成的组合&#xff0c;这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0&#xff0…

20240319-图论

图论练习题目 拓扑排序深度优先搜索方法广度优先搜索方法 无向无权图无向有权图有向无权图 利用广度优先搜索算法有向有权图 带排序的广度优先算法/dijkstra最小生成树prims算法Kruskals Algorithm 最小割 min-cut二分图 Bipartite Graph 队列例题1 所有可能的路径例题2 岛屿数…

复习Day2_

4.全球变暖 - 蓝桥云课 (lanqiao.cn) #include <bits/stdc.h> using namespace std; #define int long long const int N1e36; char a[N][N]; int n; int xx[]{0,1,-1,0};//右 下 上 左 int yy[]{1,0,0,-1}; int scc0;//涂色器 int clsm[N*N];//用于存储每个颜色是否还有…

图论基础|841.钥匙和房间、463. 岛屿的周长

目录 841.钥匙和房间 思路&#xff1a;本题是一个有向图搜索全路径的问题。 只能用深搜&#xff08;DFS&#xff09;或者广搜&#xff08;BFS&#xff09;来搜。 463. 岛屿的周长 841.钥匙和房间 力扣题目链接 (opens new window) 有 N 个房间&#xff0c;开始时你位于 0…

1164dfsdp

/*dfs #include<bits/stdc.h> using namespace std; int n,m,a[105],mark[105]; int ans; void dfs(int step,int flag){//step表示付的钱 if(step>m) return ; if(stepm){ ans; return ; } for(int iflag;i<n;i){ if(mark[i]…

蓝桥杯day10刷题日记

P8604 [蓝桥杯 2013 国 C] 危险系数 思路&#xff1a;dfs&#xff0c;用深度优先搜索查找一次所有的线路&#xff0c;过程中记录每个点走过的次数&#xff0c;最后在与总路线数比较&#xff0c;相同即为每次必过的点&#xff0c;即关键点 #include <iostream> using na…

每日一题 第三十四期 Codeforces Round 908 (Div. 2)

B. Two Out of Three time limit per test: 3 seconds memory limit per test: 512 megabytes input: standard input output: standard output You are given an array a 1 , a 2 , … , a n a_1, a_2, \ldots, a_n a1​,a2​,…,an​. You need to find an array b 1 ,…

【笔试】美团2023年秋招第1场笔试(后端数开软件方向)

文章目录 T1 小美玩排列T2 小美走公路T3 小美切蛋糕T4 小美将字符串平铺成矩阵T5 小美染色 23秋招&#xff0c;美团笔试1&#xff08;技术&#xff09; 美团2024届秋招笔试第一场编程真题 时间&#xff1a;2023.08&#xff0c;牛客补题 美团是少有的整份卷子5题都是算法题的&…

【笔试】美团2023年秋招第5场笔试(后端数开软件方向)

文章目录 T1 小美的升序数组T2 小美的子序列T3 小美的数组T4 小美的元素删除T5 题目忘了&#xff08;不确定是不是这个题面&#xff09; 23秋招&#xff0c;美团笔试5&#xff08;技术&#xff09; 2023 美团笔试题 0902&#xff0c;咋都是牛客月赛原题呀&#xff08; 时间&am…

【No.17】蓝桥杯图论上|最短路问题|Floyd算法|Dijkstra算法|蓝桥公园|蓝桥王国(C++)

图的基本概念 图&#xff1a; 由点(node&#xff0c;或者 vertex)和连接点的边(edge)组成。图是点和边构成的网。 树&#xff1a;特殊的图树&#xff0c;即连通无环图树的结点从根开始&#xff0c;层层扩展子树&#xff0c;是一种层次关系&#xff0c;这种层次关系&#xff0…

图论06-飞地的数量(Java)

6.飞地的数量 题目描述 给你一个大小为 m x n 的二进制矩阵 grid &#xff0c;其中 0 表示一个海洋单元格、1 表示一个陆地单元格。 一次 移动 是指从一个陆地单元格走到另一个相邻&#xff08;上、下、左、右&#xff09;的陆地单元格或跨过 grid 的边界。 返回网格中 无法…

数据结构:最小支撑树及图的应用

文章目录 一、最小支撑树的概念二、Prim算法&#xff08;适用于稠密图&#xff09;2.1、算法的基本步骤2.2、算法的正确性证明2.3、优化算法的实现 三、Kruskal算法&#xff08;适用于稀疏图&#xff09;3.1、算法的基本步骤3.2、算法的正确性证明3.3、算法的实现3.4、最大生成…

体系班第十六节(图论)

邻接矩阵法 1图的数据结构抽象 #include<vector> #include<unordered_map> #include<unordered_set> using namespace std; //点结构的描述&#xff0c;由值入度出度后继节点和边构成 class node { public:int value;int in;int out;vector<node*> n…

C#,图论与图算法,图(Graph)的数据结构设计与源代码

因为后面即将发布的大量有关“图”的算法与源代码都需要用到下面的这些基础数据&#xff0c;为避免大家去下载&#xff0c;特意先发布于此。 一、图&#xff08;Graph&#xff09;的基础知识 图&#xff08;Graph&#xff09;是一组对象的图示&#xff0c;其中一些对象对通过链…

有向无环图与拓扑排序

目录 1.有向无环图 1.1.定义 1.2.性质 1.3.有向无环图的判定 2.拓扑排序 2.1.定义 2.2.理解 2.3.实现 2.4.AOV网 2.5.关键路径与AOE网 2.5.1.AOE网相关概念 2.5.2.最早和最迟发生时间的递推关系 2.5.3.关键路径实现 1.有向无环图 1.1.定义 有向无环图&#xff0…

[力扣 Hot100]Day51 岛屿数量

题目描述 给你一个由 ‘1’&#xff08;陆地&#xff09;和 ‘0’&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格中岛屿的数量。 岛屿总是被水包围&#xff0c;并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外&#xff0c;你可以…

图论:DFS与BFS

目录 1.DFS&#xff08;图论&#xff09; 1.1.DFS过程 1.2.应用 2.BFS&#xff08;图论&#xff09; 2.1.BFS过程 2.2.应用 2.3.双端队列BFS 实现 2.4.优先队列BFS&#xff08;堆优化 Dijkstra算法&#xff09; 1.DFS&#xff08;图论&#xff09; DFS全称是&#xff…

图论题目集一(代码 注解)

目录 题目一&#xff1a; 题目二&#xff1a; 题目三&#xff1a; 题目四&#xff1a; 题目五&#xff1a; 题目六&#xff1a; 题目七&#xff1a; 题目一&#xff1a; #include<iostream> #include<queue> #include<cstring> using namespace st…

【探究图论中dfs记忆化,搜索,递推,回溯关系】跳棋,奶牛隔间, 小A和uim之大逃离 II

本篇很高能&#xff0c;如有错误欢迎指出&#xff0c;本人能力有限&#xff08;需要前置知识记忆化dfs&#xff0c;树形dp&#xff0c;bfsdp&#xff0c;tarjan&#xff09; 另外&#xff0c;本篇之所以属于图论&#xff0c;也是想让各位明白&#xff0c;dfs就是就是在跑图&am…

acwing算法提高之图论--单源最短路的建图方式

目录 1 介绍2 训练 1 介绍 本博客用来记录使用dijkstra算法或spfa算法求解最短路问题的题目。 2 训练 题目1&#xff1a;1129热浪 C代码如下&#xff0c; #include <iostream> #include <cstring> #include <algorithm> #include <vector> #inclu…

[第五章]图论BFS

本专栏内容为&#xff1a;算法学习专栏&#xff0c;分为优选算法专栏&#xff0c;贪心算法专栏&#xff0c;动态规划专栏以及递归&#xff0c;搜索与回溯算法专栏四部分。 通过本专栏的深入学习&#xff0c;你可以了解并掌握算法。 &#x1f493;博主csdn个人主页&#xff1a;小…

图论—树的直径(树形DP、BFS)

树的直径——树形 D P 、两次 B F S \Huge{树的直径——树形DP、两次BFS} 树的直径——树形DP、两次BFS 文章目录 树形DP两次BFS 不再详细解释代码&#xff0c;只记录完整模板。 树形DP 可以计算负权边。 时间复杂度&#xff1a; O ( n ) O(n) O(n)。 设 D [ x ] D[x] D[x]表…

双指针,BFS和图论

&#x1f4df;作者主页&#xff1a;慢热的陕西人 &#x1f334;专栏链接&#xff1a;力扣刷题日记 &#x1f4e3;欢迎各位大佬&#x1f44d;点赞&#x1f525;关注&#x1f693;收藏&#xff0c;&#x1f349;留言 文章目录 双指针&#xff0c;BFS和图论1.日志系统2.献给阿尔吉…

搜索与图论——Dijkstra

最短路算法 稠密图与稀疏图 n为点数&#xff0c;m为边数。m远小于n的平方为稀疏图&#xff0c;m接近n的平方为稠密图。 稀疏图用邻接表存&#xff0c;稠密图用邻接矩阵存 朴素版dijkstra时间复杂度为O(n^2),对于稠密图可以ac&#xff0c;但遇到稀疏图时会TLE。 dijkstra函数实…

蓝桥杯-dfs搜索模板题(一)

蓝桥杯-dfs搜索模板题&#xff08;一&#xff09; P2089 烤鸡P1088 火星人P1149 火柴棒等式P2036 PERKETP1135 奇怪的电梯结语 P2089 烤鸡 对于每个位置枚举数字 #include<bits/stdc.h>using namespace std;const int N1010;int n;int arr[N];//临时方案 int res0;//方案…

二叉树的遍历——洛谷P1364

1. 如何构建父节点与子节点的关系 通过一个结构体&#xff0c;包括每一个节点的父、子节点&#xff0c;在读入一个节点的数据时&#xff0c;标记其子节点的父节点为自己 2. 代码 #include<bits/stdc.h> using namespace std;struct node {int f,l,r,w; }tr[105];int n,s,…

图论(Graph theory)

抽象数据结构类型 Graphic操作接口 操作接口功能描述操作接口功能描述e()获取图的总边数n()顶点的总数exits(v,u)判断v,u两个顶点是否存在边insert(v) 在顶点集 V 中插入新顶点 v remove(v,u)删除从v 到u的 关联边 remove(v) 将顶点 v 从顶点集中删除 type(v,u)边所属的类型(…

代码随想录-图论

797.所有可能的路径&#xff1a; . - 力扣&#xff08;LeetCode&#xff09; class Solution {List<List<Integer>> ansnew LinkedList<>();List<Integer> listnew LinkedList<>();public List<List<Integer>> allPathsSourceTarg…

第五题:大写

题目描述 给定一个只包含大写字母和小写字母的字符串&#xff0c;请将其中所有的小写字母转换成大写字母后将字符串输出。 输入描述 输入一行包含一个字符串。 输出描述 输出转换成大写后的字符串。 输入输出样例 示例 输入 LanQiao输出 LANQIAO评测用例规模与约定 对于…

最优乘车

题目描述 H 城是一个旅游胜地&#xff0c;每年都有成千上万的人前来观光。为方便游客&#xff0c;巴士公司在各个旅游景点及宾馆&#xff0c;饭店等地都设置了巴士站并开通了一些单程巴上线路。每条单程巴士线路从某个巴士站出发&#xff0c;依次途经若干个巴士站&#xff0c;…

NOIP2014提高组D1T2:联合权值

题目链接 NOIP2014提高组D1T2&#xff1a;联合权值 题目描述 无向连通图 G G G 有 n n n 个点&#xff0c; n − 1 n-1 n−1 条边。点从 1 1 1 到 n n n 依次编号,编号为 i i i 的点的权值为 W i W_i Wi​&#xff0c;每条边的长度均为 1 1 1。图上两点 ( u , v ) (…