「Luogu5395」【模板】第二类斯特林数·行

「Luogu5395」【模板】第二类斯特林数·行

problem

Solution

一句话题意:求\(_{i=0}^n\begin{Bmatrix}n\\i\end{Bmatrix}\)

根据第二类斯特林数的展开式,有
\[\begin{Bmatrix}n\\k\end{Bmatrix}=\frac{1}{k!}\sum_{i=0}^k(-1)^i\begin{pmatrix}k\\i\end{pmatrix}(k-i)^n\]

具体证明可以看这里

进一步整理,式子化为

\[\begin{Bmatrix}n\\k\end{Bmatrix}=\sum_{i=0}^k\frac{(-1)^i}{i!}\times \frac{(k-i)^n}{(k-i)!}\]

可以发现这是一个卷积的形式

构造多项式

\[F(x)=\sum_{i=0}^n\frac{(-1)^i}{i!}x^i\]

\[G(x)=\sum_{i=0}^n\frac{i^n}{i!}x^i\]

\[S(x)=F(x)*G(x)\]

\(S(x)\)\(k\)次项系数即为\(\begin{Bmatrix}n\\k\end{Bmatrix}\)

预处理阶乘的逆元

本题的模数有原根\(3\),所以直接用\(NTT\)做卷积就可以了

时间复杂度\(O(n\log n)\)

Code

#include <cstdlib>
#include <iostream>
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <cstring>
#define inv(x) (fastpow((x),mod-2))
using namespace std;
typedef long long ll;const int maxn=200005;
const ll mod=167772161,g=3,ig=55924054;
int n;
ll a[maxn<<2],b[maxn<<2],ifac[maxn];ll fastpow(ll a,ll b)
{ll re=1,base=a;while(b){if(b&1)re=re*base%mod;base=base*base%mod;b>>=1;}return re;
}int len;
int rev[maxn<<2];void NTT(ll *f,int type)
{for(register int i=0;i<len;++i)if(i<rev[i])swap(f[i],f[rev[i]]);for(register int p=2;p<=len;p<<=1){int length=p>>1;ll unr=fastpow(type==1?g:ig,(mod-1)/p);for(register int l=0;l<len;l+=p){ll w=1;for(register int i=l;i<l+length;++i,w=w*unr%mod){ll tt=f[i+length]*w%mod;f[i+length]=(f[i]-tt+mod)%mod;f[i]=(f[i]+tt)%mod;}}}if(type==-1){ll ilen=inv(len);for(register int i=0;i<len;++i)f[i]=f[i]*ilen%mod;}
}int main()
{scanf("%d",&n);ifac[0]=1;for(register ll i=1;i<=n;++i)ifac[i]=ifac[i-1]*i%mod;ifac[n]=inv(ifac[n]);for(register ll i=n-1;i;--i)ifac[i]=ifac[i+1]*(i+1)%mod;for(register int i=0,o=1;i<=n;++i,o=mod-o)a[i]=o*ifac[i]%mod,b[i]=fastpow(i,n)*ifac[i]%mod;for(len=1;len<=n+n;len<<=1);for(register int i=1;i<len;++i)rev[i]=(rev[i>>1]>>1)|((i&1)?(len>>1):0);NTT(a,1);NTT(b,1);for(register int i=0;i<len;++i)a[i]=a[i]*b[i]%mod;NTT(a,-1);for(register int i=0;i<=n;++i)printf("%lld ",a[i]);
}

转载于:https://www.cnblogs.com/lizbaka/p/11370782.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/482473.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【前瞻】Nature:2022年7大“颠覆性”技术

来 源&#xff1a;中国科学报 作 者&#xff1a;文乐乐 近日&#xff0c;《自然》对“可能在未来一年对科学产生影响”的7项技术进行了综述。这7项技术分别是完整版基因组、蛋白质结构解析、量子模拟、精准基因组调控、靶向基因疗法、空间多组学、基于CRISPR的诊断。完整版基因…

day35-mysql之表的详细操作

表操作 1.数据类型 建表的时候&#xff0c;字段都有对应的数据类型 # 整型 # 浮点型 # 字符类型(char与varchar) # 日期类型 # 枚举与集合 2.约束条件 # primary key # unique key # not null 创建表的完整语法&#xff1a; create table 表名( 字段名1 类型[(宽度) 约束条件],…

重磅!Nature子刊发布稳定学习观点论文:建立因果推理和机器学习的共识基础...

来源&#xff1a;AI科技评论整理&#xff1a;AI科技评论2月23日&#xff0c;清华大学计算机系崔鹏副教授与斯坦福大学Susan Athey&#xff08;美国科学院院士&#xff0c;因果领域国际权威&#xff09;合作&#xff0c;在全球顶级期刊Nature Machine Intelligence&#xff08;影…

卸载mysql

先停止所有mysql有关进程。 打开控制台:依次输入以下命令 sudo rm /usr/local/mysqlsudo rm -rf /usr/local/mysql*sudo rm -rf /Library/StartupItems/MySQLCOMsudo rm -rf /Library/PreferencePanes/My*vim /etc/hostconfig and removed the line MYSQLCOM-YES-rm -rf ~/Libr…

​数据集拥有自己的世界观?不,其实还是人的世界观

来源&#xff1a; AI科技评论编译&#xff1a;Antonio编辑&#xff1a;陈彩娴伴随深度学习的不断日常化&#xff0c;数据集中的偏见&#xff08;bias&#xff09;和公正性&#xff08;fairness&#xff09;已经成为一个热门研究方向。偏见在AI领域是一个很棘手的话题&#xff1…

day36-表关系(外键)

