传送门: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. MySql创建存储过程,并使用事件定时调用

    一.使用命令行创建存储过程的步骤 :参数详情参考 https://www.mysqlzh.com/ 1.模板  delimiter $$ # 设置分隔符为 '$$' ,mysql默认的语句分隔符为 ' ...

  2. Python 中的行向量、列向量和矩阵

    1.一维数组 一维数组既不是行向量,也不是列向量. import numpy as npa=np.array([1,2,3])print(np.shape(a))>>>(3,) 2. ...

  3. 安装weblogic 11g

    参考 https://blog.csdn.net/z69183787/article/details/38401013 https://blog.csdn.net/wjf8882300/article ...

  4. SDUST数据结构 - chap8 查找

    选择题: 函数题: 6-1 二分查找: 裁判测试程序样例: #include <stdio.h> #include <stdlib.h> #define MAXSIZE 10 ...

  5. JAVA编程中button按钮,actionlistener和mouseClicked区别

    在java的编程中,对于按钮button 有两个事件: 1.actionPerformed 2.mouseClicked 区别: actionPerformed:一般事件,仅侦听鼠标左键的单击事件,右 ...

  6. linux下安装nacos

    一.安装 1.下载安装包: https://github.com/alibaba/nacos/releases 2.解压 : tar -xzvf nacos-server-1.2.1.tar.gz 3 ...

  7. 如何配置 Slf4j

    一,前言 日常开发中经常需要在控制台输出一些信息,如果这些东西不加管理,那么很容易就被输出信息淹没.幸好,我们有日志相关的库来帮助我们格式化控制台的输出. 这篇文章将介绍如何配置 Slf4j 及其具体 ...

  8. SpringCloud zuul 网关限流分析

    最近项目中 spring cloud zuul 运用到限流功能,打算配置一下就直接使用,不过在压测与调优过程中遇到一些没有预测到的问题,附上排查与解析结果 yml.pom配置 强烈推荐,按最新gith ...

  9. WPF TabControl美化

    <Window.Resources> <!-- TabItem的样式 --> <Style TargetType="{x:Type TabItem}" ...

  10. CPU飙高,系统性能问题如何排查?

    CPU飙高,系统性能问题如何排查? 原创 雍雍 阿里技术 2020-09-29 https://mp.weixin.qq.com/s/fzLcAkYwKhj-9hgoVkTzaw