Welcome to My Playground / 欢迎来到我的技术空间

你好,我是 zbl2012 👋

我是zbl2012,一名 GD 的初一 OIer。luogu:zbl2012

zbl2012@archlinux:~
~/blog $ cat skills.json
"languages": ["C++", "Javascript/TS", "Python"],
"focus": ["数据结构与算法", "动态规划", "Web系统工程"]
28精选文章
11分类目录
2026年5月5日预计 7 分钟阅读
OI

质数筛

质数筛也是数论中非常重要的一个部分。 根号筛 这个是很多人第一个学的筛法,也是最简单的筛法。 做法很简单,就是枚举 2 到 n-1 里所有的数,如果当前数可以被 n 整除,那么 n 显然就是一个和数。直到跑完循环也没返回,就说明 n 是一个指数。当然,n<2 要特判,n=2 也要特判。这样做每次判断一个数的时间复杂度是 On,判断 n 个数的时间复杂度是 On^2。太慢了,要优化。 ...

2026年5月5日预计 6 分钟阅读
OI

组合数

从 1,2,3,...,n 中选择 m 个数的方案数,记为 \dbinom{n}{m},也可记为 C^mn。读作 “n 取 m”。\dbinom{n}{m}=\frac{n!}{m!n-m!} On^2 引理:在杨辉三角中的第 n 行 m 列等于 \dbinom{n}{m}。 根据这个引理,我们可以用构造杨辉三角的形式构造组合数。 杨辉三角的构造很简单,就是当前位等于上面的加左上的,也就...

2026年5月5日预计 5 分钟阅读
OI

逆元

逆元的诞生是源于除法没有同余定理。 逆元的定义:在模意义下,一个数 a 除以 b,等于乘 b 的逆元。 首先我们要知道什么是同余定理。其实就是针对取模的运算的基本原理: 当 a\equiv b\pmod m,c\equiv d\pmod m,m>0 时: a+c\equiv b+d\pmod m\\a-c\equiv b-d\pmod m\\ac\equiv bd\pmod m ...

2026年5月5日预计 3 分钟阅读
OI

快速幂

快速幂是很多数学题的最基本的东西,是一种可以在 O\log n 的复杂度求解 a^n 的问题的算法。 一般来说,求解 a^n 的问题要循环 n 次,每次乘 a,时间复杂度 On。 但是快速幂用到了一个性质:任何一个正整数都可以写成几个 2 的次幂的和,其实就是可以转换成二进制。 所以可以将 a^n 转换成: n=2^{x1}+2^{x2}+2^{x3}+...+2^{xt},t\le\...

2026年5月5日预计 4 分钟阅读
OI

容斥原理

计数最基础的东西。 首先我们要知道什么是计数。 集合 A 的计数用 |A| 表示,计数的严格表示就是: |A|=\sum{a\in A}1 其实就是集合 A 中的元素个数。 容斥原理就是它的字面意思,容表示加,斥表示减,所以容斥原理就是加加减减。我们都学过,如果两个没有交集的集合 A 和 B 取并集的计数就是直接讲两个集合的计数相加,也就是 |A \cup B|=|A|+|B|,A\...

每页显示:1 / 1