以后会慢慢更的。 大体参考了劝退树,OI-wiki 和 \(\rm Menci\)、\(\rm Zory\) 两位大佬的 \(\rm Blog\),在此表示感谢,其中在知识架构上主要参考了劝退树,OI-wiki 和 \(\rm Zory\) 的 \(\rm Blog\),而具体内容上则主要参考了后三 ...
分类:
编程语言 时间:
2021-06-02 10:36:21
阅读次数:
0
我的 CSDN 博客:blog.csdn.net/gdutxiaoxu我的掘金:juejin.im/user/220747…github: github.com/gdutxiaoxu/微信公众号:程序员徐公 前言 说到树的四种遍历方式,可能大家第一时间都会想到它的四种遍历方式,并快速说了它的特点。 ...
分类:
编程语言 时间:
2021-04-09 13:01:00
阅读次数:
0
n为节点数量,m为边数量 EK算法复杂度:O(n*m^2) dinic算法复杂度:O(n^2*m) EK算法思想就是先用bfs找到一条增广路(从源点到汇点有流量的路),然后用pre数组记录这条路径上每一个节点的上一个节点。之后利用pre数组完成对这条路上所有边流量的消减,以及增加答案。看代码就清楚了 ...
分类:
编程语言 时间:
2021-03-29 12:24:11
阅读次数:
0
冒泡排序 1 void BubbleSort(ElementType A[], int N) { 2 ElementType temp; 3 for(int i=0; i<N; i++) { 4 for(int j=0; j<N-i-1; j++) { // 关键点在与j<N-i-1,生成一个升序的 ...
分类:
编程语言 时间:
2021-01-08 11:33:42
阅读次数:
0
最短路 SPFA #include <bits/stdc++.h> using namespace std; #define N 10001 #define M 500001 struct node{ int to,w,next; }edge[M]; int cut=0; int head[N]; ...
分类:
编程语言 时间:
2020-11-04 18:47:58
阅读次数:
18
快速排序算法总结 排序算法有很多,选择,冒泡,插入......其中,快速排序算法效率算是比较高的一种了,不像选择,冒泡,快速排序进行的是在选定一个基准值(在序列中)的情况下左右同时的交替扫描的一种高效率算法。 快速排序的基本思想是选定一个基准值,通过扫描对比实现序列中比基准值大的都在基准值的右侧,同 ...
分类:
编程语言 时间:
2020-09-17 20:09:29
阅读次数:
35
分治算法定义 将一个问题分解成多个子问题,将问题缩小到一定规模后逐个求解,最后合并所有子问题 分治算法步骤 分解(将原问题分解成一个形式相同规模更小的子问题) 解决(递归求解子问题,直到问题的规模足够小,直接求解) 合并(合并子问题的解,得到原问题的解) 分治算法例题(实际应用) 插入排序 思路 一 ...
分类:
编程语言 时间:
2020-09-17 13:57:45
阅读次数:
33
边双联通分量 inline void Tarjan(int x,int inedge) { dfn[x]=low[x]=++cnt; for(int i=Last[x];i;i=e[i].next) { int y=e[i].ver; if(!dfn[y]) { Tarjan(y,i); low[x ...
分类:
编程语言 时间:
2020-07-09 13:51:37
阅读次数:
81
点击使用幕布网页版查看(含思维导图) 排序算法总结 如何实现一个通用的排序算法 要知道时间复杂度只是描述一个增长趋势,复杂度为O(n2)的排序算法执行时间不一定比复杂度为O(nlongn)长,因为在计算O时省略了系数、常数、低阶。实际上,在对小规模数据进行排序时,n2的值实际比 knlogn+c还要 ...
分类:
编程语言 时间:
2020-07-04 15:17:35
阅读次数:
76
原文:http://blog.chinaunix.net/uid-10289334-id-3758310.html 基于划分聚类算法(partition clustering) k-means: 是一种典型的划分聚类算法,它用一个聚类的中心来代表一个簇,即在迭代过程中选择的聚点不一定是聚类中的一个点 ...
分类:
编程语言 时间:
2020-07-01 16:16:44
阅读次数:
76