2.每次找一个没有被标记为最短路的点 且该点到目前的最短路最近。4.用打上最短路的点取更新其他点的到起点的最短路。1.首先先将起点的距离设置为0;3.将找到的点打上最短路标签。
2024-07-22 22:52:38
22
【代码】有向图的拓扑排序 拓扑排序。
2024-07-22 21:55:11
19
使用链表时需要注意数组中的元素由开辟时的野节点转化为逻辑上的节点。
2024-07-22 21:13:14
81
【代码】n-皇后问题 DFS。
2024-07-22 06:31:32
65
【代码】排列数字 DFS模板。
2024-07-22 06:04:44
62
字符串前缀哈希数组的作用就是能够像数组前缀和快速查找某一区间的和一样得到字符串某一连续子串的哈希值在O(1)的时间复杂度内实现字符串匹配。而且一个和字符串等长的字符串前缀哈希数组可以表示出该字符串所有连续子串,空间开销小。预处理一遍得到字符串前缀哈希一遍可以快速得到所要匹配区间的哈希值进行匹配。
2024-07-22 05:41:40
32
【代码】连通块中点的数量 并查集模板。
2024-07-22 00:35:22
99
【代码】合并集合 并查集模板。
2024-07-22 00:08:00
79
对于数组中每一个数尽量找到另一位每一位二进制位都是与之相反的数,这样就需要将每一个数拆开存储。
2024-07-21 23:34:39
134
右移几位就是删除末尾的几位。2.返回某一位上1的奇偶性。
2024-07-21 23:05:06
39
【代码】Trie字符串统计 字典树模板。
2024-07-21 22:29:27
118
【代码】滑动窗口 单调队列模型。
2024-07-21 20:50:49
65
【代码】单调栈。
2024-07-21 20:11:06
108
【代码】表达式求值 用栈实现中序表达式求值。
2024-07-21 19:37:52
50
【代码】双链表 用数组实现一个双链表。
2024-07-21 15:52:52
112
【代码】用数组手搓链表。
2024-07-21 14:27:50
74
按左端点排序后,用已有区间的最大右端点来贪心合并后面的区间。
2024-07-21 01:16:44
127
将所有可能用到的坐标离散化,然后将对应的操作作用于离散化之后的容器中即可。
2024-07-21 00:56:23
155
lowbit是取出一个数最后一位二进制的操作。
2024-07-21 00:10:28
84
【代码】最长连续不重复子序列 双指针模板。
2024-07-21 00:10:25
72
和leetcode上的双指针求两数之和思路一样。
2024-07-21 00:10:21
161
用一个慢指针指向a序列用一个快指针指向b序列,每次向后移动快指针当快慢指针指向元素相同时向后移动慢指针,完成子序列的匹配。
2024-07-21 00:10:19
78
所有双指针算法都是O( n )的。
2024-07-20 23:08:09
55
1.某一段区间整体加,插入可以看作是一个格子的加。2.用差分数组求前缀和返回操作后的原数组。
2024-07-20 21:36:04
121
差分对应位的前缀和就是还原后的原数组。
2024-07-20 21:03:40
102
能够快速算出某个子矩阵的和。
2024-07-20 20:38:00
146
【代码】前缀和 模板。
2024-07-20 20:18:06
127
【代码】数的三次方根 浮点数二分。
2024-07-20 19:59:37
199
用两种二分先找第一个x的位置再找第二个x的位置。
2024-07-20 19:48:25
173
二分的本质其实不是单调性,而是在一个范围内有一种性质,使得在某点的左边都满足而在某点的右边都不满足或者反过来,二分就可找到这样一个临界点左边界和右边界。
2024-07-20 19:15:07
111
在每次归并排序合并的时候计算逆序对数量。
2024-07-20 19:06:08
74
【代码】归并排序 模板。
2024-07-20 18:26:15
54
【代码】第k小的数 快速选择算法。
2024-07-20 13:30:32
173
【代码】快速排序 模板。
2024-07-20 13:28:45
73
【代码】潜水员 二维至少费用最小值。
2024-07-20 04:14:05
251
在01背包的基础上再对第二维费用枚举一遍即可。
2024-07-20 03:21:12
108
在每次输入按照对应的背包处理方案进行处理即可。
2024-07-20 03:12:22
126
这题的写法对比于普通的求确定的完全完全背包方案数由当前这个数向前找贡献,变为了当前这个数对后做贡献。不能由小于等于它的货币表示出,就是一个。
2024-07-19 02:18:11
188
相比于普通完全背包f [ i ][ j ]从之前的第 i 个物品位体积小于等于 j 的最大物品数变为,第 i 个物品位体积等于 j 的物品数。求01背包和完全背包都需要将f [ 0 ]的初始值赋为1。
2024-07-19 01:12:08
169
相比于01背包 f [ i ][ j ]的含义从物品位是 i 容量是总物品体积小于等于 j 变为物品位是 i 总物品体积刚好等于 j。
2024-07-19 00:37:50
107