扰动法--*BZOJ3157: 国王奇遇记
求$\sum_{i=1}^ni^mm^i$。$n \leq 1e9,m \leq 200$。
其实我也不知道这东西为啥叫“扰动法”,大概是在黑暗的边缘试探?就是那种,人家再多一点就被您看破了,然后您就一定要搞他那么一点去试探他的限度,一不小心给他搞爆了,这种感觉。
扰动三连:
等比数列求和:
$\sum_{i=1}^na_i,a_i=a_1*q^{n-1}$。
令$S_n=\sum_{i=1}^na_i$。
给他日上个$n+1$。
$S_n+a_{n+1}$
$=\sum_{i=1}^{n+1}a_i$
$=a_1+q\sum_{i=1}^na_i$
$=a_1+qS_n$
可得$S_n=\frac{a_1(1-q^n)}{1-q}$,厉害吧!
自然数幂求和:
$\sum_{i=1}^ni^m$。
令$S_n^m=\sum_{i=1}^ni^m$。
给他日上个$n+1$。
$S_n^m+(n+1)^m$
$=\sum_{i=1}^{n+1}i^m$
$=1+\sum_{i=1}^n(i+1)^m$
$=1+\sum_{i=1}^n\sum_{j=0}^m\binom{m}{j}i^j$
$=1+\sum_{j=0}^m\binom{m}{j}\sum_{i=1}^ni^j$
$=1+\sum_{j=0}^{m-1}\binom{m}{j}S_n^j+S_n^m$
emmmmmm自己把自己日掉了,不虚我们把$m$变成$m+1$。
$S_n^{m+1}+(n+1)^{m+1}$
$=1+\sum_{j=0}^{m}\binom{m+1}{j}S_n^j+S_n^{m+1}$
$=1+\sum_{j=0}^{m-1}\binom{m+1}{j}S_n^j+S_n^{m+1}+(m+1)S_n^m$
已经知道了。$S_n^m=\frac{(n+1)^{m+1}-\sum_{j=0}^{m-1}\binom{m+1}{j}S_n^j}{m+1}$。
可以$m^2$。要是给个好膜数可以$mlogm$。
这道题:
令$S_n^m=\sum_{i=1}^ni^mm^i$。
给他日上个$n+1$。
$S_n^m+(n+1)^mm^{n+1}\\$
$=\sum_{i=1}^{n+1}i^mm^i\\$
$=m+\sum_{i=2}^{n+1}i^mm^i\\$
$=m+m\sum_{i=1}^{n}(i+1)^mm^i\\$
$=m+m\sum_{i=1}^{n}m^i\sum_{j=0}^m\binom{m}{j}i^j\\$
$=m+m\sum_{j=0}^{m}\binom{m}{j}\sum_{i=1}^nm^ii^j\\$
$=m+m\sum_{j=0}^{m-1}\binom{m}{j}\sum_{i=1}^nm^ii^j+mS_n^m$
emmmmmm为什么这里也要emmmmmm,因为化出来那个$\sum_{i=1}^nm^ii^j$跟咱想象的不太一样,那咱换个字母重来一遍。
令$S_n^k=\sum_{i=1}^ni^km^i$。
如此$S_n^k+(n+1)^km^{n+1}=...=m+m\sum_{j=0}^{k-1}\binom{k}{j}S_n^j+mS_n^k$。
搞定了。$m^2$解决。模数优秀可以$mlogm$。
扰动法--*BZOJ3157: 国王奇遇记的更多相关文章
- bzoj3157: 国王奇遇记
emmm...... 直接看题解好了: BZOJ-3157. 国王奇遇记 – Miskcoo's Space O(m)不懂扔掉 总之,给我们另一个处理复杂求和的方法: 找到函数之间的递推公式! 这里用 ...
- bzoj3157国王奇遇记(秦九韶算法+矩乘)&&bzoj233AC达成
bz第233题,用一种233333333的做法过掉了(为啥我YY出一个算法来就是全网最慢的啊...) 题意:求sigma{(i^m)*(m^i),1<=i<=n},n<=10^9,m ...
- BZOJ3157 国王奇遇记——神奇的推式子
先膜一发Miskcoo,大佬的博客上多项式相关的非常全 原题戳我 题目大意 求 \[\sum\limits_{i=1}^{n}i^mm^i\] 题解 设一个函数\(f(i)=\sum\limits_{ ...
- BZOJ3157: 国王奇遇记 & 3516: 国王奇遇记加强版
令\[S_i=\sum_{k=1}^n k^i m^k\]我们有\[\begin{eqnarray*}(m-1)S_i & = & mS_i - S_i \\& = & ...
- 【BZOJ3157/3516】国王奇遇记(数论)
[BZOJ3157/3516]国王奇遇记(数论) 题面 BZOJ3157 BZOJ3516 题解 先考虑怎么做\(m\le 100\)的情况. 令\(f(n,k)=\displaystyle \sum ...
- 【BZOJ】【3157】&【BZOJ】【3516】国王奇遇记
数论 题解:http://www.cnblogs.com/zhuohan123/p/3726933.html copy一下推导过程: 令$$S_i=\sum_{k=1}^{n}k^im^k$$ 我们有 ...
- BZOJ3157/BZOJ3516 国王奇遇记(矩阵快速幂/数学)
由二项式定理,(m+1)k=ΣC(k,i)*mi.由此可以构造矩阵转移,将mi*ik全部塞进去即可,系数即为组合数*m.复杂度O(m3logn),因为大常数喜闻乐见的T掉了. #include< ...
- 【BZOJ4126】【BZOJ3516】【BZOJ3157】国王奇遇记 线性插值
题目描述 三倍经验题. 给你\(n,m\),求 \[ \sum_{i=1}^ni^mm^i \] \(n\leq {10}^9,1\leq m\leq 500000\) 题解 当\(m=1\)时\(a ...
- bzoj3157 3516 国王奇遇记
Description Input 共一行包括两个正整数N和M. Output 共一行为所求表达式的值对10^9+7取模的值. 特判m=1 m≠1时: 设S[u]=sigma(i^u*m^i) m*S ...
随机推荐
- C程序(2)
- lucene4.7实例详解
java.lang.UnsupportedClassVersionError: org/apache/lucene/index/IndexableField : Unsupported major.m ...
- 使用一位数组解决 1 1 2 3 5 8 13 数列问题 斐波纳契数列 Fibonacci
斐波纳契数列 Fibonacci 输出这个数列的前20个数是什么? 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 使用数组实现输出数列的前30 ...
- baidumap demo(一)
覆盖物概述 地图上自定义的标注点和覆盖物我们统称为地图覆盖物.您可以通过定制BMKAnnotation和BMKOverlay来添加对应的标注点和覆盖物.地图覆盖物的设计遵循数据与View分离的原则,B ...
- C# 使用Epplus导出Excel [1]:导出固定列数据
C# 使用Epplus导出Excel [1]:导出固定列数据 C# 使用Epplus导出Excel [2]:导出动态列数据 C# 使用Epplus导出Excel [3]:合并列连续相同数据 C# 使用 ...
- asyn_fifo
//Module Name:afifo_ctrl //Description:parameterized afifo module afifo_ctrl( clk_push, rst_push_n, ...
- perl学习之:肯定匹配和否定匹配
tr/ / / 替换操作符不支持正则表达式 也不具备双引号替换能力m/ / s/ / / 都支持正则表达式,并且可以提供或限制双引号替换能力 $string = "25abc8" ...
- Ubuntu 15.04 Qt5 链接 mysql数据库
序 最近在Ubuntu15.04下做一个Linux-服务器-客户端通信项目,用到MySQL数据库.开始的时候,在数据库链接时遇到障碍,查找资料解决. 特此记录,分享于此. 环境配置 系统:Ubuntu ...
- 【SaltStack】在Master上给Minion端安装zabbix
一.IP信息说明 [Master] IP: 192.168.236.100 [Minion] IP: 192.168.236.101 二.配置SaltStack 关于SaltStack Master和 ...
- Oracle常用查询语句
"ORACLE数据字典视图的种类分别为:USER,ALL 和 DBA. USER_*:有关用户所拥有的对象信息,即用户自己创建的对象信息 ALL_*:有关用户可以访问的对象的信息,即用户自己 ...