👇 微信 👇

欢迎私信交流

5-前缀和
5-前缀和
1. 计算出前缀和 2. 使用前缀和求解区间问题 ``` // a为普通数组,s 为 a 的前缀和数组 S[i] = a[1] + a[2] + ... a[i] a[l] + ... + a[r]
1-单链表
1-单链表
1. 用数组分别存储链表节点值和下一个节点的索引 ```java import java.util.*; public class Main { static int N = 100010;
8-Trie树
8-Trie树
```java import java.util.*; public class Main { static int N = 100010; // 一个字母即为一个节点 //
12-匈牙利算法
12-匈牙利算法
```java import java.util.*; public class Main { static int N = 510, M = 100010; static int n
6-BellmanFord算法
6-BellmanFord算法
松弛操作是一个用于不断更新最短路径估计值的操作 ```java import java.util.*; public class Main { static int N = 510, M =
字符串哈希
字符串哈希
1. 使用散列表将字符串映射为数字 2. 根据映射结果判断是否相同 - 为每个子串生成一个哈希值 - 指定子串 a 为区间[l, r]上的字符串联得出的字符串 - 如何计算该子串的哈希值 ``` 已知
逆序对的数量
逆序对的数量
1. 划分区间 1. 从中间划分 2. 递归处理子区间 1. 使两个子区间有序 2. 同时求解出两个`子区间内部`的逆序对的数量 3. 合并子区间 1. 使整个区间有序 2. 同时求解出`横
1-3筛质数
1-3筛质数
1. 从小到大遍历(从2开始) 2. 使用质数筛去和数 1. 找到第一个质数 p,然后筛去 p 的所有倍数 3. 继续筛选,直到 sqrt(n) 4. 注意事项 1. 同一个和数可能会被筛选多次
6-表达整数的奇怪方式
6-表达整数的奇怪方式
```java public class Main { static long k1, k2; public static void main(String[] args) {
7-高斯消元
7-高斯消元
```java import java.util.*; public class Main { static int N = 110; static double[][] a = ne