1 表关系之外键 1.1 前戏之一对多关系 # 定义一张部门员工表 id name gender  dep_name dep_desc 1 jason male 教学部 教书育人 2 egon male 外交部 漂泊游荡 3 tank male 教学部 教书育人 4 kevi…

图灵奖获得者Yann LeCun:未来几十年AI研究的最大挑战是「预测世界模型」

来源&#xff1a;机器学习研究组订阅LeCun 认为&#xff0c;构造自主 AI 需要预测世界模型&#xff0c;而世界模型必须能够执行多模态预测&#xff0c;对应的解决方案是一种叫做分层 JEPA&#xff08;联合嵌入预测架构&#xff09;的架构。该架构可以通过堆叠的方式进行更抽象、…

总结出来的一些ASP.NET程序性能优化的注意事项[不断补充]

只是提了一个基本概念&#xff0c;具体要点要是需要查找资料。本文的各个要点&#xff0c;都是从网上大量文章中总结出来。参考资料&#xff1a;http://www.cnblogs.com/lxinxuan/archive/2006/11/06/551980.htmlasp.net程序性能优化总结 ——备忘具体技术 细节请查询 1. …

可重构人工智能设备展现出智能化前景

PURDUE UNIVERSITY来源&#xff1a;IEEE电气电子工程师一项新的研究发现&#xff0c;一种适应性强的新设备可以转换成人工智能硬件所需的所有关键电子元件&#xff0c;在机器人和自治系统中有潜在的应用。以大脑为灵感或“神经形态”的计算机硬件旨在模仿人脑从经验中自适应学习…

gin+vue的前后端分离开源项目

该项目是ginvue的前后端分离项目&#xff0c;使用gorm访问MySQL&#xff0c;其中vue前端是使用vue-element-admin框架简单实现的&#xff1b; go后台使用jwt&#xff0c;对API接口进行权限控制。此外&#xff0c;Web页面在token过期后的半个小时内&#xff0c;用户再次操作会自…

day37-数据库分组查询

1. 单表查询 2. 多表查询 ## 单表查询 前期表准备 create table emp( id int not null unique auto_increment, name varchar(20) not null, sex enum(male,female) not null default male, #大部分是男的 age int(3) unsigned not null default 28, hire_date date not null, …

指挥控制智能化现状与发展

来源&#xff1a;人机与认知实验室&#xff10; 引言人工智能&#xff08;AI&#xff09;技术现已进入一个新的高速增长期&#xff0c;是公认最有可能改变未来世界的颠覆性技术。从“深蓝”战胜卡斯帕罗夫&#xff0c;到机器学习技术在语音识别、图像识别和自然语言处理等诸多…

IEEE 2022年网络、计算机和通信国际学术研讨会(ISNCC2022)

2022年网络、计算机和通信国际学术研讨会&#xff08;International Symposium on Networks, Computers andCommunications,2022&#xff09;主办&#xff1a;电气与电子工程师学会&#xff08;IEEE&#xff09;、IEEE 通信学会&#xff08;IEEE Communications Society&#x…

@RequestParam和@RequestBody的区别

RequestBody是用来接收 application/json需要解析json字符串&#xff0c;然后通过json获取参数,这里用到是fastjson public CommonReturnType login(RequestBody String jsonStr) {JSONObject requestJson JSON.parseObject(jsonStr);String telphone(String)requestJson.get…

【重要征稿】IEEE 2022年网络、计算机和通信国际学术研讨会(ISNCC2022)

2022年网络、计算机和通信国际学术研讨会&#xff08;International Symposium on Networks, Computers andCommunications,2022&#xff09;主办&#xff1a;电气与电子工程师学会&#xff08;IEEE&#xff09;、IEEE 通信学会&#xff08;IEEE Communications Society&#x…

C++ 类设计核查表

参考&#xff1a;https://www.jianshu.com/p/01601515ca31 《大规模C程序设计》 函数接口&#xff1a; 1.运算符或非运算符函数&#xff1f; 2.自由或成员运算符&#xff1f; 3.虚函数或非虚函数&#xff1f; 4.纯虚成员函数或非纯虚成员函数&#xff1f; 5.静态或非静态成员函…

CICC《城市大脑建设规范》标准建设启动会在京召开

来源&#xff1a;中国指挥与控制学会 2022年2月27日下午&#xff0c;中国指挥与控制学会&#xff08;以下简称&#xff1a;CICC&#xff09;在京召开了《城市大脑建设规范》团体标准启动会。启动会邀请到了中国电信、中国电科、中国电子、联想、科大讯飞、世纪互联、北京市标准…

day38-数据库应用软件

# mysql select distinct 字段1&#xff0c;字段2&#xff0c;。。。 from 表名 where 分组之前的过滤条件 group by 分组条件 having 分组之后过滤条件 order by 排序字段1 asc&#xff0c;排序字段2 desc limit 5,5as语法中给某个查询结果起别名的时候需要把查询语句中…

世界被一种神秘的数学力量彻底改变了

来源&#xff1a;《微积分的力量》编辑&#xff1a;nhyilin01科学或许是唯一的神上世纪60年代&#xff0c;小说家赫尔曼沃克&#xff08;Herman Wouk&#xff09;正在为他计划中的巨著《战争风云》做调研&#xff0c;他去加州理工学院采访了参与过原子弹研发的物理学家&#xf…

程序异常退出后,托盘残留图标清理方法(C#)

程序猿对于宕机再熟悉不过了&#xff0c;如果一个程序异常退出&#xff0c;那我们只能在Windows日志中找到它的踪迹&#xff1b;如果它是一个托盘程序&#xff0c;异常退出后&#xff0c;它会停留在托盘中久久不能离去&#xff0c;直到我们的鼠标从它身上划过&#xff1b;如果一…