随笔分类 - 数学
摘要:矩阵乘法。 关于点的无法表示刚才走过的路不能走,所以用把边拆成俩个来建图,自己不能和自己连。 然后再用俩点表示起点和终点。 快速幂求矩阵(t+1)次就可以了(t+1次是因为到达终点那条边就需要t次,然后新建了一个终点,就会多走一步)。
阅读全文
摘要:矩阵乘法。 邻接矩阵用矩阵乘法可以得到最后的方案数 食人鱼是周期性的移动可以用12个矩阵表示。12个矩阵乘在一起得到第13个矩阵。 然后k/12的部分用第13个矩阵快速幂转移,再乘下剩余的矩阵。 #include #include #include #define LL long long using namespace std; const int maxn = 50 + 10;...
阅读全文
摘要:数论综合。费马小定理,lucas定理,中国剩余定理,exgcd,快速幂,乘法逆元。 首先要计算出n的每个约数,简单的sqrt(n)枚举即可。 然后计算C(i,m)(m个中挑i个的组合数,ps:因为网上正反俩种都有,所以标注一下。。) 设s=sum(C(i,m)) 题目要求g^(s)%mod, 由费马小定理得 g^(s)=g^(s%(mod-1))。所以这里需要特判一下g是否等于mod。 ...
阅读全文
摘要:高精度+排列组合。 如果计算老师能挨在一起的情况 有 (n+2)! * A(n+3,m) 老师一定挨宰一起的情况 有 2*(n+1)!*A(n+2,m)。 相减就是答案。 #include #include #include using namespace std; const int maxn = 3000; const int mod = 10000; struct bigin...
阅读全文
摘要:数学。 x^2 % n = 1 则 (x+1)(x-1) = kn. 设 x+1 = k1*n1, x-1=k2*n2。 则 k1*k2=k , n1*n2=n。 算出每个大于sqrt(n)的约数,然后分别作n1,n2尝试是否可行。 算x一定要取模。否则1会变成n+1。 #include #include #include #include #include using names...
阅读全文
摘要:更相减损数。 上手就debug了3个小时,直接给我看哭了。 3个函数都写错了是什么感受? 乘2函数要从前往后乘,这样后面的数乘2进位以后不会干扰前面的数。 除2函数要从后往前除,这样前面的数借来的位不会除2次。 然后函数里面俩个类里面的变量名不要打混。 哭瞎 #include #include #include using namespace std; const int ma...
阅读全文
摘要:莫比乌斯函数。 完全平方数的倍数有如下特点。 1.首先不是质数的完全平方数可以忽略不计,因为它总是一个质数的完全平凡数的倍数。 2.每个质数i的完全平方数的倍数的个数为(n/(i*i))。 3.每对质数i,j的完全平方数的倍数已经在i和j时被重复统计了俩次,个数为(n/((i*j)^2))。 。。。
阅读全文
摘要:矩阵乘法。 x[n] = {x[0],1} * ( {a,0} ^ n ) {b,1} 写成这样谁能看懂。。。。 noi里的大水题。我居然 都1A了。
阅读全文
摘要:BSGS算法 给定y、z、p,计算满足yx mod p=z的最小非负整数x。p为质数(没法写数学公式,以下内容用心去感受吧) 设 x = i*m + j. 则 y^(j)≡z∗y^(-i*m)) (mod p) 则 y^(j)≡z∗ine(y^(i*m)) (mod p)(逆元) 由费马小定理y^(
阅读全文

浙公网安备 33010602011771号