摘要:
树状数组或者二叉索引树也称作Binary Indexed Tree,又叫做Fenwick树;它的查询和修改的时间复杂度都是log(n),空间复杂度则为O(n),这是因为树状数组通过将线性结构转化成树状结构,从而进行跳跃式扫描。通常使用在高效的计算数列的前缀和,区间和。 其中a数组就是原数组,c数组则 阅读全文
摘要:
这个的算法是 O(n log log n) 两只log 两只log 跑的快~ 接近线筛 线筛太麻烦了。。主要是这个算法比较简便 线筛不会重复筛选 而这个有一部分是要重复筛选的 下面来看真的线筛。。 “最小质因数 × 最大因数(非自己) = 这个合数” 的途径删掉。由于每个数只被筛一次,时间复杂度为 阅读全文
摘要:
kruskal是按权值排序的贪心算法 众所周知 n个点 靠n-1条边就可以连通了。。 带上权值 就可以连成一棵最小生成树。 prim的话 prim的话 有好几种版本。。 prim不如kruskal 如果说要是稠密图【比较少的吧】 就用prim 其实prim的优化挺快的吧 emm 阅读全文
摘要:
并查集通过一个一维数组来实现,本质上是维护一个森林。刚开始的时候,森林里的每一个结点都是一个集合(也就是只有一个结点的树),之后根据题意,逐渐将一个个集合合并(也就是合并成一棵大树)。之后寻找时不断查找父节点,当查找到父结点为本身的结点时,这个结点就是祖宗结点。合并则是寻找这两个结点的祖宗结点,如果 阅读全文
摘要:
//非难度递增。 $快速幂(quickpow)$ $最短路(Floyd+spfa+dijkstra)$ $大乘法$ $前缀和(一维+二维)$ $并查集$ $最小生成树(kruskal+prim)$ $线筛$ $快排$ $树状数组$ $线段树$ $二分/三分$ $ST表$ $裴蜀定理$ $tarjan 阅读全文
摘要:
最短路的题目 阅读全文