首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
51nod1228 序列求和(自然数幂和)
】的更多相关文章
51nod1228 序列求和(自然数幂和)
与UVA766 Sum of powers类似,见http://www.cnblogs.com/IMGavin/p/5948824.html 由于结果对MOD取模,使用逆元 #include<cstdio> #include<iostream> #include<cstdlib> #include<cstring> #include<string> #include<algorithm> #include<map> #in…
51Node1228序列求和 ——自然数幂和模板&&伯努利数
伯努利数法 伯努利数原本就是处理等幂和的问题,可以推出 $$ \sum_{i=1}^{n}i^k={1\over{k+1}}\sum_{i=1}^{k+1}C_{k+1}^i*B_{k+1-i}*(n+1)^i $$ 因为 $$\sum_{k=0}^nC_{n+1}^kB_k=0(B_0=1)$$ 所以 $$ B_n={- {1\over{n+1}}}(C_{n+1}^0B_0+C_{n+1}^1B_1+……C_{n+1}^{n-1}B_{n-1})$$ 伯努利数的证明十分复杂,记住即可. 题目…
51nod1228 序列求和(伯努利数)
题面 传送门 题解 \(O(n^2)\)预处理伯努利数 不知道伯努利数是什么的可以看看这篇文章 不过这个数据范围拉格朗日差值应该也没问题--吧--大概-- //minamoto #include<bits/stdc++.h> #define R register #define ll long long #define fp(i,a,b) for(R int i=(a),I=(b)+1;i<I;++i) #define fd(i,a,b) for(R int i=(a),I=(b)-1;…
HDU 2254 奥运(矩阵高速幂+二分等比序列求和)
HDU 2254 奥运(矩阵高速幂+二分等比序列求和) ACM 题目地址:HDU 2254 奥运 题意: 中问题不解释. 分析: 依据floyd的算法,矩阵的k次方表示这个矩阵走了k步. 所以k天后就算矩阵的k次方. 这样就变成:初始矩阵的^[t1,t2]这个区间内的v[v1][v2]的和. 所以就是二分等比序列求和上场的时候了. 跟HDU 1588 Gauss Fibonacci的算法一样. 代码: /* * Author: illuz <iilluzen[at]gmail.com>…
HDU 1588 Gauss Fibonacci(矩阵高速幂+二分等比序列求和)
HDU 1588 Gauss Fibonacci(矩阵高速幂+二分等比序列求和) ACM 题目地址:HDU 1588 Gauss Fibonacci 题意: g(i)=k*i+b;i为变量. 给出k,b,n,M,问( f(g(0)) + f(g(1)) + ... + f(g(n)) ) % M的值. 分析: 把斐波那契的矩阵带进去,会发现这个是个等比序列. 推倒: S(g(i)) = F(b) + F(b+k) + F(b+2k) + .... + F(b+nk) // 设 A = {1…
CF622F——自然数幂和模板&&拉格朗日插值
题意 求 $ \displaystyle \sum_{i=1}^n i^k \ mod (1e9+7), n \leq 10^9, k \leq 10^6$. CF622F 分析 易知答案是一个 $k+1$ 次多项式,我们找 $k+2$ 个值代进去,然后拉格朗日插值. $n+1$ 组点值对 $(x_i, y_i)$,得到 $n$ 次多项式 $f$ 的拉格朗日插值公式为: $$f(x) = \sum_{i = 0}^n y_i\prod_{j\not =i} \frac{x-x_j}{x_i-x_…
自然数幂和&伯努利数(Bernoulli)
二项式定理求自然数幂和 由二项式定理展开得 \[ (n+1)^{k+1}-n^{k+1}=\binom {k+1}1n^k+\binom {k+1}2n^{k-1}+\cdots+\binom {k+1}kn+1 \] 那么,对于所有的\(n=1,2,3,\cdots\)累加得到 \[ (n+1)^{k+1}-1=\binom{k+1}1\sum_{i=1}^ni^k+\binom{k+1}2\sum_{i=1}^ni^{k-1}+\cdots+\binom {k+1}k\sum_{i=1}^n…
51NOD 1258 序列求和 V4 [任意模数fft 多项式求逆元 伯努利数]
1258 序列求和 V4 题意:求\(S_m(n) = \sum_{i=1}^n i^m \mod 10^9+7\),多组数据,\(T \le 500, n \le 10^{18}, k \le 50000\) 等幂求和 多项式求逆元\(O(mlogm)\)预处理伯努利数,然后可以\(O(m)\)回答 因为是任意模数,所以要用拆系数fft 拆系数fft+多项式求逆元,写的爽死了 具体内容可能会写学习笔记 注意: 多项式求逆元里拆系数,不能只更新 .x= ,这样的话y还保留以前的值就错了 因为使用…
51nod1229 序列求和 V2 【数学】
题目链接 B51nod1229 题解 我们要求 \[\sum\limits_{i = 1}^{n}i^{k}r^{i}\] 如果\(r = 1\),就是自然数幂求和,上伯努利数即可\(O(k^2)\) 否则,我们需要将式子进行变形 要与\(n\)无关 设 \[F(k) = \sum\limits_{i = 1}^{n} i^{k}r^{i}\] 自然数幂应该是不用去动了,两边乘个\(r\) \[rF(k) = \sum\limits_{i = 2}^{n + 1}r^{i}(i - 1)^{k}…
51nod_1236_序列求和 V3 _组合数学
51nod_1236_序列求和 V3 _组合数学 Fib(n)表示斐波那契数列的第n项,Fib(n) = Fib(n-1) + Fib(n-2).Fib(0) = 0, Fib(1) = 1. (1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, ...) F(n, k) = Fib(n)^k(Fib(n)的k次幂). S(n, k) = F(1, k) + F(2, k) + ...... F(n, k). 例如:S(4, 2) = 1…