2024年8月10日

拓扑排序+反向拓扑

摘要: 拓扑排序:是一个有向无环图的所有顶点的线性序列。且该序列必须满足两个条件 每个顶点出现且只出现一次。 若存在一条从顶点 A 到顶点 B 的路径,那么在序列中顶点 A 出现在顶点 B 的前面。 Kahn(卡恩)算法 算法的核心用队列维护一个入度为0的节点的集合。 初始化,队列q压入所有入度为0的点; 阅读全文

posted @ 2024-08-10 12:40 swj2529411658 阅读(16) 评论(0) 推荐(0) 编辑

2024年8月9日

最短路

摘要: 最短路算法框架 单源最短路:求一个点到其他点的最短路 多源最短路:求任意两点的最短路 稠密图用邻接矩阵存,稀疏图用邻接表来存。 稠密图:m和n2一个级别 稀疏图:m和n一个级别 dijkstra算法 朴素版 用来求一个源点到其他点的最短距离 #include <bits/stdc++.h> usin 阅读全文

posted @ 2024-08-09 18:56 swj2529411658 阅读(4) 评论(0) 推荐(0) 编辑

图论基础实现

摘要: 图的存储 使用邻接表来存储 #include <bits/stdc++.h> using namespace std; const int N=1e5; vector<int>edge[N]; //使用邻接表来实现这张图 int main() { int n,m; cin>>n>>m; for(in 阅读全文

posted @ 2024-08-09 16:00 swj2529411658 阅读(8) 评论(0) 推荐(0) 编辑

2024年8月8日

Codeforces Round 964 (Div. 4)

摘要: 知识点 1.对于两个数字,一个乘n,一个除以n,可以理解为n进制下的这个数乘10和除10。比如E题用这个知识点就可以很快的解决问题。 题解 A. A+B Again? #include <bits/stdc++.h> #define int long long using namespace std 阅读全文

posted @ 2024-08-08 15:27 swj2529411658 阅读(15) 评论(0) 推荐(0) 编辑

2024年8月5日

上海理工大学校内选拔赛(重现赛)

摘要: 天气预报 还没补 A+B Problem 找最大值和第二大的值,不是最大值的元素加上最大值,是最大值的元素加上第二个最大值即可 #include <bits/stdc++.h> using namespace std; #define int long long #define pii pair<i 阅读全文

posted @ 2024-08-05 10:36 swj2529411658 阅读(9) 评论(0) 推荐(0) 编辑

2024年8月3日

二叉树知识点

摘要: 1. 树的介绍 1. 1树的定义 树是一种数据结构,它是由n\((n>=1)\)个有限节点组成一个具有层次关系的集合。 把它叫做树是因为它像一颗倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下特点: 每个节点有零个或多个子节点; 没有父节点的节点称为根节点; 每一个非根节点有且仅有一个父节点; 阅读全文

posted @ 2024-08-03 14:18 swj2529411658 阅读(16) 评论(0) 推荐(0) 编辑

2024年8月2日

dijkstra的封装模版

摘要: /** - swj - * />_____フ | _ _| /`ミ _x ノ / | / ヽ ? / ̄| | | | | ( ̄ヽ__ヽ_)_) \二つ **/ #include <bits/stdc++.h> using namespace std; using i64=long long; str 阅读全文

posted @ 2024-08-02 19:33 swj2529411658 阅读(13) 评论(0) 推荐(0) 编辑

2024年8月1日

河南萌新联赛2024第(三)场:河南大学

摘要: Circle 画出4个圈的交叉 所以就是1 2 4 8 14,从第二个数开始,每个+2,+4,+6,....以此类推。 void solve() { int a[1000005]={0}; a[0]=1; a[1]=2; for(int i=2;i<1000005;i++) { a[i]=a[i-1 阅读全文

posted @ 2024-08-01 19:36 swj2529411658 阅读(41) 评论(0) 推荐(0) 编辑

2024年7月31日

2024 (ICPC) Jiangxi Provincial Contest -- Official Contest

摘要: L. Campus 1.首先考虑时间复杂度,因为最多只会有2*k的时间点,所以我们采取的策略是,对这每个时刻,判断有多少扇门是开的,并且考虑这些门到其他点的最短路之和。 2.输入完数据以后,使用dijkstra算法对每一个可以开的门,跑这个门到其他点的最短路,然后,去遍历时间1-t,对于每个时刻,检 阅读全文

posted @ 2024-07-31 20:55 swj2529411658 阅读(50) 评论(0) 推荐(1) 编辑

最近公共祖先(LCA)

摘要: 原作者:董晓算法 https://www.cnblogs.com/dx123/p/16320465.html 倍增法模版 如果要计算两个点的树上距离使用这个模版会方便点,复杂度\(O((m+n)*logn)\) /** - swj - * />_____フ | _ _| /`ミ _x ノ / | / 阅读全文

posted @ 2024-07-31 09:23 swj2529411658 阅读(19) 评论(0) 推荐(0) 编辑

导航