02 2020 档案

摘要:树上线段树 阅读全文
posted @ 2020-02-29 15:43 Emcikem 阅读(210) 评论(0) 推荐(0)
摘要:二进制枚举 对于一个集合子集有$2^n$个,所以枚举有$(1 << n)$个 for(int i = 0; i < (1 << n); i++) 在二进制里0表示不选,1表示选 当n = 3时,集合有${0,1,2,01,02,12,012}$七种选择 $i = 0$时,不选 $i = 1$时,$0 阅读全文
posted @ 2020-02-22 20:58 Emcikem 阅读(462) 评论(0) 推荐(0)
摘要:n个数,区间查询[L,R]出现了几种数字 时间复杂度$O(n\sqrt n)$ 莫队的基本操作就是把n个数进行分块,每一块有$\sqrt n$个,有$\sqrt n$块,然后离线查询,把查询进行排序,按照分块位置排序,如果在同一个分块,那么就按照右区间排序,然后对于每一个排序进行暴力遍历即可 我们开 阅读全文
posted @ 2020-02-21 14:05 Emcikem 阅读(174) 评论(0) 推荐(0)
摘要:两次dfs 时间复杂度$O(n)$ 先从任意移动p出发,找离他最远的点q,在从q点出发,找离他最远的点w,w到q的距离就是树的直径 #include <iostream> #include <cstdio> using namespace std; const int maxn = 1e6 + 5; 阅读全文
posted @ 2020-02-18 13:29 Emcikem 阅读(145) 评论(0) 推荐(0)
摘要:是一种随机化素数检测算法 基于下面的定理 费马小定理:如果p是素数,a不是p的倍数,那么$a ^ {p - 1} \equiv 1(\bmod \ p)$ 二次探测定理:如果p是一个素数,且$x \in [1,p - 1]$,则方程$x ^2 % p = 1$的解为$x = 1$或$x = p - 阅读全文
posted @ 2020-02-17 13:52 Emcikem 阅读(509) 评论(0) 推荐(0)
摘要:给出n和n个数,求异或和为0的子段个数 "传送门" 设a[i]为输入的数 b[i]为异或前缀和 b[i] = a[1] ^ a[2] ^ ... ^ a[i 1] ^ a[i] 已知一个数x^y = 0当且仅当x == y时成立 那么对于一段[1,r]来说,异或前缀和为b[r],那么如果想要以r为异 阅读全文
posted @ 2020-02-11 18:41 Emcikem 阅读(2346) 评论(1) 推荐(0)
摘要:快速积性函数前缀和 阅读全文
posted @ 2020-02-02 13:38 Emcikem 阅读(227) 评论(0) 推荐(0)