专题总结
文章平均质量分 87
xxatz
这个作者很懒,什么都没留下…
展开
-
Tarjan算法求割点、割边、SCC(缩点)
文章目录Tarjan算法的应用无向图中求割点(割顶)求割边(桥)有向图中求SCC且缩点Tarjan算法的应用本文不介绍算法实现(毕竟其他算法实现太多讲的了),只提供自己整理的模板(我认为我这版代码看应该最舒服了)一些概念:割点割边SCCDCCTarjan算法:时间戳 dfn[i]dfn[i]dfn[i]搜索树回溯值 low[i]low[i]low[i]无向图中求割点(割顶)割边判定法则:xxx 是割点 ⟺ \iff⟺ 存在 xxx 的搜索树上的一个子节原创 2022-03-25 22:39:48 · 791 阅读 · 0 评论 -
整数与整除
文章目录整数与整除扩展欧几里得算法例题:P2613 【模板】有理数取余例题:P1516 青蛙的约会逆元整数与整除扩展欧几里得算法裴蜀定理:若 a,b∈Za,b\in Za,b∈Z,对于任意整数 x,yx,yx,y,ax+by=kgcd(a,b)\color{red}ax+by=k\gcd(a,b)ax+by=kgcd(a,b)。特别的,存在x,yx,yx,y,使得 ax+by=gcd(a,b)ax+by=\gcd(a,b)ax+by=gcd(a,b)用来判断式子是否有解:ax+by=max原创 2022-01-21 10:43:22 · 456 阅读 · 0 评论 -
并查集(洛谷试炼场——提高历练地)
并查集普通并查集查找+路径压缩int find(int x){ if(pre[x] == x) return x; return pre[x] = find(pre[x]);}合并void Union(int x, int y){ int fx = find(x), fy = find(y); if(fx != fy) pre[fx] = fy;}例题:P3367【模板】并查集#include<bits/stdc++.h>#defin原创 2021-09-03 16:35:59 · 162 阅读 · 0 评论 -
同余最短路(总结)
同余最短路**能解决的问题:**给定nnn个整数,求这nnn个数能拼凑出多少其他的整数(可重复取)。或者求nnn个整数不能拼出的最大/最小数。这类题目较少,主要的就这两道题,看例题吧P3403 跳楼机若暴力:O(h)O(h)O(h)若动态规划:完全背包当hhh到达long longlong\;longlonglong级别时,就不好用了,只能用同余最短路咋做:**先用同余思想将O(h)O(h)O(h)复杂度降到O(min{a})O(min\{a\})O(min{a})原创 2021-08-16 21:45:56 · 764 阅读 · 0 评论 -
并查集(总结)
并查集普通并查集查找+路径压缩int find(int x){ if(pre[x] == x) return x; return pre[x] = find(pre[x]);}合并void Union(int x, int y){ int fx = find(x), fy = find(y); if(fx != fy) pre[fx] = fy;}例题:luogu P1111修复公路#include<bits/stdc++.h>#de原创 2021-08-16 21:00:56 · 87 阅读 · 0 评论