自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 trie树(字典树)模板

Trie模板:统计难题 题目描述 Lgnatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀)。 输入输出格式 输入格式: 输入数据的第一部分是一张单词表(不超过10^4个单词),每行一个单词,单词的长度不超过10,它们代表的是老师交给Lgnatius统计的单词。 接下来一个空行,代表单词表...

2019-05-01 19:05:23 477

原创 树状数组

树状数组 本质:快速进行区间单点修改和区间求和的数据结构 复杂度:单次操作复杂度为(logn) 流程: 1.设置lowbit函数 2.单点修改,用while循环修改从这个点起后面一切会影响到的结点,每次加上lowbit自身,跳到下一个2的次方点修改 3.区间和询问,用while循环依次累加对这个点前缀和有影响的节点,每次减去owbit自身,跳到前一个2的次方点累加,再将两前缀和相减得到区间和 原理...

2019-02-28 21:06:07 111

原创 并查集

并查集 本质:一种用于分离集合操作的抽象数据类型,能动态地维护和处理集合之间的复杂关系,n个元素实现反复“查”“并”集合元素的操作。 复杂度:O(a(n)) (比O(logn)快) 流程: “查”操作:1.将每个元素初始父节点设为自己 2.查找一个元素若父节点不为自己,则查找父节点元素 3.递归回来后将得到的祖先点的值赋值给父节点,返回父节点的值即为此元素的祖先。 “并”操作:1.将两个元素的祖先...

2019-02-27 22:38:45 101

原创 最大公约数

最大公约数(最小公倍数) 本质:求自然数m和n的最大公约数。 复杂度:O(1) 流程:将较大数除以较小数,将除数作为新的被除数,余数作为新的除数进行新的操作,若余数为零,则此时的除数为两数最大公约数。递归易实现。 原理:辗转相除法(将两数乘积除以最大公约数即为最小公倍数) 实现: #include<bits/stdc++.h> using namespace std; long lon...

2019-02-27 22:01:30 128

原创 素数筛法

线性筛素数 本质:判断自然数n以内的m个数是否是质数。 复杂度:O(n) 流程:特判0和1,然后循环每一个数i,若已标记i则是合数,否则便从ii开始标记i的倍数为合数,最后剩下的未标记的即为质数。 原理:质数的定义。 实现: #include<bits/stdc++.h> using namespace std; int n,m; bool vis[10000003]; int x; ...

2019-02-27 21:51:31 281

原创 快速幂模板

快速幂模板 本质:通过分治法快速求解b的p次方对k取模的值。 复杂度:(log2p) 流程:通过函数计算,枚举指数不为零,一次性乘p能除尽的最大2的次方个底数,由此加快效率。 实现: #include<bits/stdc++.h> using namespace std; long long b,p,k; long long quickpow(long long x,long long...

2019-02-27 21:39:13 127

原创 Hello CSDN

今天是我第一次写博客。希望能通过写博客获得成长! “Hello CSDN!”

2019-02-27 21:27:39 98

空空如也

空空如也

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

TA关注的人

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