Loading [MathJax]/jax/element/mml/optable/MathOperators.js

n^2求ln,exp

inline void ln(int *f,int *g,int n){
	g[0]=0;
	for(int i=1;i<n;++i)
	{
		g[i]=0;
		for(int j=1;j<i;++j)g[i]=(g[i]+1ll*f[i-j]*g[j]%P*j)%P;
		g[i]=(f[i]+1ll*g[i]*(P-inv[i]))%P;
	}
}
inline void exp(int *f,int *g,int n){
	g[0]=1;
	for(int i=1;i<n;++i){
		g[i]=0;
		for(int j=1;j<=i;++j)g[i]=(g[i]+1ll*g[i-j]*f[j]%P*j)%P;
		g[i]=(1ll*g[i]*inv[i])%P;
	}
}
posted @ 2020-10-24 16:01  Adscn  阅读(264)  评论(0)    收藏  举报
编辑推荐:
· 当加密ID需要变成Guid:为什么我选择了AES-CBC而非GCM?
· 基于 epoll 的协程调度器——零基础深入浅出 C++20 协程
· 下划线字段在golang结构体中的应用
· SQL Server也能玩正则表达式?
· CUDA 编程初探
阅读排行:
· 家里有密码锁的注意了,这真不是 BUG,是 feature。
· C#实现屏幕墙:同时监控多个电脑桌面(支持Windows、信创Linux、银河麒麟、统信UOS)
· 直击痛点的开源项目「GitHub 热点速览」
· C# 13 与 .NET 9 跨平台开发实战(第一章:开发环境搭建与.NET概述-上篇)
· 我的AI自学路线,可能对你有用
点击右上角即可分享
微信分享提示