传送门:J. Easy Integration

题意:给你n,求这个积分,最后的结果分子是记为p,分母记为q。

求(p*q-1)mod 998244353。

题解:比赛完看到巨巨说这是贝塔函数,我一搜还真是。

贝塔函数的递推公式:

但是菜鸡只会打表找规律。那么说说怎么找到的规律吧。

先把所有的分子分母都找到,这个要用到(x-1)^n=C(n,0)x^n(-1)^0+C(n,1)x^(n-1)(-1)^1+C(n,2)x^(n-2)(-1)^2+……+C(n,n)x^0(-1)^n   ,(-1)^x 从0到n变成从n到0就变成了 (1-x)^n 的公式了。把分母都输出,发现分母是从(n+1)到(2n+1)连续的数,相乘就是 n! / (2n+1)! 。然后把分式通分,求出所有的分子相加,输出分子的和会发现分子就是 n! 。所以这个分式就是 n!*n! / (2n+1)! 。这里应该会用到费马小定理,拓展欧几里得也可以,我这里用的是费马小定理。

 1 #include<bits/stdc++.h>
2 #define ll long long
3 #define pb push_back
4 #define ft first
5 #define sd second
6 using namespace std;
7
8 ll fac[2000100],inv[2000100];
9 const ll mod=998244353;
10 const ll N=2e6+10;
11 ll a[1001000],b[1000100];
12
13 ll quick(ll a,ll b)
14 {
15 ll res=1;
16 a=a%mod;
17 while(b){
18 if(b&1) res=(res*a)%mod;
19 a=(a*a)%mod;
20 b>>=1;
21 }
22 return res%mod;
23 }
24
25 void init()
26 {
27 fac[0]=inv[0]=inv[1]=1;
28 for(ll i=1;i<=N;i++)
29 fac[i]=fac[i-1]*i%mod;
30 for(ll i=2;i<=N;i++)
31 inv[i]=(mod-mod/i)*inv[mod%i]%mod;
32 for(ll i=1;i<=N;i++)
33 inv[i]=inv[i-1]*inv[i]%mod;
34 }
35 ll C(ll n,ll m)
36 {
37 return fac[n]*inv[m]%mod*inv[n-m]%mod;
38 }
39
40 int main()
41 {
42 ios::sync_with_stdio(false);
43 cin.tie(0);
44 cout.tie(0);
45 init();
46 ll n;
47 while(cin>>n){
48 /**打表找规律
49
50 ll p=0,q=1;
51 for(ll i=0;i<=n;i++){
52 a[i]=C(n,i);
53 b[i]=n-i+n+1;
54 a[i]%=mod;
55 b[i]%=mod;
56 if((n-i)&1) a[i]=-a[i];
57 q*=b[i];
58 q%=mod;
59 cout<<b[i]<<' ';
60 }
61 cout<<endl;
62 for(ll i=0;i<=n;i++){
63 p+=q*a[i]%mod*quick(b[i],mod-2);
64 p%=mod;
65 }
66 cout<<p<<endl;
67 ll x=__gcd(p,q);
68 p/=x,q/=x;
69 ll ans=(p*quick(q,mod-2))%mod;
70 cout<<ans<<endl;
71
72 **/
73 ll p=fac[n]*fac[n]%mod;
74 ll q=fac[2*n+1];
75 cout<<p*quick(q, mod-2)%mod<<endl;
76 }
77 return 0;
78 }

