自定义博客皮肤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 138 1

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

动态规划

2022-06-15 18:53:43 136

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

动态规划

2022-06-15 18:39:45 141

原创 图论-欧拉路径

图论知识

2022-06-07 16:29:19 503

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

图论知识

2022-06-06 21:25:36 137

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

图论知识

2022-06-06 21:12:28 83

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

图论知识

2022-06-06 20:41:06 115

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

图论知识

2022-06-06 16:48:49 227

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

图论知识

2022-06-06 16:37:11 139

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

tarjan

2022-06-03 12:58:23 382

原创 图论-最小生成树-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 135

原创 图论-最小生成树-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 132

原创 数据结构-树状数组

模板 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 72

原创 数据结构-并查集

模板 //查询祖宗节点 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 352

原创 数据结构-队列

模板 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 196

原创 数据结构-栈

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

2022-05-04 19:59:53 186

原创 数据结构-链表

模板 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 188

原创 图论-单源最短路算法-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 104

原创 图论-单源最短路算法-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 124

原创 图论-单源最短路算法-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 314

原创 动态规划-数位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 2726

原创 答题技巧-对拍

2022-04-10 13:51:16 741

空空如也

空空如也

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

TA关注的人

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