上一页 1 ··· 3 4 5 6 7 8 下一页
摘要: 典题合集 题目 思路 col3 前置芝士 二项式定理 [公式] \[\begin{aligned}&n\in\mathbb{N}^*\\{}&(a+b)^n=\sum_{r=0}^nC_n^ra^{n-r}b^r=C_n^0a^n+C_n^1a^{n-1}b+\cdots+C_n^ra^{n-r}b 阅读全文
posted @ 2023-10-16 21:20 White_Sheep 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 打标记 在节点被加入队列时标记为已访问:在将节点放入队列之前,我们将其标记为已访问。这种方式确保了每个节点只会被访问一次,避免了重复访问。这种方式下,BFS按照层次顺序遍历图形,即首先访问距离起始节点最近的节点,然后是距离为2的节点,以此类推。 在节点被取出队列时标记为已访问:在将节点从队列中取出并 阅读全文
posted @ 2023-10-16 20:54 White_Sheep 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 无向图求最大环长度 /* 时间戳+dfs->求最大环的长度 (无向图) */ const int N=2e5+10; //b数组:找出每个连通块的最大环, //dfn数组:为每个节点打上时间戳,演变为一颗深度优先搜索树 int tot,b[N],dfn[N]; bool vis[N]; vector 阅读全文
posted @ 2023-10-16 20:50 White_Sheep 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 图的存储方式 邻接矩阵 w[u][v]存储从点u到点v的边的权值。 时间复杂度: 空间复杂度: 应用:只在点数不多的稠密图,(n=103,m=106)上使用。 const int N=1010; int g[N][N]; int vis[N]; int n,m; int u,v,w; void df 阅读全文
posted @ 2023-10-16 20:39 White_Sheep 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 前置芝士 并查集思想 [性质] 并查集不能判断有向图的环。 0->1 1->2 2->3 3->1 [find] [python] #python while def find(x:int)->int: while x!=fa[x]: x=fa[x]=fa[fa[x]] return x #pyth 阅读全文
posted @ 2023-10-16 18:23 White_Sheep 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 前置芝士 整除分块 性质 (1)对于\(g(x)=\lfloor\frac nx\rfloor\)(其中 x为正整数,且 1≤x≤n),则 g(x) 不同值的个数不会超过 \(2\sqrt{n}\) 个,故时间复杂度为\(\sqrt{n}\)。 [证明] 当\(x\leq\sqrt{n}\)时,直接 阅读全文
posted @ 2023-10-16 13:00 White_Sheep 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 典题合集 题目 思路1 col3 动态维护连通块内第k小(永无乡) 线段树合并+并查集+权值线段树 前置芝士 区间加等差数列 原始序列与差分序列转化 6 2 1 2 3 4 5 6 2 5 1 2 首项:1 公差:2 区间:[2,5] 原始序列:1 2 3 4 5 6 差分序列:1 1 1 1 1 阅读全文
posted @ 2023-10-14 08:18 White_Sheep 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 前置芝士 悬线法 悬线法可以用来解决给定矩阵极大子矩阵问题。 能在O(nm) 时间内解决求给定矩阵中极大矩形(最大子矩形/子正方形)的问题。 可以应用于满足以下条件的题目: 需要在扫描序列时维护单调的信息,比如某种最大值; 可以使用单调栈解决; 不需要在单调栈上二分。 单调队列优化DP 对于形如\( 阅读全文
posted @ 2023-10-13 09:19 White_Sheep 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 终端操作大全 ls -a //查看所有的文件,包括隐藏文件 安装gcc并检测 sudo apt install gcc gcc --version //查看版本号,检测是否正确安装 创建.c文件 touch test.c vim test.c //进入vim,进行编程序,退出:进入命令指令系统,:w 阅读全文
posted @ 2023-10-13 09:05 White_Sheep 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 前置芝士 矩阵知识点 (1)只允许行,列,对角线出现一个元素 int a[100],b[100],c[100],d[100]; //a数组表示的是行; //b数组表示的是列; //c表示的是左下到右上的对角线; //d表示的是左上到右下的对角线; //当访问到(i,j)坐标 a[i]=j;//标记行 阅读全文
posted @ 2023-10-12 19:54 White_Sheep 阅读(1) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 下一页