扰动法--*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 ...
随机推荐
- leetcode 4.两个排序数组的中位数
题目: 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 . 请找出这两个有序数组的中位数.要求算法的时间复杂度为 O(log (m+n)) . 你可以假设 nums1 和 nums ...
- Java IO file文件的写入和读取及下载
一.FileWriter 和BufferedWriter 结合写入文件 FileWriter是字符流写入字符到文件.默认情况下,它会使用新的内容代替文件原有的所有内容,但是,当指定一个true值作为F ...
- WINDOWS-API:取得系统语言种类-GetOEMCP
GetOEMCP VB声明 Declare Function GetOEMCP Lib "kernel32" Alias "GetOEMCP" () As Lo ...
- PHP的PDF扩展库TCPDF将中文字体设置为内嵌字体的方法
1. 下载要设置的字体,如名为simfang.ttf,放在./vendor/tecnickcom/tcpdf/tools目录中 2.在tools目录中按住shift,点击鼠标右键,点击“在此处打开命令 ...
- dhtmlTree简单实例以及基本参数设置
demo实例参考: <link rel="STYLESHEET" type="text/css" href="css/dhtmlXTree.c ...
- Bootstrap历练实例:输入框组的大小
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...
- javaEE(16)_Servlet监听器
一.监听器原理 1.监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即被执行. 2.监听器典型案例 ...
- 利用javascript实现二维数组的筛选
背景: 在项目中,我需要对解析后的nc文件数据进行筛选,选出符合要求的点,绘制相应的polygon. 代码:ajax获取某一时刻的数据 var url ="/api/config/PostC ...
- mysql 5.5安装/卸载使用总结
安装 卸载 1.在控制面板->卸载与更改程序 中卸载mysql 2.删除安装目录下的mysql文件夹 3.删除隐藏文件夹C:\ProgramData\中的MySQL,否则再次安装时会卡在 sta ...
- RabbitMQ 初体验
概述 RabbitMQ是一款消息队列中间件.他提供了几乎覆盖所有语言的SDK与文档,简直强大的不的了.要详细的去了解学习RabbitMQ,我建议还是看官方文档吧.http://www.rabbitmq ...