~~毒瘤啊,2.5k~~ 题目:求 $n^k$ ,保留最后p位 $1\le n \le 10^{100},1\le k,p \le 10^5$ 一看就是高精+快速幂。然而p的范围很大,所以普通高精度会炸,上FFT。结束。我不会压位/kk,本来写结构体是想压位的 ...
分类:
其他好文 时间:
2020-04-07 12:23:47
阅读次数:
63
"Link" 显然所有操作都是可逆的,所以我们认为可以相互转化的串本质相同。 手玩发现只有$12$种本质不同的串。 将初始串化简,然后矩阵快速幂即可,时间复杂度为$O(n+12^3\log m)$。 ...
分类:
其他好文 时间:
2020-04-06 20:50:59
阅读次数:
90
一个常数贼大的多项式快速幂做法...... 首先看前缀和 有一阶前缀和$sum[n]=\sum\limits_{i=1}^n a_i$ 构造一个全是$1$的序列$b$,那么$sum$自然可以看成$a$与$b$卷积的形式。 同时我们还知道$b$的生成函数的封闭形式是$\frac{1}{1 x}$,然后 ...
分类:
其他好文 时间:
2020-04-04 19:01:09
阅读次数:
91
矩阵快速幂,是在快速幂的基础上运用矩阵乘法优化程序,典型例子有数据范围较大的斐波那契数列 假设是n*s的矩阵乘以s*m的矩阵,得到n*m的矩阵 #include<iostream>#include<cstdio>#include<cmath>#include<cstring>#include<cst ...
分类:
其他好文 时间:
2020-03-22 23:48:27
阅读次数:
66
"题目链接" 大致看了一下,网上的题解大多数是用的逆元做的,今天受lyd蓝书的启发,发现用分治也可以做这个。 首先,我们设$F(n) = 3^0 + 3^1 + 3^2 + ... + 3^n$。 1.如果n为奇数,那么$F(n) = (3^0 + 3^1 + 3^2 ... + 3^{\frac{ ...
分类:
其他好文 时间:
2020-03-21 00:01:09
阅读次数:
75
问题描述 给定一个N阶矩阵A,输出A的M次幂(M是非负整数) 例如: A = 1 2 3 4 A的2次幂 7 10 15 22 输入格式 第一行是一个正整数N、M(1<=N<=30, 0<=M<=5),表示矩阵A的阶数和要求的幂数 接下来N行,每行N个绝对值不超过10的非负整数,描述矩阵A的值 输出 ...
分类:
其他好文 时间:
2020-03-16 23:22:51
阅读次数:
77
*传送1,*传送2 矩阵并不是一个数而是可以表示一个比较复杂的模型(集合),而集合里封装着任意类型的值,而矩阵乘法则是一个比较重要的一个运算方式。 先说一下矩阵乘法的定义: 也就是说,结果矩阵第m行与第n列交叉位置的那个值,等于第一个矩阵第m行与第二个矩阵第n列,对应位置的每个值的乘积之和。 公式则 ...
分类:
其他好文 时间:
2020-03-16 12:46:56
阅读次数:
65
当计算结果很大时对mod=1e9+7取余,用到同余定理。求2的幂直接暴力求(当然也可以快速幂) 求组合数的时候用到除法,又要取余,所以用到逆元。所以用到逆元公式。 1.什么是逆元 当求解公式:(a/b)%m 时,因b可能会过大,会出现爆精度的情况,所以需变除法为乘法: 设c是b的逆元,则有b\ c≡ ...
分类:
其他好文 时间:
2020-03-15 13:27:40
阅读次数:
54
1 #include<bits/stdc++.h> 2 3 using namespace std; 4 5 #define LL long long 6 7 int main(){ 8 LL a,b,m; 9 cin >> a >> b >> m; 10 LL ans = 1; 11 while( ...
分类:
其他好文 时间:
2020-03-11 01:23:37
阅读次数:
60
等比数列是指从第二项起,每一项与它的前一项的比值等于同一个常数的一种数列。对于一个等比数列an=a1qn-1,它的前n项的和Sn=a1(1-qn)/(1-q)(q≠1)。现在已知A为n*n的矩阵,S=A+A2+A3+...+Am,你能否正确求出S,并且输出S中的每一个元素对1000000007取模后 ...
分类:
其他好文 时间:
2020-03-10 18:40:15
阅读次数:
67