loj2058 「TJOI / HEOI2016」求和 NTT

链接

loj

思路

\[S(i,j)=\frac{1}{j!}\sum\limits_{k=0}^{j}(-1)^{k}C_{j}^{k}(j-k)^{i}\]
\[\sum\limits_{i=0}^{n}\sum\limits_{j=0}^{i}S(i,j)·2^j·j!\]
\[\sum\limits_{i=0}^{n}\sum\limits_{j=0}^{n}S(i,j)·2^j·j!\]
\[\sum\limits_{j=0}^{n}2^j·j!\sum\limits_{i=0}^{n}S(i,j)\]
先看后边
\[\sum\limits_{i=0}^{n}\frac{1}{j!}\sum\limits_{k=0}^{j}(-1)^{k}C_{j}^{k}(j-k)^{i}\]
\[\frac{1}{j!}\sum\limits_{k=0}^{j}(-1)^{k}C_{j}^{k}\sum\limits_{i=0}^{n}(j-k)^{i}\]
\[\sum\limits_{k=0}^{j}(-1)^{k}\frac{1}{k!(j-k)!}\sum\limits_{i=0}^{n}(j-k)^{i}\]
\(f(j-k)=\sum\limits_{i=0}^{n}(j-k)^{i}\)等比数列求和。
\[\sum\limits_{k=0}^{j}\frac{(-1)^{k}}{k!}\frac{f(j-k)}{(j-k)!}\]
nice,这很卷积,用NTT预处理就好了,然后后面的式子就很好求ans了。
$\(\sum\limits_{j=0}^{n}2^j·j!\sum\limits_{k=0}^{j}\frac{(-1)^{k}}{k!}\frac{f(j-k)}{(j-k)!}\)

坑点

f(x)要特判q=1和q=0。因为公式本来就不能做
其他的照的推出来的式子做就可以辣

代码

#include <bits/stdc++.h>
using namespace std;
const int N=4e5+7,mod=998244353;
int n,ans,jc[N],a[N],b[N],limit=1,p,r[N];
int q_pow(int a,int b) {int ans=1;while(b) {if(b&1) ans=1LL*a*ans%mod;a=1LL*a*a%mod;b>>=1;}return ans;
}
int inv(int a) {return q_pow(a,mod-2);}
int ntt(int *a,int type) {for(int i=0;i<limit;++i)if(i<r[i]) swap(a[i],a[r[i]]);for(int mid=1;mid<limit;mid<<=1) {int Wn=q_pow(3,(mod-1)/(mid<<1));for(int i=0;i<limit;i+=(mid<<1)) {for(int j=0,w=1;j<mid;j++,w=1LL*w*Wn%mod) {int x=a[i+j],y=1LL*w*a[i+j+mid]%mod;a[i+j]=(x+y)%mod;a[i+j+mid]=(x-y+mod)%mod;}}}if(type==-1) {reverse(&a[1],&a[limit]);int inv=q_pow(limit,mod-2);for(int i=0;i<limit;++i) a[i]=1LL*a[i]*inv%mod;}
}
int f(int x) {if(!x) return 1;if(x==1) return n+1;return 1LL*(q_pow(x,n+1)-1)*inv(x-1)%mod;
}
int main() {scanf("%d",&n);jc[0]=1;for(int i=1;i<=n;++i) jc[i]=1LL*jc[i-1]*i%mod;for(int i=0;i<=n;++i) a[i]=1LL*(i&1?(mod-1):1)*inv(jc[i])%mod;for(int i=0;i<=n;++i) b[i]=1LL*f(i)*inv(jc[i])%mod;while(limit<n+n) limit<<=1,p++;for(int i=0;i<limit;++i)r[i]=(r[i>>1]>>1)|((i&1)<<(p-1));ntt(a,1),ntt(b,1);for(int i=0;i<limit;++i) a[i]=1LL*a[i]*b[i]%mod;ntt(a,-1);for(int i=0;i<=n;++i) ans=(ans+1LL*q_pow(2,i)*jc[i]%mod*a[i]%mod)%mod;printf("%d\n",ans);return 0;
}

转载于:https://www.cnblogs.com/dsrdsr/p/11214667.html

