随笔分类 - 算法基础:数论
摘要:这个算法的正式名字是:“Twelvefold way”,共用12种情况。 本文转载自:自为风月马前卒的博文:浅谈"n个球"和"m个盒子"之间的关系 一、球异,盒同 不空 该情况为经典的第二类斯特灵数 设 表示答案 \(f[n][m] = f[n - 1][m - 1] + m
阅读全文
摘要:前置知识:分块。 朴素的打表,指的是在比赛时把所有可能的输入对应的答案都计算出来并保存下来,然后在代码里开个数组把答案放里面,直接输出即可。 注意这个技巧只适用于输入的值域不大(如,输入只有一个数,而且范围很小)的问题,否则可能会导致代码过长、MLE、打表需要的时间过长等问题。 Sample Des
阅读全文
摘要:起因,这两天多校概率题挺多的,又不太会做。 刚好学长发了一些概率问题知识就有这个就去了解了一下 有一个很反直觉的问题,叫作百囚徒挑战。 很多时候,我们都会靠直觉去评价一件事情,但很多时候,我们的直觉是错的,哪怕感觉有多么准确,而最著名的反直觉问题,就是百囚徒挑战。 问题描述 监狱决定给关押的100名
阅读全文
摘要:来源:2020 年百度之星·程序设计大赛 - 初赛一 一个圈,从内到外一共被分成了 个环,中间是空的。 我们把从外到内第 层环平分成 份,其中 是偶数,我们把这 份黑白染色,第奇数个染成黑色,第偶数个染成白色。 现在我们旋
阅读全文
摘要:本文介绍线性代数中一个非常重要的内容——矩阵(Matrix)的一个重要性质:矩阵加速递推 同时本文已经更新至:矩阵(Matrix)系统介绍篇 斐波那契数列(Fibonacci Sequence)大家应该都非常的熟悉了。在斐波那契数列当中, ,\(F_i = F_{i
阅读全文
摘要:抽屉原理,亦可称之为鸽巢原理。 先考虑一种简单的情况:有 个苹果,想要放到 个抽屉里,那么必然会有至少一个抽屉里有两个(或以上)的苹果。 这个定理看起来比较显然,证明方法考虑反证法:假如所有抽屉都至多放了一个苹果,那么 个抽屉至多只能放 个苹果,矛
阅读全文
摘要:快速傅里叶变换 快速傅里叶变换(Fast Fourier Transform, FTT)在ACM/OI中最主要的应用是计算多项式乘法。 多项式的系数表示和点值表示 假设 为 的 阶多项式,则其可以表示为: 这里的 个系
阅读全文
摘要:概述: 费马小定理和欧拉定理是数论中非常重要的两个定理,对解决整除问题和同余问题有着强大的功能。 费马小定理与欧拉定理 **费马小定理:**当 为质数且 不为 的倍数(即: 时有 另一个形式:
阅读全文
摘要:Pollard-Rho 是一个很神奇的算法,用于在 的期望时间复杂度内计算合数 n 的某个非平凡因子(除了1和它本身以外能整除它的数)。事书上给出的复杂度是 , p 是 n 的某个最小因子,满足 p 与 n/p 互质。虽然是随机的
阅读全文
摘要:算法简介 Miller-Rabin算法,这是一个很高效的判断质数的方法,可以在用 的复杂度快速判断一个数是否是质数。它运用了费马小定理和二次探测定理这两个筛质数效率极高的方法。 费马小定理判质数 这个定理在 为质数
阅读全文
摘要:因为我们知道乘法有的时候会溢出,即使是 也可能在乘法时因为结果过大溢出(当模数也是 )。所以我们需要寻找一种能高效完成乘法操作并且不会爆 的算法,也就是快速乘。本文也将对几种常用快速乘及其优化技巧做个总结。 1
阅读全文
摘要:国庆中秋双节,就不写太长的文章了。 补充和复习一下以前没写的素数区间筛法算法吧 部分证明过程来自OI wiki 素数筛法 如果我们想要知道小于等于 有多少个素数呢? 一个自然的想法是我们对于小于等于 的每个数进行一次判定。这种暴力的做法显然不能达到最优复杂度,考虑如何优化。
阅读全文