随笔分类 - acm常用板子
摘要:比赛时需要找素数给我顿住了,赶紧做一篇博客记录一下找素数的两种常用方法 1.暴力枚举 (偷懒数小的时候用) 时间复杂度O(n*sqrt(n)) 一个个枚举根据素数定义判断即可 #include<bits/stdc++.h> #define ll long long using namespace s
阅读全文
摘要:1.前向星存储 前向星是一种特殊的边集数组,我们把边集数组中的每一条边按照起点从小到大排序,如果起点相同就按照终点从小到大排序, 并记录下以某个点为起点的所有边在数组中的起始位置和存储长度,那么前向星就构造好了. 比如有起点终点和权值为以下的边: 1 2 1 // 1->2 权值为1 2 3 2 3
阅读全文
摘要:最近在学最小生成树得时候又用到了并查集,一起来整理一下 1.并查集 并查集就是字面意思,将两个单独得集合合并成一个大的集合。 并查集关键在于两个操作:合并和查找 先要完成查找操作(合并操作在查找的基础上) int find(int x) { return root[x] == x ? x : roo
阅读全文
摘要:KMP模板 1.next数组的实际含义 next数组从-1开始,主串a,子串b,next[j]=k,满足b[0,k-1]==b[j-k,j-1],k同时也为b子串前缀的下标,j为b子串后缀的下标 get_next函数如下: void get_next(string b,int *next) { in
阅读全文
摘要:新生赛以后就正式成为一名acmer啦 ~虽然没有打过比赛 要好好学算法,拿一个牌嘛~ 这里就记录算法学习情况,也怕自己偷懒,学一个就记录,看看长时间拖更就是在摸鱼,摸鱼和鸽子都是本质 ,加油! 开坑时间 2020.12.9 2020.12.9 今日快排走起(加模板) quicksort! void
阅读全文