知识点
文章平均质量分 60
losing_QAQ_OIer
这个作者很懒,什么都没留下…
展开
-
以结构体作为map的key(C++)
map嵌套结构体(C++)原创 2022-08-01 20:58:21 · 1177 阅读 · 3 评论 -
德摩根定律
德摩根定律证明看了一些文章,发现一个比较好理解德摩根定律的方法:假设有 n 件事(A1,A2, A3… An)。不做 A1 或不做 A2 或不做 A3 或 …或不做 An ——等价于——不全做数学符号表达即为不做 A1 也不做 A2 也不做 A3 也 …也不做 An ——等价于——全都不做数学符号表达即为...原创 2022-02-07 09:13:15 · 839 阅读 · 0 评论 -
因子个数与因子和
因子个数如果n=∏impiki则n的因子个数为:∏im(1+ki)如果 n = \prod_{i}^{m}p_i^{k_i}\\则n 的因子个数为:\prod_i^m(1+k_i)如果n=i∏mpiki则n的因子个数为:i∏m(1+ki)证明:对于 i ∈ [1,m], 我们可以从 p_i 中拿出 (0, 1, 2 … k_i) 个,一共有( k_i + 1 )种选择,所以一共可以有(k1+1)∗(k2+1)∗...∗(km+1)=∏im(ki+1)(k_1 + 1) *(k_2 + 1)原创 2021-10-06 11:01:12 · 198 阅读 · 0 评论 -
埃氏筛与区间筛
埃氏筛原理根据算术基本定理,每个大于1的数都可以分解成若干个质数的乘积,所以对于一个不是质数的数,只需判断它有质因数即可。埃氏筛(埃拉托斯特尼筛法)其实就是上述过程的逆过程:每枚举到一个质数便把这个质数的倍数打上不是质数的标记。实现具体如下://筛出1~n的质数for(int i = 2; i * i <= n; i++){ //只需枚举到sqrt(n) if(!v[i]){ for(int j = i + i; j <= n; j += i){ v[j] = 1;原创 2021-10-06 09:19:13 · 193 阅读 · 0 评论 -
OI 知识点(持续更新中)
deque不仅支持队尾插入( dq.push_back(+元素) )和队尾弹出( dq.pop_back() ),还支持对头插入( dq.push_front(+元素) )和对头弹出( dq.pop_front() )因此在辗转相除法中,gcd(a,b)=gcd(b,a%b),每次递归中的 “b” 都会小于上一个 “a” ,所以用欧几里得算法求a,b的最大公约数时的时间复杂度为 θ( log(a) )差异: 1、queue只支持队尾插入( q.push(+元素) )和队尾弹出( q.pop() )原创 2021-07-05 20:21:54 · 343 阅读 · 0 评论