08 2024 档案

摘要:排列数 定义 从 n 个不同元素中任取 m(n,mN,mn) 个元素按照一定顺序排成一列,叫做从 n 个不同元素中取出 m 个元素的一个排列;从 n 个不同元素中取出 m 个元素的所有排列的个数,叫做从 n阅读全文
posted @ 2024-08-13 14:41 catting123 阅读(63) 评论(0) 推荐(0) 编辑
摘要:同余式 若两个整数 a,bm 的余数相同,则称 a,bm 同余,记为 ab(modm)。 费马小定理 若 p 为质数,且 a,p 互质,则 ap11(modp)。 欧 阅读全文
posted @ 2024-08-12 22:27 catting123 阅读(113) 评论(0) 推荐(0) 编辑
摘要:快速幂 幂运算的本质是做乘法,对于 ab,其核心思想是将指数 b 进行二进制分解,然后对 b 的每一位进行进行乘法,时间复杂度为 O(logb)。 ll quick_power(ll a, ll b, ll p) { ll ans = 1 % p; for (; 阅读全文
posted @ 2024-08-06 11:06 catting123 阅读(40) 评论(0) 推荐(0) 编辑
摘要:素数 定义 一个大于 1 的自然数,除了 1 和它自身外,不能整除其他自然数的数。 性质 素数有无穷多个 存在任意长的连续数,其中所有数都是合数,即相邻素数之间的间隔任意大。 随着 n 的增大素数越来越稀疏。 哥德巴赫猜想 任意大于 2 的正偶数都可以写成两个素数的和 阅读全文
posted @ 2024-08-06 10:08 catting123 阅读(138) 评论(0) 推荐(0) 编辑
摘要:背包DP是线性DP中一种特殊的DP。 01背包 最基础的背包,有 n 件物品,背包容量为 V,每件物品只有一件。可以使用空间优化,一般是原地滚动,此时注意容量需要从后往前更新,否则会一个状态更新多次。时间复杂度为 O(nV)。 核心代码 void solve() { int 阅读全文
posted @ 2024-08-01 18:58 catting123 阅读(48) 评论(0) 推荐(0) 编辑
摘要:状压DP(Bit mask DP)将状态压缩为二进制表示,用于处理状态复杂的问题。主要分为一维和二维两种类型。 一维状压DP 最经典的是求最短哈密顿路径,对应 n 个结点的带权无向图,暴力枚举所有情况的时间复杂度为 O(n),但是我们思考一下,到达某个顶点时,需要记录在这之前已经走过 阅读全文
posted @ 2024-08-01 18:20 catting123 阅读(24) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示