求$\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: 国王奇遇记的更多相关文章

  1. bzoj3157: 国王奇遇记

    emmm...... 直接看题解好了: BZOJ-3157. 国王奇遇记 – Miskcoo's Space O(m)不懂扔掉 总之,给我们另一个处理复杂求和的方法: 找到函数之间的递推公式! 这里用 ...

  2. bzoj3157国王奇遇记(秦九韶算法+矩乘)&&bzoj233AC达成

    bz第233题,用一种233333333的做法过掉了(为啥我YY出一个算法来就是全网最慢的啊...) 题意:求sigma{(i^m)*(m^i),1<=i<=n},n<=10^9,m ...

  3. BZOJ3157 国王奇遇记——神奇的推式子

    先膜一发Miskcoo,大佬的博客上多项式相关的非常全 原题戳我 题目大意 求 \[\sum\limits_{i=1}^{n}i^mm^i\] 题解 设一个函数\(f(i)=\sum\limits_{ ...

  4. BZOJ3157: 国王奇遇记 & 3516: 国王奇遇记加强版

    令\[S_i=\sum_{k=1}^n k^i m^k\]我们有\[\begin{eqnarray*}(m-1)S_i & = & mS_i - S_i \\& = & ...

  5. 【BZOJ3157/3516】国王奇遇记(数论)

    [BZOJ3157/3516]国王奇遇记(数论) 题面 BZOJ3157 BZOJ3516 题解 先考虑怎么做\(m\le 100\)的情况. 令\(f(n,k)=\displaystyle \sum ...

  6. 【BZOJ】【3157】&【BZOJ】【3516】国王奇遇记

    数论 题解:http://www.cnblogs.com/zhuohan123/p/3726933.html copy一下推导过程: 令$$S_i=\sum_{k=1}^{n}k^im^k$$ 我们有 ...

  7. BZOJ3157/BZOJ3516 国王奇遇记(矩阵快速幂/数学)

    由二项式定理,(m+1)k=ΣC(k,i)*mi.由此可以构造矩阵转移,将mi*ik全部塞进去即可,系数即为组合数*m.复杂度O(m3logn),因为大常数喜闻乐见的T掉了. #include< ...

  8. 【BZOJ4126】【BZOJ3516】【BZOJ3157】国王奇遇记 线性插值

    题目描述 三倍经验题. 给你\(n,m\),求 \[ \sum_{i=1}^ni^mm^i \] \(n\leq {10}^9,1\leq m\leq 500000\) 题解 当\(m=1\)时\(a ...

  9. bzoj3157 3516 国王奇遇记

    Description Input 共一行包括两个正整数N和M. Output 共一行为所求表达式的值对10^9+7取模的值. 特判m=1 m≠1时: 设S[u]=sigma(i^u*m^i) m*S ...

随机推荐

  1. 立个单调栈flag

    http://bestcoder.hdu.edu.cn/contests/contest_chineseproblem.php?cid=687&pid=1002

  2. Kafka-broker配置说明

    配置文件在config/server.properties 下面的一些配置可能是你需要进行修改的. broker.id 整数,建议根据ip区分 log.dirs kafka存放消息文件的路径, 默认/ ...

  3. CPP-练习

    HW: 1.局部变量能否和全局变量重名? 答:能,局部会屏蔽全局.要用全局变量,需要使用"::" ;局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会 ...

  4. js parse_url 引发的

    原文链接:https://www.w3.org/TR/2011/WD-html5-20110525/origin-0.html 这里只是做下记录: 5.3 Origin — HTML5 li, dd ...

  5. servlet上传多个文件(乱码解决)

    首先,建议将编码设置为GB2312,并在WEB-INF\lib里导入:commons-fileupload-1.3.jar和commons-io-2.4.jar, 可百度下下载,然后你编码完成后,上传 ...

  6. ios之自定义导航栏上的返回按钮

    导航栏的按钮,右边的按钮是可以自己随意添加的.但左边的返回按钮怎么定制?你会说,添加一个自己的按钮呗!你可以试试看,这样行不行. 正确的答案是重载UINavigationController类的pus ...

  7. ios之UIImageView

    UIImageView,顾名思义,是用来放置图片的.使用Interface Builder设计界面时,当然可以直接将控件拖进去并设置相关属性,这就不说了,这里讲的是用代码. 1.创建一个UIImage ...

  8. (16)zabbix history trends历史与趋势数据详解

    1. 保留历史数据 我们可以通过如下方式来设置保留数据的时长:监控项(item)配置里匹配更新监控项(item)设置Housekeeper tasksHousekeeper会定期删除过期的数据.如果数 ...

  9. angular的优化

    https://github.com/atian25/blog/issues/5 更快地执行digest: 优化watch $scope.$watch(watchExpression, modelCh ...

  10. (转)Objective-C语言--属性和实例变量

    本文转自http://blog.csdn.net/addychen/article/details/39525681 使用Objective-C一段时间了,一直没有弄清楚在Objective-C中属性 ...