欧拉积分(Genshin)
\(\Gamma\) 函数
引入、定义
在计算组合数式子的时候,我们时常会看到这样的式子:
\]
然而,我们不知道什么是负数或者什么其他数的阶乘。这里必须引入一个特殊函数——\(\Gamma\) 函数。
\]
有
\]
那么可以归纳得知
\]
根据上面的结果,我们可以对 \(\Gamma(z)\) 延拓至全体实数,除了负整数。
但是可以计算 \(\Gamma(z)\) 在 \(z=-n\) 处的留数:
\]
欧拉无穷乘积:
令
\]
有
\]
证明:
首先注意到
\]
然后两式相减。
=\lim_{n\to \infty}\left(\int_0^n(e^{-t}-(1-\frac t n)^n)t^{z-1}dt-\int _n^{\infty}e^{-t}t^{z-1}dt\right)\\
=\lim_{n\to \infty}\int_0^n\left[e^{-t}-(1-\frac t n)^n\right]t^{z-1}dt
\]
熟知不等式
\]
故
\le e^{-t}\left(1-e^t(1-\frac{t^2}{n^2})^n\right)
\]
根据伯努利不等式 \((1-x)^n\ge 1-nx(x\in [0,1])\)。
\]
于是
\le \lim_{n\to\infty} \left|\frac 1 n\int_0^ne^{-t}t^{z+1}dt\right|\\
=0
\]
证毕。
而在
\]
中,令 \(\frac{t}n\to t\),得到
\]
这个式子可以分部积分然后转为递推式,最终得到:
\]
尝试代入上面证明的式子:
=\lim_{n\to \infty}\frac{1}{z}\left(\prod_{i=1}^n\frac{i}{z+i}\right)\left(\prod_{i=1}^{n-1} (1+\frac{1}{i})^z\right)\\
=\frac{1}{z}\prod_{i=1}^{\infty}\left(\frac{k}{z+k}(1+\frac 1 k)^z\right)\\
=\color{red}{\frac{1}{z}\prod_{n=1}^{\infty}\left(\left(1+\frac{z}{n}\right)^{-1}\left(1+\frac 1 n\right)^z\right)}
\]
这是欧拉无穷乘积。
魏氏无穷乘积
欧拉无穷乘积得到
\]
考虑 \(n^z\)。
=\prod_{k=1}^n e^{\frac zk}\times \exp(z(\ln n-\sum _{k=1}^n\frac1k))\\
\lim _{n\to\infty}n^z=\prod_{k=1}^n e^{\frac zk}\times e^{-\gamma z}
\]
所以
\]
这是魏氏无穷乘积。
余元公式
考虑
\]
而有(根据 \(\cot\) 的展开式积分(?),\(\ln\sin x'=\cot x\))
\]
那么
\]
有 \(\Gamma(-z)=-z\Gamma(1-z)\),则:
\]
直接取 \(z=\frac 12\) 然后就可以顺便得到余元公式。
OI 的应用大概到这里就结束了。
据此可以得到一个重要结论:
\]
\(\Beta\) 函数
定义:
\]
性质 1:\(\Beta(p,q)=\Beta(q,p)\),显然。
性质 2:\(\Beta(p,q)=\dfrac{\Gamma(p)\Gamma(q)}{\Gamma(p+q)}\)。
证明:考虑
\text{令 }t=x^2,s=y^2\\
\Gamma(p)\Gamma(q)=4\int_0^{+\infty}x^{2p-1}e^{-x^2}dx\int_0^{+\infty}y^{2p-1}e^{-y^2}dy\\
=4\int_0^{+\infty}\int_0^{+\infty}x^{2p-1}y^{2p-1}e^{-(x^2+y^2)}dxdy\\
\text{令 }x=r\cos \theta,y=r\sin\theta\\
=4\int_0^{+\infty}e^{-r^2}r^{2(p+q)-1}dr\int _0^{\frac\pi 2}(\cos \theta)^{2p-1}(\sin \theta)^{2q-1} d\theta\\
\text{令 } t=r^2,x=\cos^2\theta\\
=-\int_0^{+\infty}e^{-t}t^{p+q-1}dt\int _1^0x^{p-1}(1-x)^{q-1} dx\\
=\int_0^{+\infty}e^{-t}t^{p+q-1}dt\int _0^1x^{p-1}(1-x)^{q-1} dx\\
=\Gamma(p+q)\Beta(p,q)
\]
那么 \(B(p,q)=\dfrac{\Gamma(p)\Gamma(q)}{\Gamma(p+q)}=\dfrac{(p-1)!(q-1)!}{(p+q-1)!}\)。
可以计算:取值 \([0,1]\) 的 \(n\) 个连续随机变量的 \(k\) 小。
首先设此随机变量为 \(X\)。设其概率密度函数为 \(f(x)\),概率分布函数为 \(F(x)=P(X\le x)\)。
=[xF(x)] _0^1-\int_0^1F(x)dx\\
=1-\int _0^1F(x)dx=\int_0^1(1-F(x))dx
\]
考虑 \(P(X\ge x)\),即至多有 \(m-1\) 个 \(<x\)。
\int _0^1(1-F(x))dx=\sum_{i=0}^{m-1}\binom ni\int_0^1x^i(1-x)^{n-i}dx\\
=\sum_{i=0}^{m-1}\Beta(i+1,n-i+1)\binom ni\\
=\sum _{i=0}^{m-1}\frac 1{n+1}=\frac{m}{n+1}
\]
ABC226H
考虑求出答案属于 \([x,x+1]\),且有 \(b\) 个落在中间的概率。
设 \(dp(a,b,c)\) 为 \(a\) 个 \(<x\),\(b\) 个 \(\in[x,x+1]\),\(c\) 个 \(>x+1\) 的概率,容易 dp。
利用上面的公式容易求答案。
// Problem: [ABC226H] Random Kth Max
// Platform: Luogu
// URL: https://www.luogu.com.cn/problem/AT_abc226_h
// Memory Limit: 1 MB
// Time Limit: 2000 ms
// Author:British Union
// Long live UOB and koala
//
// Powered by CP Editor (https://cpeditor.org)
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int maxn=105,mod=998244353;
int qp(int a,int b){
if(b==0)return 1;
int T=qp(a,b>>1);
T=T*T%mod;
if(b&1)return T*a%mod;
return T;
}
int inv[maxn],n,k,dp[55][55][55],l[maxn],r[maxn],E=0;
struct st{
int a,b,c;
st(int x=0,int y=0,int z=0){
a=x,b=y,c=z;
}
};
vector<st> sts[maxn];
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin>>n>>k;k=n-k+1;
for(int i=1;i<=n;i++)cin>>l[i]>>r[i];
for(int i=1;i<=100;i++)inv[i]=qp(i,mod-2);
for(int i=0;i<=n;i++){
for(int j=0;j<=n;j++){
for(int k=0;k<=n;k++){
if(i+j+k<=n)sts[i+j+k].push_back(st(i,j,k));
}
}
}
for(int i=0;i<100;i++){
memset(dp,0,sizeof(dp));
dp[0][0][0]=1;
for(int j=1;j<=n;j++){
for(auto V:sts[j]){
int a=V.a,b=V.b,c=V.c;
if(r[j]<=i){
if(a)dp[a][b][c]=dp[a-1][b][c];
}
else if(l[j]>=i+1){
if(c)dp[a][b][c]=dp[a][b][c-1];
}
else{
int L=r[j]-l[j];
if(b)dp[a][b][c]+=dp[a][b-1][c]%mod;
if(a)dp[a][b][c]+=dp[a-1][b][c]*(i-l[j])%mod;
if(c)dp[a][b][c]+=dp[a][b][c-1]*(r[j]-i-1)%mod;
dp[a][b][c]=dp[a][b][c]*inv[L]%mod;
}
}
}
for(auto V:sts[n]){
int a=V.a,b=V.b,c=V.c;
if(a+b>=k&&a<k&&dp[a][b][c]!=0){
E+=(i+(k-a)*inv[b+1])%mod*dp[a][b][c]%mod;
E%=mod;
}
}
}
cout<<E<<endl;
return 0;
}
欧拉积分(Genshin)的更多相关文章
- hdu2588 GCD (欧拉函数)
GCD 题意:输入N,M(2<=N<=1000000000, 1<=M<=N), 设1<=X<=N,求使gcd(X,N)>=M的X的个数. (文末有题) 知 ...
- BZOJ 2705: [SDOI2012]Longge的问题 [欧拉函数]
2705: [SDOI2012]Longge的问题 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 2553 Solved: 1565[Submit][ ...
- BZOJ 2818: Gcd [欧拉函数 质数 线性筛]【学习笔记】
2818: Gcd Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 4436 Solved: 1957[Submit][Status][Discuss ...
- Euler-Maruyama discretization("欧拉-丸山"数值解法)
欧拉法的来源 在数学和计算机科学中,欧拉方法(Euler method)命名自它的发明者莱昂哈德·欧拉,是一种一阶数值方法,用以对给定初值的常微分方程(即初值问题)求解.它是一种解决常微分方程数值积分 ...
- COGS2531. [HZOI 2016]函数的美 打表+欧拉函数
题目:http://cogs.pw/cogs/problem/problem.php?pid=2533 这道题考察打表观察规律. 发现对f的定义实际是递归式的 f(n,k) = f(0,f(n-1,k ...
- poj2478 Farey Sequence (欧拉函数)
Farey Sequence 题意:给定一个数n,求在[1,n]这个范围内两两互质的数的个数.(转化为给定一个数n,比n小且与n互质的数的个数) 知识点: 欧拉函数: 普通求法: int Euler( ...
- 51Nod-1136 欧拉函数
51Nod: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1136 1136 欧拉函数 基准时间限制:1 秒 空间限制: ...
- FZU 2112 并查集、欧拉通路
原题:http://acm.fzu.edu.cn/problem.php?pid=2112 首先是,票上没有提到的点是不需要去的. 然后我们先考虑这个图有几个连通分量,我们可以用一个并查集来维护,假设 ...
- 欧拉函数 - HDU1286
欧拉函数的作用: 有[1,2.....n]这样一个集合,f(n)=这个集合中与n互质的元素的个数.欧拉函数描述了一些列与这个f(n)有关的一些性质,如下: 1.令p为一个素数,n = p ^ k,则 ...
- POJ 2337 Catenyms(有向图的欧拉通路)
题意:给n个字符串(3<=n<=1000),当字符串str[i]的尾字符与str[j]的首字符一样时,可用dot连接.判断用所有字符串一次且仅一次,连接成一串.若可以,输出答案的最小字典序 ...
随机推荐
- springboot 前后端大打包成一个JAR
1.概述 现在开发使用前后端开发机制,在部署的时候,我们需要将前后端分别打包,使用nginx 进行统一部署.这样就比较复杂,我们可以使用前后端打包到一个jar中,这样我们只需要一个包就可以了. 2.实 ...
- 使用七牛云上传文件报错incorrect region, please use up-z1.qiniup.com-迷恋自留地
最近用Git提交代码时,一直报如标题所示的错误.百度了很多都无法解决,包括改更改配置,SSh等.最后在一个论坛上,说可能之前输入的账号或密码有误.尝试后,完美解决. 解决方法: 找到如下图的位置: 可 ...
- COS 音视频实践|给你的视频加把锁
导语 为了保障视频内容安全,防止视频被非法下载和传播,对象存储(Cloud Object Storage,COS)数据处理基于数据万象 CI 提供了 HLS 视频加密的功能,拥有相比于私有读文件更高的 ...
- js 进制转换:十六进制转十进制、十进制转十六进制、十六进制转ASCII码、
因为近期做小程序,蓝牙连接硬件,需要根据module bus通信协议解析数据,用到了很多标题的算法转换,借此总结一下. 十六进制 转 十进制 function hex2dec(hex) { var l ...
- PDFSharp 常见问题
PDFSharp 常见问题 PDFsharp: Frequently Asked Questions - PDFsharp and MigraDoc Wiki 1. PDFSharp 是什么? PDF ...
- 【Linux】【专项突破】CentOS下软件安装
目录 rpm yum软件仓库 配置文件 缓存处理 清理缓存 重构缓存 查询包的依赖关系 rpm # 普通下载安装 rpm -ivh 包名 # 更新 rpm -Uvh 包全名 # 查询 rpm -q 包 ...
- Xshell无法连接22端口问题解决办法汇总
Xshell软件在进行远程连接过程中,会出现端口连接报错的问题,提示:"该IP地址的22端口连接失败",这是怎么回事?今天小编就xshell软件无法连接22端口的问题,整理相关情形 ...
- Mac触控板设置以及使用
Mac 触控板体验是非常好的,很多同学甚至直接用触控板代替鼠标操作,但是默认设置中有一些功能是没有开启的,需要手动配置. 本文就来说说 如何更改 Mac 触控板默认设置,让触控板变得更高效. 一.启用 ...
- python量化指标计算talib函数功能一览表
安装talib库:pip install talib 1 # 取个数据验证一下 2 set_token('') 3 data = history(symbol = 'SHSE.600519',freq ...
- shell(希尔)排序------python实现
if __name__ == '__main__': ''' 希尔排序 1.选择一个增量序列t1,t2,...,tk,其中ti>tj,tk=1 2.按增量序列个数K,对序列进行K躺排序 3.每趟 ...