自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 动态规划-区间DP

动态规划

2022-06-15 20:28:04 92 2

原创 动态规划-状态机模型

动态规划

2022-06-15 18:53:43 91

原创 动态规划-状态压缩DP

动态规划

2022-06-15 18:39:45 85

原创 图论-欧拉路径

图论知识

2022-06-07 16:29:19 356

原创 图论-二分图-二分图可以解决的问题

图论知识

2022-06-06 21:25:36 104

原创 图论-二分图-匈牙利算法

图论知识

2022-06-06 21:12:28 48

原创 图论-二分图-染色法求二分图

图论知识

2022-06-06 20:41:06 67

原创 图论-双联通分量-点的双连通分量

图论知识

2022-06-06 16:48:49 179

原创 图论-双联通分量-边的双联通分量

图论知识

2022-06-06 16:37:11 85

原创 图论-强连通分量(SCC)

tarjan

2022-06-03 12:58:23 309

原创 图论-最小生成树-kruskal

时间复杂度(O(mlogN)O(mlogN)O(mlogN))模板struct Node{ int a, b, w; bool operator< (const Node& t) const { return w < t.w; }}e[M];for (int i = 0; i < m; i ++ ) { int a, b, c; scanf("%d%d%d", &a, &b, &amp

2022-05-10 22:56:01 99

原创 图论-最小生成树-prim

时间复杂度(O(n2)O(n^2)O(n2))模板int prim(){ memset(dist, 0x3f, sizeof dist); int res = 0; for (int i = 0; i < n; i ++ ) { int t = -1; for (int j = 1; j <= n; j ++ ) if (!st[j] && (t == -1 || dist[t] &g

2022-05-10 19:35:08 103

原创 数据结构-树状数组

模板int lowbit(int x) { return x & -x;}//修改数据int add(int x, int c) { for (int i = x; i <= n; i += lowbit(i)) tr[i] += c;}//求和int sum(int x) { int res = 0; for (int i = x; i; i -= lowbit(i)) res += tr[i]; return res;}//初始化for (int i = 1;

2022-05-04 20:53:46 44

原创 数据结构-并查集

模板//查询祖宗节点int find(int x){ if (p[x] != x) p[x] = find(p[x]); return p[x];}//合并两个集合p[find(a)] = find(b);//初始化for (int i = 1; i <= n; i ++ ) p[i] = i;

2022-05-04 20:41:19 313

原创 数据结构-队列

模板int q[N];int hh = 0; tt = -1;//入队q[ ++ tt] = x;//出队hh ++ ;//取队头int x = q[hh];while (hh <= tt) //队列不空{}

2022-05-04 20:04:58 165

原创 数据结构-栈

模板int stack[N];int tt = 0;//入栈stack[ ++ tt] = x;//取栈顶int x = stack[tt];//出栈tt -- ;

2022-05-04 19:59:53 163

原创 数据结构-链表

模板const int N = 100, M = 100;int h[N], e[M], ne[M], idx;//加点void add(int a, int c) { e[idx] = b, ne[idx] = h[a], h[a] = idx ++ ;}//遍历for (int i = h[a]; ~i; i = ne[i]){ }int main(){ memset(h, -1, sizeof h); //表头要初始化为-1 return 0;}...

2022-05-04 19:47:37 158

原创 图论-单源最短路算法-spfa

时间复杂度O(m)O(m)O(m)~O(n∗m)O(n*m)O(n∗m)模板int spfa(){ memset(dist, 0x3f, sizeof dist); dist[1] = 0; queue<int> q; q.push(1); st[1] = true; while (q.size()) { int t = q.front(); q.pop(); st[t] = fa

2022-05-04 19:37:13 67

原创 图论-单源最短路算法-dijkstra堆优化版

时间复杂度O(m∗logn)O(m*logn)O(m∗logn)模板int dijkstra(){ memset(dist, 0x3f, sizeof dist); dist[1] = 0; priority_queue<PII, vector<PII>, greater<PII>> heap; heap.push({0, 1}); while(heap.size()) { auto t = hea

2022-05-04 19:31:46 84

原创 图论-单源最短路算法-dijkstra朴素版

时间复杂度:O(n2)O(n^2)O(n2)模板void dijkstra(){ memset(dist, 0x3f, sizeof dist); dist[1] = 0; //遍历n次,每次把一个dist最小的点放入集合中 for (int i = 1; i <= n; i ++ ) { int t = -1; for (int j = 1; j <= n; j ++ ) //如果j点没被使用

2022-05-04 19:25:42 278

原创 动态规划-数位DP

一些题目有这样的规律:求一段区间内xx的个数是多少。xx描述了要求的数具有的性质。假设求[l, r]这个区间,可以处理成求dp(r) - dp(l - 1)。例:科协里最近很流行数字游戏。某人命名了一种不降数,这种数字必须满足从左到右各位数字成小于等于的关系,如 123,446。现在大家决定玩一个游戏,指定一个整数闭区间 [a,b],问这个区间内有多少个不降数。现在假设一个n位数为N,我们求1~N之间的不降数数量。将N按数位从高到低拆开。可以使用vector来存while (n) nums.push

2022-04-19 21:56:20 2655

原创 答题技巧-对拍

2022-04-10 13:51:16 575

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除