【LGP5437】【XR-2】约定
显然每一条边出现在生成树中的方案数是相等的
根据矩阵树定理,\(n\)个节点的完全图生成树个数是\(n^{n-2}\)种,完全图共有\(\frac{n(n-1)}{2}\)条边,一棵生成树共\(n-1\)条边
于是对于任意一条边,在所有生成树中的总出现次数是
\]
于是每一条边前面多了一个系数,可以理解为每一条边出现的概率
\]
这个东西乘上边权和\(\sum_{i=1}^n\sum_{j=i+1}^n(i+j)^k\)
显然\(i,j\)都从\(1\)开始更好求一些,于是求一下\(\sum_{i=1}^n\sum_{j=1}^n(i+j)^k\),减去\(\sum_{i=1}^n(2i)^k=2^k\sum_{i=1}^ni^k\),再除以\(2\)就是总边权和了
不要在傻乎乎的二项式定理拆里面的东西了,我们直接枚举\(i+j\)的值,显然这玩意长得跟个矩阵是的,每一条对角线上的值都是一样的,还有一些对称的美好性质,于是瞎推一下就有
\]
大力拉格朗日插值就好了
代码
#include<bits/stdc++.h>
#define re register
const int maxn=1e7+5;
const int mod=998244353;
inline int ksm(int a,int b) {
int S=1;
for(;b;b>>=1,a=1ll*a*a%mod) if(b&1) S=1ll*S*a%mod;
return S;
}
int f[maxn],p[maxn>>2],pre[maxn][2],a[maxn],b[maxn],fac[maxn],ifac[maxn];
int n,k,ans1,ans2,ans3,ans4;
inline int qm(int a) {return a<0?a+mod:a;}
inline int calc(int x,int o) {
int N=(o==1?k+2:k+1);
a[0]=b[0]=x;b[N+1]=1;
for(re int i=1;i<=N;i++) a[i]=1ll*a[i-1]*(b[i]=qm(x-i))%mod;
for(re int i=N-1;i>=0;--i) b[i]=1ll*b[i]*b[i+1]%mod;
int tot=0;
for(re int i=1;i<=N;i++) {
int now=1ll*ifac[i]*ifac[N-i]%mod;
if((N-i)&1) now=mod-now;
now=1ll*now*a[i-1]%mod*b[i+1]%mod;
tot=(tot+1ll*now*pre[i][o]%mod)%mod;
}
return tot;
}
int main() {
scanf("%d%d",&n,&k);fac[0]=ifac[0]=1;pre[1][0]=pre[1][1]=1;
for(re int i=2;i<=k+2;i++) {
if(!f[i]) p[++p[0]]=i,pre[i][0]=ksm(i,k),pre[i][1]=ksm(i,k+1);
for(re int j=1;j<=p[0]&&p[j]*i<=k+2;++j) {
pre[p[j]*i][0]=1ll*pre[p[j]][0]*pre[i][0]%mod;
pre[p[j]*i][1]=1ll*pre[p[j]][1]*pre[i][1]%mod;
f[p[j]*i]=1;if(i%p[j]==0) break;
}
}
for(re int i=1;i<=k+2;i++) fac[i]=1ll*fac[i-1]*i%mod;
ifac[k+2]=ksm(fac[k+2],mod-2);
for(re int i=k+1;i;--i) ifac[i]=1ll*ifac[i+1]*(i+1)%mod;
for(re int i=1;i<=k+1;++i) pre[i][0]=(pre[i-1][0]+pre[i][0])%mod;
for(re int i=1;i<=k+2;++i) pre[i][1]=(pre[i-1][1]+pre[i][1])%mod;
ans1=calc(n+1,1);ans2=calc(2*n,1)-ans1;
ans3=calc(n+1,0),ans4=calc(2*n,0)-ans3;
ans2=(ans2+mod)%mod,ans4=(ans4+mod)%mod;
ans4=1ll*ans4*(2*n+1)%mod;
int ans=(ans1+ans4)%mod-(ans2+ans3)%mod;
ans=(ans+mod)%mod;
ans=(ans-1ll*ksm(2,k)*calc(n,0)%mod+mod)%mod;
printf("%d\n",1ll*ans*ksm(n,mod-2)%mod);
return 0;
}
【LGP5437】【XR-2】约定的更多相关文章
- [译]C#编码约定
原文:https://msdn.microsoft.com/en-us/library/ff926074.aspx 编码约定的目的是: 创建统一格式的代码,让读者的注意力更集中在内容上面,而不是结构 ...
- Entity Framework Code First属性映射约定
Entity Framework Code First与数据表之间的映射方式有两种实现:Data Annotation和Fluent API.本文中采用创建Product类为例来说明tity Fram ...
- Entity Framework Code First关系映射约定
本篇随笔目录: 1.外键列名默认约定 2.一对多关系 3.一对一关系 4.多对多关系 5.一对多自反关系 6.多对多自反关系 在关系数据库中,不同表之间往往不是全部都单独存在,而是相互存在关联的.两个 ...
- 3.Code-First 约定(EF Code-First系列)
前面,我们已经了解了Code-First利用领域类,怎么为我们创建数据库的简单示例.现在我们来学习一下Code-First约定吧. 什么是约定 约定说白了,就是基于一套规矩办事,这里就是基于你定义好的 ...
- UDS(ISO14229-2006) 汉译(No.5 公共约定)
ISO 14229遵循OSI Service Conventions(ISO 10731)(OSI服务公约)所述,并应用于诊断服务.这些约定指定相互作用与服务消费者和服务提供者.通过服务原语,信息数据 ...
- Startup配置类 居然又是约定
Microsoft.Owin.Host.SystemWeb 这个dll可以让OWin接管IIS的请求,虽然同样是托管在IIS,但是所有的请求都会被OWin来处理.在OWin的4层结构中(Applica ...
- XD, XR, DR 股票
股权登记日与除权除息日 所以,如果投资者想得到一家上市公司的分红.配股权,就必须弄清这家公司的股权登记日在哪一天,否则就会失去分红.配股的机会. 股权登记日后的第一天就是除权日或除息日,这一天或以后购 ...
- 单元测试 逃不开的Done 与约定
关注单元测试有一段时间了,也做了些尝试然后就停了下来,寻找框架.方法.各种尝试 看得多,尝试的少, 关于框架分为两类,1是自动化测试工具类,1是js单元测试框架 关于自动化测试工具我尝试了http:/ ...
- ORM系列之二:EF(4) 约定、注释、Fluent API
目录 1.前言 2.约定 2.1 主键约定 2.2 关系约定 2.3 复杂类型约定 3.数据注释 3.1 主键 3.2 必需 3.3 MaxLength和MinLength 3.4 NotMapped ...
随机推荐
- wordpress非弹窗表单多文件上传插件
插件名:Drag and Drop Multiple File Upload - Contact Form 7 (ps:如果是弹窗表单,不要使用这个插件Drag and Drop Multiple F ...
- Kotlin -help
{ kotlin: run Kotlin programs, scripts or REPL. Usage: kotlin <options> <command> <ar ...
- 矩阵乘法分配律+bitset优化——hdu4920
因为是模3,所以把原矩阵拆成两个01矩阵,然后按分配律拆开分别进行矩阵乘法,行列用bitset来存进行优化即可 注意 int bitset<int>::count() 函数可以统计bits ...
- NX二次开发-UFUN获取环境变量路径,将环境变量转换为字符串,字符串拼接UF_translate_variable
NX9+VS2012 #include <uf.h> UF_initialize(); //UFUN获取环境变量路径 //将环境变量转换为字符串 char* GetName = NULL; ...
- Java-javaFx库运用-时钟显示
JavaFx是开发Java GUI程序的新框架.JavaFX应用可以无缝地在桌面或web浏览器中运行.具有内建的2D.3D动画支持,以及视频和音频的回放功能,可以作为一个应用独立运行或者在浏览器中运行 ...
- hexo next修改代码区主题,修改字体样式,大小
文章目录 广告 修改代码区主题 站点_config.yml 主题_config.yml 修改字体样式,大小 ps 我自己的方式 广告 本人博客地址:https://mmmmmm.me 源码:https ...
- A1016 Phone Bills (25 分)
A long-distance telephone company charges its customers by the following rules: Making a long-distan ...
- scrt 关闭退格键声音
options-> session Options -> Terminal -> audio bell (删除勾选) 这样就可以在secureCRT 在出错时不‘滴滴’的响了.
- USACO 2003 Fall Orange Popular Cows /// tarjan缩点 oj22833
题目大意: n头牛,m个崇拜关系,并且崇拜具有传递性 如果a崇拜b,b崇拜c,则a崇拜c 求最后有几头牛被所有牛崇拜 强连通分量内任意两点都能互达 所以只要强联通分量内有一点是 那么其它点也都会是 按 ...
- iOS音频开发系列-概述篇
概述 iOS中对于音频的处理,苹果提供了两个库. AVFoundation AudioToolbox 在iOS系统中apple对上述的流程进行了封装并提供了不同层次的接口