摘要: 【前缀和】 前缀和是一个数组在某个下标之前的所有数组元素之和(包括此元素)。 接下来b[]为前缀和数组,arr[]为原数组 一维前缀和 定义式:$b[i] =\sum_^a[j]$​; 递推公式:\(b[0]=0; b[i] = b[i-1]+a[i]\); 初始化O(n): for(int i = 阅读全文
posted @ 2021-01-25 19:17 h星宇 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 介绍扩展欧几里得算法之前,我们先介绍贝祖定理,即对任意整数a,b,那么一定存在整数x,y,使得$ax+by=gcd(a,b)$ 使用欧几里得算法(辗转相除法)我们可知:当到达递归边界时有$b=0,a=gcd(a,b)$,我们可以得到一个式子$a·1+b·0=gcd(a,b),x=1,y=0$,注意这 阅读全文
posted @ 2021-01-25 19:13 h星宇 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 并查集是一种将一个集合以树形结构进行组合的数据结构,用于处理一些不相交集合的合并及查询问题 并查集的主要操作有:初始化、合并、查找 初始化:将每个元素的父辈设为自己,即自己形成一组 void init_set(){ for(int i = 1; i <= n; i++){ arr[i] = i; } 阅读全文
posted @ 2021-01-25 19:04 h星宇 阅读(53) 评论(0) 推荐(0) 编辑