摘要: 待整理 阅读全文
posted @ 2024-02-24 00:18 Eric` 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 朴素版-适用于稠密图 思路: 集合S为已经确定最短路径的点集。 初始化距离 一号结点的距离为零,其他结点的距离设为无穷大(看具体的题)。 循环n次,每一次将集合S之外距离最短X的点加入到S中去(这里的距离最短指的是距离1号点最近。点X的路径一定最短,基于贪心,严格证明待看)。然后用点X更新X邻接点的 阅读全文
posted @ 2024-02-24 00:18 Eric` 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 拓扑序列概念: 若一个由图中所有点构成的序列 A满足:对于图中的每条边 (x,y),x 在 A中都出现在 y之前,则称 A 是该图的一个拓扑序列。 有向无环图才有拓扑序列 AcWing-848 #include <cstring> #include <iostream> #include <algo 阅读全文
posted @ 2024-02-24 00:17 Eric` 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 待整理 阅读全文
posted @ 2024-02-24 00:16 Eric` 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 1.数组模拟堆 作用: 修改任意一个元素: heap[k]=x; down(k); up(k); 求集合中的最小值: heap[1]; 插入一个数: heap[++size]; 删任意一个元素: heap[k]=heap[size]; size--; down(k); up(k); 删最小值: he 阅读全文
posted @ 2024-02-23 22:50 Eric` 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 作用: 1.将两个集合合并 2.询问两个元素是否在一个集合当中 基本原理: 每个集合用一棵树来表示,树根的编号就是整个集合的编号。每个节点存储它的父节点,p[x]表示x的父节点 操作: 1.判断树根: if(p[x]==x); 2.求x的集合编号: while(p[x]!=x) x=p[x]; 3. 阅读全文
posted @ 2024-02-23 21:56 Eric` 阅读(5) 评论(0) 推荐(0) 编辑
摘要: #include <iostream> using namespace std; const int N=100010; int son[N][26];//第一维表示父亲的位置,第二维存儿子的名字 表示儿子的位置 int cnt[N];//所有串以该点结尾的个数 int idx;//当前用到哪个下标 阅读全文
posted @ 2024-02-23 19:39 Eric` 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 待整理 阅读全文
posted @ 2024-02-22 23:37 Eric` 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 待整理 阅读全文
posted @ 2024-02-22 15:38 Eric` 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 质数 1.定义: 在大于1的整数中,只包含1和本身这两个约数的数称为质数或者叫素数.而合数是指在大于1的整数中除了能被1和本身整除外,还能被其他数(0除外)整除的数(1既不是质数也不是合数,质数和合数是针对所有大于1的 “自然数” 来定义的) 2.质数判定 (1)试除法: AcWing-866 思路 阅读全文
posted @ 2024-02-21 20:42 Eric` 阅读(14) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示