分析

https://www.cnblogs.com/cjyyb/p/11111404.html

代码

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define int long long
  4. const int N = 1e7;
  5. const int mod = ;
  6. int fac[N+],inv[N+],pre[N+],y[N+],K,ik[N+],Ans,sur[N+];
  7. inline int pw(int x,int p){
  8. int res=;
  9. while(p){
  10. if(p&)res=res*x%mod;
  11. x=x*x%mod;p>>=;
  12. }
  13. return res;
  14. }
  15. inline int work(){
  16. int i,j,k,res=,wh=((K+)&)?mod-:;
  17. for(i=;i<=K;i++,wh=mod-wh){
  18. int t=y[i];t=t*wh%mod;
  19. t=t*inv[i-]%mod*inv[K-i]%mod;
  20. t=t*pre[i-]%mod*sur[i+]%mod;
  21. res=(res+t+mod)%mod;
  22. }
  23. return res;
  24. }
  25. signed main(){
  26. int i,j,k,n;
  27. scanf("%lld%lld",&n,&K);
  28. K+=;fac[]=pre[]=sur[K+]=;
  29. for(i=;i<=K;i++)fac[i]=fac[i-]*i%mod;
  30. inv[K]=pw(fac[K],mod-);
  31. for(i=K-;i>=;i--)inv[i]=inv[i+]*(i+)%mod;
  32. for(i=;i<=K;i++)ik[i]=pw(i,K-);
  33. for(i=;i<=K;i++)pre[i]=pre[i-]*(n-i+mod)%mod;
  34. for(i=K;i>=;i--)sur[i]=sur[i+]*(n-i+mod)%mod;
  35. for(i=;i<=K;i++)y[i]=(y[i-]+(i-)*ik[i]%mod)%mod;
  36. Ans=(Ans+work())%mod;
  37. for(i=;i<=K;i++)y[i]=(y[i-]+ik[]*ik[i]%mod)%mod;
  38. Ans=(Ans+mod-work())%mod;
  39. for(i=;i<=K;i++)y[i]=(y[i-]+(n+n-i+)%mod*ik[i]%mod)%mod;
  40. Ans=(Ans+mod-work())%mod;
  41. for(i=;i<=K;i++)pre[i]=pre[i-]*(n+n-i+mod)%mod;
  42. for(i=K;i>=;i--)sur[i]=sur[i+]*(n+n-i+mod)%mod;
  43. Ans=(Ans+work())%mod;
  44. Ans=Ans*pw(n,mod-)%mod;printf("%lld\n",(Ans+mod)%mod);
  45. return ;
  46. }

p5437 【XR-2】约定的更多相关文章

  1. 洛谷P5437/5442 约定(概率期望,拉格朗日插值,自然数幂)

    题目大意:$n$ 个点的完全图,点 $i$ 和点 $j$ 的边权为 $(i+j)^k$.随机一个生成树,问这个生成树边权和的期望对 $998244353$ 取模的值. 对于P5437:$1\le n\ ...

  2. [译]C#编码约定

    原文:https://msdn.microsoft.com/en-us/library/ff926074.aspx 编码约定的目的是: 创建统一格式的代码,让读者的注意力更集中在内容上面,而不是结构 ...

  3. Entity Framework Code First属性映射约定

    Entity Framework Code First与数据表之间的映射方式有两种实现:Data Annotation和Fluent API.本文中采用创建Product类为例来说明tity Fram ...

  4. Entity Framework Code First关系映射约定

    本篇随笔目录: 1.外键列名默认约定 2.一对多关系 3.一对一关系 4.多对多关系 5.一对多自反关系 6.多对多自反关系 在关系数据库中,不同表之间往往不是全部都单独存在,而是相互存在关联的.两个 ...

  5. 3.Code-First 约定(EF Code-First系列)

    前面,我们已经了解了Code-First利用领域类,怎么为我们创建数据库的简单示例.现在我们来学习一下Code-First约定吧. 什么是约定 约定说白了,就是基于一套规矩办事,这里就是基于你定义好的 ...

  6. UDS(ISO14229-2006) 汉译(No.5 公共约定)

    ISO 14229遵循OSI Service Conventions(ISO 10731)(OSI服务公约)所述,并应用于诊断服务.这些约定指定相互作用与服务消费者和服务提供者.通过服务原语,信息数据 ...

  7. Startup配置类 居然又是约定

    Microsoft.Owin.Host.SystemWeb 这个dll可以让OWin接管IIS的请求,虽然同样是托管在IIS,但是所有的请求都会被OWin来处理.在OWin的4层结构中(Applica ...

  8. XD, XR, DR 股票

    股权登记日与除权除息日 所以,如果投资者想得到一家上市公司的分红.配股权,就必须弄清这家公司的股权登记日在哪一天,否则就会失去分红.配股的机会. 股权登记日后的第一天就是除权日或除息日,这一天或以后购 ...

  9. 单元测试 逃不开的Done 与约定

    关注单元测试有一段时间了,也做了些尝试然后就停了下来,寻找框架.方法.各种尝试 看得多,尝试的少, 关于框架分为两类,1是自动化测试工具类,1是js单元测试框架 关于自动化测试工具我尝试了http:/ ...

随机推荐

  1. Luogu P5444 [APIO2019]奇怪装置

    题目 这种题目看上去就是有循环节的对吧. 在考场上,一个可行的方式是打表. 现在我们手推一下这个循环节. 记函数\(f(t)=(((t+\lfloor\frac tB\rfloor)\%A),(t\% ...

  2. vmware下使用nat方法联网

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/Li_Zefeng/article/det ...

  3. P2510 [HAOI2008]下落的圆盘

    传送门 首先考虑两个圆覆盖的情况,我们可以求出圆心与交点连线 $A$ 的极角 具体就是求出两圆心连线 $B$ 极角加上余弦定理加反余弦求出 $A,B$ 之间夹角 ,然后覆盖了多少就可以得出 但是多个圆 ...

  4. onehot编码解释

    什么是One-Hot编码? One-Hot编码,又称为一位有效编码,主要是采用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位有效. One-Hot编码是分类变 ...

  5. arcgis server10.2自带打印模板路径

    找到arcgis server10.2安装目录路径,我的安装路径为C盘,如下: C:\Program Files\ArcGIS\Server\Templates\ExportWebMapTemplat ...

  6. 43. Multiply Strings (JAVA)

    Given two non-negative integers num1 and num2represented as strings, return the product of num1 and  ...

  7. MFC学习笔记1---准备工作

    什么是MFC MFC,全称Microsoft Foundation Classes,微软基础类库,顾名思义,是微软的攻城狮们将一些常用的基础的Windows API 函数用C++的形式封装成类,简化程 ...

  8. Red Hat Enterprise Linux 8.0 安装

    Red Hat Enterprise Linux 8.0 安装 本次安装通过使用VMware Workstation 15 pro 进行. 1.新建虚拟机 2.点击首页的创建新的虚拟机,或者点击标签栏 ...

  9. c调用c++

    g++ main.c math.cpp math.h中加入extern "C"

  10. IDEA更改左侧目录层级结构

    齿轮---Compact Empty Middle Packages