摘要: 前置芝士 众数 对数 \(log_1(x)\)是没有意义的,会报错。 生成[l,r]的log2数组 以 2 为底的对数实际上是在求一个数在二进制下的最高有效位的位置,这个位置从 0 开始计数,也就是说,如果一个数有 n 位二进制表示,那么它的最高有效位的位置就是 n-1。 for(int i=1;i 阅读全文
posted @ 2023-10-16 23:35 White_Sheep 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 典题合集 题目 思路 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) 编辑