【PA2008】【BZOJ3500】Cliquers

来源:互联网 发布:在职研究生网络教育 编辑:程序博客网 时间:2024/06/05 16:51

Description

统计节点个数为n,且每一个联通分量都是完全图的本质
不同的图的个数X。
求m^x mod P,P=999999599是个质数。
1< = n.m<= 200000。

N=3时,有以下几种情况。
这里写图片描述

Input
Output
Sample Input
3 2
Sample Output
8
HINT

Source

我还能说什么?
OEIS 数列A41
Claris的题解
有了这个数列就没问题了…

#include<iostream>#include<cstdio>#include<cmath>#include<cstring>#include<algorithm>#define P 999999599#define MAXN 200100using namespace std;int n,m;int f[1001]={0,1,2,5,7},g[MAXN]={1};long long ans=1,x;int main(){    scanf("%d%d",&n,&m);x=m;    for (int i=5;i<731;i++) f[i]=2*f[i-2]-f[i-4]+3;    for (int i=1;i<=n;i++)        for (int j=1;f[j]<=i;j++)            if ((j+1)>>1&1) g[i]=(g[i]+g[i-f[j]])%(P-1);            else    g[i]=(g[i]-g[i-f[j]])%(P-1);    for (int i=(g[n]+P-1)%(P-1);i;x=x*x%P,i>>=1)        if (i&1)    ans=ans*x%P;    cout<<ans<<endl;}
0 0
原创粉丝点击