
组合数学
文章平均质量分 70
范艺杰
这个作者很懒,什么都没留下…
展开
-
关于阶乘的快速算法的研究
解决问题求一个的阶乘n! modPn! \ mod Pn! modP。总述本文提出一种快速阶乘算法,对于模数P没有质数或是合数的要求,假设PPP对于素数ppp的最大分解是pkp^kpk,该算法能够做到在O(maxpk∣Pk2plogpn)O(max_{p^k|P}k^2plog_pn)O(maxpk∣Pk2plogpn)的时间复杂度内将阶乘分解成r∗ptr*p^tr∗pt的形式,其中rrr与ppp互质。本文在文末指出了优化方向,能够将该算法优化至O(maxpk∣Pplog2p原创 2021-09-15 14:40:04 · 1800 阅读 · 0 评论 -
51nod1121 机器人排队
题面题目链接解题思路考虑如何求解阶乘,跟这篇题解类似,是求阶乘的最低十八位。组合数能够写成阶乘的形式。代码#include <cstdio>#include <algorithm>#include <cstring>using namespace std;#pragma GCC optimize(2)typedef long long ll;typedef __int128 Int;Int add(Int a, Int b, Int mo原创 2021-07-16 09:40:50 · 243 阅读 · 0 评论 -
51nod1408 随机函数
题面题目链接解题思路我们要求的是满足seed2x%P≡k(mod n)seed^{2^x} \%P \equiv k(mod\ n)seed2x%P≡k(mod n)的最小的xxx。首先我们要求出满足seedx≡1(mod P)seed^x \equiv 1(mod\ P)seedx≡1(mod P)的最小的xxx,称其为ordordord,即seedseedseed在ppp模系下的阶。考虑对nnn进行分类讨论,定义阈值TTT。1,当n<Tn<原创 2021-07-09 14:00:52 · 171 阅读 · 1 评论 -
51nod1263 广义斐波那契序列
题面题面链接解题思路唐老师在评论区里写的很清楚,只要加上若干常数优化即可。这里提供一份能跑过的代码。代码#include <cstdio>#include <algorithm>#include <cstring>#include <vector>using namespace std;#define MP make_pairtypedef long long ll;const int N = 1e5 + 100;ll q原创 2021-07-07 16:27:35 · 131 阅读 · 0 评论 -
51nod1145 斐波那契序列
题面题目链接解题思路需要一个前置知识fib[i]mod 10kfib[i]\mod 10^kfib[i]mod10k是有周期的,周期是6∗10k6*10^k6∗10k。具体证明见51nod1195的题解。考虑按位倍增处理答案。先处理出所有的位置i,fib[i]≡n (mod 10)i,fib[i]\equiv n \ (mod\ 10)i,fib[i]≡n (mod 10)。然后考虑如何扩展到mod100。我们知道所有的位置j,fib[j]≡n(mod&原创 2021-06-16 18:01:59 · 192 阅读 · 1 评论 -
51nod1151 N!的非0最低18位
题面题目链接解题思路我们将101810^{18}1018拆成218∗5182^{18}*5^{18}218∗518分别求解,再用CRT合并。考虑n!%pkn!\%p^kn!%pk如何求解。我们首先应将n!中所有的p因子剔除。这一步可以递归求解,令f(n,p,k)表示n!%pkn!\%p^kn!%pk且剔除了p的所有因子。则有f(n,p,k)={∏i=1ni,n<pf(n/p,p,k)∗∏i=1,i∤pni,n>=pf(n,p,k)= \left\{ \begin{array} {l原创 2021-06-01 20:13:48 · 336 阅读 · 2 评论 -
51nod1604 对称的方格颜色
题目描述:题目链接解题思路:观察题目的性质:1.中间列不存在第一列和第mmm列同时不存在的颜色。证明:假设第jjj列具有第一列和第mmm列都没有的颜色。根据题目的性质,我们知道第[1,j−1][1,j-1][1,j−1]列的颜色种类和[j,m][j,m][j,m]列的颜色种数相同。我们知道[1,j][1,j][1,j]的颜色种类一定比[1,j−1][1,j-1][1,j−1]的多,而[j+1,m][j+1,m][j+1,m]的颜色种类一定不比[j,m][j,m][j,m]的多,由此可知不相等。原创 2021-03-11 11:27:02 · 166 阅读 · 0 评论