loj2058 「TJOI / HEOI2016」求和 NTT相关推荐

  1. 【TJOI/HEOI2016】求和

    题面 题目分析 \[ \begin{split} \sum_{i=0}^n\sum_{j=0}^iS(i,j)\cdot 2^j\cdot j!&=\sum_{j=0}^n2^j\cdot j ...

  2. 【TJOJI\HEOI2016】求和

    [TJOI/HEOI2016]求和 这题好难啊!! 斯特林数+NTT. 首先我们将第二类斯特林数用容斥展开,具体原理不解释了. \(\displaystyle S(i,j)=\frac{1}{j!}\ ...

  3. 传统计算机视觉技术落伍了吗?不,它们是深度学习的「新动能」

    2019-12-24 11:40:47 选自arXiv 作者:Niall O' Mahony等机器之心编译 参与:魔王.张倩 深度学习崛起后,传统计算机视觉方法被淘汰了吗? 论文链接:https:// ...

  4. 无监督学习最新研究:通过简单的「图像旋转」预测便可为图像特征学习提供强大监督信号

    作者:Spyros Gidaris.Praveer Singh.Nikos Komodakis 「雷克世界」编译:嗯~是阿童木呀.KABUDA.EVA 在过去的几年中,深度卷积神经网络(ConvNet ...

  5. python对excel某一列去重-「总结篇」Python中所有的Excel操作技巧

    原标题:「总结篇」Python中所有的Excel操作技巧 Python对于Excel的操作是多种多样的,掌握了相关用法就可以随心所欲的操作数据了! 操作xls文件 xlrd(读操作): import ...

  6. NeurIPS 2020有哪些值得读的「图神经网络」论文?

    在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考.在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果.如果你也希望让自己的科研成果被更多人看到, ...

  7. 专题解读 |「知识图谱」领域近期值得读的 6 篇顶会论文

    本期内容选编自微信公众号「开放知识图谱」. CIKM 2017 ■ 论文 | Hike: A Hybrid Human-Machine Method for Entity Alignmentin La ...

  8. [HEOI2016/TJOI2016]求和(第二类斯特林数)

    题目 [HEOI2016/TJOI2016]求和 关于斯特林数与反演的更多姿势\(\Longrightarrow\)点这里 做法 \[\begin{aligned}\\ Ans&=\sum\l ...

  9. gartner数据治理_Gartner:2019年「数据管理解决方案」魔力象限

    原标题:Gartner:2019年「数据管理解决方案」魔力象限 作者:Gartner 分析师 Adam Ronthal.Roxane Edjlali 和 Rick Greenwald 随着云和非关系技 ...

最新文章

  1. 选择Data类型在Access与Sql中的区别
  2. 爬虫进行request请求时User-Agent怎样写
  3. Android零基础入门第20节:CheckBox和RadioButton使用大全
  4. Codeforces Round #547 (Div. 3)
  5. maple 2018 窗口关闭提示乱码_如果解决SOLIDWORKS工程图转CAD字体出现乱码的问题_SolidWorks生信科技...
  6. DataTables基本搭建攻略(后台分页)
  7. Spring IOC容器和Bean的配置
  8. 二次封装arcgis的timeslider
  9. QBlog V2.5 源码开放下载(ASP.NET 番外系列之开端)
  10. ids和ips主要区别在于_数控机床和普通机床的最主要的区别是在于什么,你知道吗?...
  11. Typora下载安装教程
  12. Only the Paranoid Survive
  13. 服装制图软件测试初学者,服装行业版软件测试文案.ppt
  14. c语言加减运算编程 定点小数,浮点运算改定点运算
  15. python矩阵内积乘_numpy矩阵向量乘法
  16. Python计算商品复购率
  17. 【压缩感知合集5】压缩感知简介和数学模型分析
  18. 如何围绕某一轴(不是xyz)旋转——transform.RotateAround
  19. 人工智能革命:一个在ANI上运行的世界
  20. (14)雅思屠鸭第十四天:大作文优缺点类题目攻略

热门文章

  1. 手动将web项目的class文件打成jar包,手动打jar包,java -cvf,IDE打包底层指令
  2. Centos7常用命令
  3. GPT3 api接口调用
  4. tensorflow学习笔记(二十五):ConfigProtoGPU
  5. Error: Module build failed: TypeError: this.getResolve is not a function at Object.loader
  6. LeetCode简单题之打折购买糖果的最小开销
  7. LeetCode简单题之学生出勤记录 I
  8. CVPR2020最新论文扫描盘点(上)
  9. View的Touch事件分发(一.初步了解)
  10. 2021年大数据Spark(九):Spark On Yarn两种模式总结