p5437 【XR-2】约定
分析
https://www.cnblogs.com/cjyyb/p/11111404.html
代码
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1e7;
const int mod = ;
int fac[N+],inv[N+],pre[N+],y[N+],K,ik[N+],Ans,sur[N+];
inline int pw(int x,int p){
int res=;
while(p){
if(p&)res=res*x%mod;
x=x*x%mod;p>>=;
}
return res;
}
inline int work(){
int i,j,k,res=,wh=((K+)&)?mod-:;
for(i=;i<=K;i++,wh=mod-wh){
int t=y[i];t=t*wh%mod;
t=t*inv[i-]%mod*inv[K-i]%mod;
t=t*pre[i-]%mod*sur[i+]%mod;
res=(res+t+mod)%mod;
}
return res;
}
signed main(){
int i,j,k,n;
scanf("%lld%lld",&n,&K);
K+=;fac[]=pre[]=sur[K+]=;
for(i=;i<=K;i++)fac[i]=fac[i-]*i%mod;
inv[K]=pw(fac[K],mod-);
for(i=K-;i>=;i--)inv[i]=inv[i+]*(i+)%mod;
for(i=;i<=K;i++)ik[i]=pw(i,K-);
for(i=;i<=K;i++)pre[i]=pre[i-]*(n-i+mod)%mod;
for(i=K;i>=;i--)sur[i]=sur[i+]*(n-i+mod)%mod;
for(i=;i<=K;i++)y[i]=(y[i-]+(i-)*ik[i]%mod)%mod;
Ans=(Ans+work())%mod;
for(i=;i<=K;i++)y[i]=(y[i-]+ik[]*ik[i]%mod)%mod;
Ans=(Ans+mod-work())%mod;
for(i=;i<=K;i++)y[i]=(y[i-]+(n+n-i+)%mod*ik[i]%mod)%mod;
Ans=(Ans+mod-work())%mod;
for(i=;i<=K;i++)pre[i]=pre[i-]*(n+n-i+mod)%mod;
for(i=K;i>=;i--)sur[i]=sur[i+]*(n+n-i+mod)%mod;
Ans=(Ans+work())%mod;
Ans=Ans*pw(n,mod-)%mod;printf("%lld\n",(Ans+mod)%mod);
return ;
}
p5437 【XR-2】约定的更多相关文章
- 洛谷P5437/5442 约定(概率期望,拉格朗日插值,自然数幂)
题目大意:$n$ 个点的完全图,点 $i$ 和点 $j$ 的边权为 $(i+j)^k$.随机一个生成树,问这个生成树边权和的期望对 $998244353$ 取模的值. 对于P5437:$1\le n\ ...
- [译]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:/ ...
随机推荐
- HNUSTOJ-1520 压缩编码
1520: 压缩编码 时间限制: 1 Sec 内存限制: 2 MB提交: 107 解决: 54[提交][状态][讨论版] 题目描述 某工业监控设备不断发回采样数据.每个数据是一个整数(0到1000 ...
- ASP.net解析JSON
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- R语言 绘图——条形图可以将堆积条形图与百分比堆积条形图配合使用
在使用堆积条形图时候,新增一个百分比堆积条形图,可以加深读者印象. 封装一个function函数后只需要在调用的数据上改一下pos=‘fill’的代码即可.比较方便. 案例: # 封装函数 fun1& ...
- 系统环境: CentOS 64位+千万不要在生产环境中升级glibc!
# cd /lib64# LD_PRELOAD=/lib64/libc-2.15.so ln -sf /lib64/libc-2.15.so libc.so.6 libc-2.15.so 这个文件名根 ...
- Centos 7 Mysql 最大连接数超了问题解决
错误:Can not connect to MySQL server. Too many connections -mysql 1040错误 这是因为对 Mysql 进行访问,未释放的连接数已经达到 ...
- VB TreeView控件使用详解(有趣的示例)
第一小时:学习直接用代码将数据填充到树控件中. 为什么要先学习直接用代码将数据填充到树控件中?因为这种方法是最简单的,代码也最容易理解,学习树控件,先将这个学会,已经掌握了一半,所以先不要急着想怎么将 ...
- Codeforces1214D. Treasure Island (dp + Hash)
题目链接:传送门 思路: 仔细观察可以发现,答案最多就是2,只要把(2,1)和(1,2)堵住就可以了. 答案是0的情况就是初始状态下,(1,1)就已经不可达(n,m)了,很好判断. 所以重点就是区分答 ...
- tr 替换或删除字符
1.命令功能 tr 从标准输入中替换,压缩间隔或者删除字符并从定向到标准输出. 2.语法格式 tr option SET1 SET2 参数 参数说明 -c 取代所有SET1中字符串 -d 删除所 ...
- python set 集合操作
转自:https://www.cnblogs.com/alex3714/articles/5740985.html s = set([3,5,9,10]) #创建一个数值集合 t = set(&quo ...
- Maven Pom文件标签详解
<span style="padding:0px; margin:0px"><project xmlns="http://maven.apache.or ...