bzoj 3157 国王奇遇记 - 数学

7人阅读 评论(0) 收藏 举报
分类:

……没有任何算法的推式子……

Fk=i=1nik×mi

Fk=i=1n(i1+1)k×mi1+1

Fk=m+i=1n1(i+1)k×mi+1

Fk=m(n+1)k×mn+1+i=1n(i+1)k×mi+1

Fk=m(n+1)k×mn+1+i=1nj=0k(kj)ij×mi+1

Fk=m(n+1)k×mn+1+mj=0k(kj)i=1nij×mi

Fk=m(n+1)k×mn+1+mj=0k(kj)Fj

(m1)Fk=(n+1)k×mn+1mmj=0k1(kj)Fj

Fk=(n+1)k×mn+1mmj=0k1(kj)Fjm1

特判m=1的情况,其余这样转移即可,平方复杂度。

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#define N 210
#define lint long long
#define mod 1000000007
#define inv(x) fast_pow(x,mod-2)
using namespace std;
int s[N],c[N][N],mi[N];
inline int fast_pow(int x,int k,int ans=1)
{
    for(;k;k>>=1,x=(lint)x*x%mod)
        if(k&1) ans=(lint)ans*x%mod;
    return ans;
}
int main()
{
    int n,m,t;scanf("%d%d",&n,&m),mi[0]=fast_pow(m,n+1),t=inv(m-1);
    if(m==1) return !printf("%lld\n",(lint)n*(n+1)%mod*inv(2)%mod);
    for(int i=1;i<=m;i++) mi[i]=(lint)mi[i-1]*(n+1)%mod;
    s[0]=(lint)t*(mi[0]-m+mod)%mod,c[0][0]=1;
    for(int i=1;i<=m;i++)
        for(int j=c[i][0]=1;j<=i;j++)
            c[i][j]=(c[i-1][j-1]+c[i-1][j])%mod;
    for(int i=1;i<=m;i++)
    {
        for(int j=(s[i]=1)-1;j<i;j++)
            (s[i]+=(lint)c[i][j]*s[j]%mod)%=mod;
        s[i]=(lint)t*(mi[i]-(lint)m*s[i]%mod+mod)%mod;
    }
    return !printf("%d\n",s[m]);
}
查看评论

BZOJ3157/3516 国王奇遇记/(加强版)

推式子如下图 用类似记忆化搜索的东西即可求S 特判m=1 #include #include #include #include #include #include #include #include...
  • neither_nor
  • neither_nor
  • 2016-07-11 21:06:56
  • 405

bzoj: 3157 bzoj: 3516 bzoj: 4126 国王奇遇记 线性插值法

题解可以戳这个,然后建议去看一下杜教ppt。        大概就是已知若干个点值,然后可以用组合的性质用自己把自己带进去然后O(M)得到任意一个点值把。(M为多项式的次数),组合数还是很神奇的。 A...
  • lych_cys
  • lych_cys
  • 2016-03-17 07:52:38
  • 957

[bzoj3157][bzoj3516][bzoj4126]国王奇遇记

Description求∑i=1nimmi\sum_{i=1}^{n}i^mm^i n
  • alan_cty
  • alan_cty
  • 2016-06-22 20:30:02
  • 850

BZOJ 3157 国王奇遇记 & BZOJ 3516 国王奇遇记加强版

题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3157题意:求∑1≤i≤n i^m∗m^i mod 10^9+7。n≤10^9,m≤1000。...
  • skywalkert
  • skywalkert
  • 2015-02-27 17:33:39
  • 1624

3157: 国王奇遇记

3157: 国王奇遇记 Time Limit: 10 Sec  Memory Limit: 512 MB Submit: 720  Solved: 380 [Submit][Status][Di...
  • CRZbulabula
  • CRZbulabula
  • 2017-04-10 20:01:53
  • 191

【BZOJ 3157】【BZOJ 3516】国王奇遇记

description、 Solution设Sk=∑ni=1ik∗miS_k=\sum_{i=1}^n i^k*m^i, (m−1)Sk=mSk−Sk(m-1)S_k=mS_k-S_k (m−1)...
  • HOWARLI
  • HOWARLI
  • 2016-06-20 21:21:08
  • 378

bzoj 3157&3516 国王奇遇记 数学

题意 给出n,m,求∑ni=1immi∑i=1nimmi\sum_{i=1}^ni^mm^i n&amp;lt;=109,m&amp;lt;=1000n&amp;lt;=109,m&amp;lt;...
  • qq_33229466
  • qq_33229466
  • 2018-03-22 21:26:23
  • 29

【bzoj3157】 【bzoj3516】 国王奇遇记 && 国王奇遇记加强版

求∑mi=1immi\sum_{i=1}^{m}i^{m}m^{i}。   目前想到的做法是m2lognm^2\log n的,不知道可不可以分治什么的继续简化复杂度。   这个式子里比较难处理的是...
  • GEOTCBRL
  • GEOTCBRL
  • 2015-11-25 17:37:06
  • 581

【BZOJ 3157, 3516, 4126】 国王奇遇记 - 极致的组合数学

恰好是去年的这个时候左右,我做了这个系列的前两题。。(其实相当于只做了一题hhh)然而当时的姿势水平非常低,式子大概都是瞎jb凑出来的。。。(也有可能看了波题解?)反正到了第三题就彻底一脸懵逼了。。记...
  • GEOTCBRL
  • GEOTCBRL
  • 2016-12-18 16:46:04
  • 654

[数学 二项式定理 快速幂] BZOJ 3157 && BZOJ 3516 && BZOJ 4126 国王奇遇记

膜拜神犇n+e:http://trinkle.is-programmer.com/2015/6/30/the-adventures-of-the-king.100058.html 本题按时间复杂度的不...
  • u014609452
  • u014609452
  • 2016-04-20 16:13:03
  • 488
    个人资料
    持之以恒
    等级:
    访问量: 3万+
    积分: 2120
    排名: 2万+
    最新评论