2020牛客暑期多校训练营(第一场)Easy Integration的更多相关文章

  1. 2020牛客暑期多校训练营 第二场 K Keyboard Free 积分 期望 数学

    LINK:Keyboard Free 我要是会正经的做法 就有鬼了. 我的数学水平没那么高. 三个同心圆 三个动点 求围成三角形面积的期望. 不会告辞. 其实可以\(n^2\)枚举角度然后算出面积 近 ...

  2. 2020牛客暑期多校训练营 第二场 J Just Shuffle 置换 群论

    LINK:Just Shuffle 比较怂群论 因为没怎么学过 置换也是刚理解. 这道题是 已知一个置换\(A\)求一个置换P 两个置换的关键为\(P^k=A\) 且k是一个大质数. 做法是李指导教我 ...

  3. 2020牛客暑期多校训练营 第二场 I Interval 最大流 最小割 平面图对偶图转最短路

    LINK:Interval 赛时连题目都没看. 观察n的范围不大不小 而且建图明显 考虑跑最大流最小割. 图有点稠密dinic不太行. 一个常见的trick就是对偶图转最短路. 建图有点复杂 不过建完 ...

  4. 2020牛客暑期多校训练营 第二场 C Cover the Tree 构造 贪心

    LINK:Cover the Tree 最受挫的是这道题,以为很简单 当时什么都想不清楚. 先胡了一个树的直径乱搞的贪心 一直过不去.后来意识到这类似于最经典长链剖分优化贪心的做法 然后那个是求最大值 ...

  5. 2020牛客暑期多校训练营 第二场 B Boundary 计算几何 圆 已知三点求圆心

    LINK:Boundary 计算几何确实是弱项 因为好多东西都不太会求 没有到很精通的地步. 做法很多,先说官方题解 其实就是枚举一个点 P 然后可以发现 再枚举一个点 然后再判断有多少个点在圆上显然 ...

  6. 2020牛客暑期多校训练营 第二场 A All with Pairs 字符串hash KMP

    LINK:All with Pairs 那天下午打这个东西的时候状态极差 推这个东西都推了1个多小时 (比赛是中午考试的我很困 没睡觉直接开肝果然不爽 一开始看错匹配的位置了 以为是\(1-l\)和\ ...

  7. 2020牛客暑期多校训练营(第一场)H Minimum-cost Flow

    Minimum-cost Flow 题目:给n个点,m条边.接下来m行包含(a,b,c),即a,b之间有单位流量代价为c的边.接下来有q个问题,每个问题给定(x,y),即假设每条边的容量为x/y时,从 ...

  8. 2020牛客暑期多校训练营(第四场)BCFH

    BCFH B. Basic God Problem 题意 给出c和n,求fc(n). 题解 递归到最后 fc 函数肯定等于1,那么就变成了求c被乘了几次,只要找到 x 最多能被分解成多少个数相乘就好了 ...

  9. 2020牛客暑期多校训练营(第八场)K-Kabaleo Lite题解

    K-Kabaleo Lite 题目大意: 给出每种菜品的利润以及碟数,要求我们给每个客人至少一碟菜,要求从1号菜品开始给,给的菜品的号码是连续的,每个客人同号码的菜都只能给一碟.求能招待客人的最大数量 ...

随机推荐

  1. 在MongoDB中执行查询与创建索引

    实验目的: (1)掌握MongoDB中数据查询的方法: (2)掌握MongoDB中索引及其创建: 实验内容: 一. MongoDB中数据查询的方法: (1)find函数的使用: (2)条件操作符: a ...

  2. kubernets之就绪探针

    一 介绍就绪探针 1.1  开始介绍就绪探针之前,让我们来提问几个问题?第一,在sevice这章我们了解到, 当流量从Ingress被转发到服务,然后服务从其维护当Endponits 里面列表查找到任 ...

  3. CyNix-lxd提权

    0x01 信息收集 nmap -p- -T5 192.168.43.155扫描开放端口 nmap -sV -p 80,6688 -A 192.168.43.155 -oA cynix扫描指定端口 go ...

  4. MySQL索引性能分析

    为什么要做性能分析 你有没有这样的情况. 面对一个你没怎么写过的.复杂的业务,你构思了很久,终于开始敲下了第一段代码. 写的过程迷迷糊糊,有的时候还能把自己搞晕了. 但你还是终于把它写完了. 但是点击 ...

  5. 08--Docker安装Mysql

    1.在hub.docker.com中查找5.7版本 2.拉取mysql docker pull mysql:5.7 3.启动mysql镜像 docker run -p 3306:3306 --name ...

  6. pandas高级操作

    pandas高级操作 import numpy as np import pandas as pd from pandas import DataFrame,Series 替换操作 替换操作可以同步作 ...

  7. STL_list容器

    一.List简介 链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的. 链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成.每 ...

  8. 2021年官网下载各个版本JDK最全版与官网查阅方法

    版本说明 1.安装部署JDK (1)环境 (2)官网下载JDK 由于官网的地址会随着时间的修改而更改修改下载地址,现在讲述下通用的界面操作下载JDK,以后JDK收费更严重,估计就只能下载开源的了. A ...

  9. 阿里 Mock 工具正式开源,干掉市面上所有 Mock 工具!

    最近栈长注意到阿里开源了自家的 Mock 工具:TestableMock,该工具号称最轻量.简单.舒适的 Mock 测试工具,功能十分强大,媲美 PowerMock,用法比 Mockito 还要简洁, ...

  10. k8s之PV、PVC、StorageClass详解

    导读 上一篇写了共享存储的概述以及一个简单的案例演示.这一篇就写一下PV和PVC. PV是对底层网络共享存储的抽象,将共享存储定义为一种"资源",比如Node也是容器应用可以消费的 ...