code:

  1. #include <bits/stdc++.h>
  2. #define ll long long
  3. #define setIO(s) freopen(s".in","r",stdin)
  4. using namespace std;
  5. int n;
  6. const ll mod=167772161,G=3,N=400006;
  7. ll f[N<<1],g[N<<1],fac[N],inv[N];
  8. ll qpow(ll x,ll y)
  9. {
  10. ll tmp=1ll;
  11. while(y)
  12. {
  13. if(y&1) tmp=tmp*x%mod;
  14. y>>=1,x=x*x%mod;
  15. }
  16. return tmp;
  17. }
  18. void NTT(ll *a,int len,int flag)
  19. {
  20. int i,j,k,mid;
  21. for(i=k=0;i<len;++i)
  22. {
  23. if(i>k) swap(a[i],a[k]);
  24. for(j=len>>1;(k^=j)<j;j>>=1);
  25. }
  26. for(mid=1;mid<len;mid<<=1)
  27. {
  28. ll wn=qpow(G,(mod-1)/(mid<<1));
  29. if(flag==-1) wn=qpow(wn,mod-2);
  30. for(i=0;i<len;i+=(mid<<1))
  31. {
  32. ll w=1ll;
  33. for(j=0;j<mid;++j)
  34. {
  35. ll x=a[i+j],y=w*a[i+mid+j]%mod;
  36. a[i+j]=(x+y)%mod,a[i+j+mid]=(x-y+mod)%mod;
  37. w=w*wn%mod;
  38. }
  39. }
  40. }
  41. if(flag==-1)
  42. {
  43. ll re=qpow(len,mod-2);
  44. for(i=0;i<len;++i) a[i]=a[i]*re%mod;
  45. }
  46. }
  47. int main()
  48. {
  49. // setIO("input");
  50. scanf("%d",&n);
  51. fac[0]=1ll;
  52. inv[0]=1ll;
  53. int i,j,limit=1;
  54. for(i=1;i<=n;++i) fac[i]=fac[i-1]*1ll*i%mod, inv[i]=qpow(fac[i],mod-2);
  55. for(i=0;i<=n;++i)
  56. {
  57. g[i]=qpow(i,n)*inv[i]%mod;
  58. if(i&1) f[i]=mod-inv[i];
  59. else f[i]=inv[i];
  60. }
  61. for(;limit<=2*(n+1);limit<<=1);
  62. NTT(f,limit,1),NTT(g,limit,1);
  63. for(i=0;i<limit;++i) f[i]=f[i]*g[i]%mod;
  64. NTT(f,limit,-1);
  65. for(i=0;i<=n;++i) printf("%lld ",f[i]);
  66. return 0;
  67. }

  

【luogu 5395】 【模板】第二类斯特林数·行的更多相关文章

  1. Codeforces 1528F - AmShZ Farm(转化+NTT+推式子+第二类斯特林数)

    Codeforces 题目传送门 & 洛谷题目传送门 神仙题,只不过感觉有点强行二合一(?). 首先考虑什么样的数组 \(a\) 符合条件,我们考虑一个贪心的思想,我们从前到后遍历,对于每一个 ...

  2. 【51NOD 1847】奇怪的数学题(莫比乌斯反演,杜教筛,min_25筛,第二类斯特林数)

    [51NOD 1847]奇怪的数学题(莫比乌斯反演,杜教筛,min_25筛,第二类斯特林数) 题面 51NOD \[\sum_{i=1}^n\sum_{j=1}^nsgcd(i,j)^k\] 其中\( ...

  3. 8-机器分配(hud4045-组合+第二类斯特林数)

    http://acm.hdu.edu.cn/showproblem.php?pid=4045 Machine schedulingTime Limit: 5000/2000 MS (Java/Othe ...

  4. bzoj 5093 [Lydsy1711月赛]图的价值 NTT+第二类斯特林数

    [Lydsy1711月赛]图的价值 Time Limit: 30 Sec  Memory Limit: 256 MBSubmit: 245  Solved: 128[Submit][Status][D ...

  5. CF961G Partitions(第二类斯特林数)

    传送门 对于每一个元素,我们只要能求出它的出现次数\(sum\),那么每个元素的贡献都是一样的,最终的答案为\(sum\times \sum_{i=1}^n w_i\) 那么分别讨论 如果这个元素自己 ...

  6. P4827 [国家集训队] Crash 的文明世界(第二类斯特林数+树形dp)

    传送门 对于点\(u\),所求为\[\sum_{i=1}^ndis(i,u)^k\] 把后面那堆东西化成第二类斯特林数,有\[\sum_{i=1}^n\sum_{j=0}^kS(k,j)\times ...

  7. 【bzoj5339】[TJOI2018]教科书般的亵渎(拉格朗日插值/第二类斯特林数)

    传送门 题意: 一开始有很多怪兽,每个怪兽的血量在\(1\)到\(n\)之间且各不相同,\(n\leq 10^{13}\). 然后有\(m\)种没有出现的血量,\(m\leq 50\). 现在有个人可 ...

  8. 【cf961G】G. Partitions(组合意义+第二类斯特林数)

    传送门 题意: 给出\(n\)个元素,每个元素有价值\(w_i\).现在要对这\(n\)个元素进行划分,共划分为\(k\)组.每一组的价值为\(|S|\sum_{i=0}^{|S|}w_i\). 最后 ...

  9. 【cf932E】E. Team Work(第二类斯特林数)

    传送门 题意: 求\(\displaystyle \sum_{i=0}^n{n\choose i}i^k,n\leq 10^9,k\leq 5000\). 思路: 将\(i^k\)用第二类斯特林数展开 ...

随机推荐

  1. java 操作实例

    1.无重复字符的最长子串 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3. class Soluti ...

  2. vue mint-ui 框架下拉刷新上拉加载组件的使用

    安装 npm i mint-ui -S 然后在main.js中引入 import MintUI from 'mint-ui' import 'mint-ui/lib/style.css' Vue.us ...

  3. golang 源码文件

    Go源码文件分三个种类: 1)命令源码文件:如果一个源码文件被声明属于main代码包,且该文件代码中包含无参数声明和结果声明的main函数,则它就是命令源码文件.命令源码文件可以通过go run命令直 ...

  4. Golang 是否有必要内存对齐?

    原文:https://ms2008.github.io/2019/08/01/golang-memory-alignment/ 内存模型 Posted by ms2008 on August 1, 2 ...

  5. AppTheme属性设置集合

    现在新建一个项目基本都会在 style.xml 设置基础的 AppTheme,但是系统的给提供的设置属性又比较多. 所以在此收集记录,以便之后查找方便. <style name="Ap ...

  6. python3 marshmallow学习

    python3 marshmallow学习 官方文档:https://marshmallow.readthedocs.io/en/stable/ 安装: pip install -U marshmal ...

  7. 基于Druid数据库连接池的DBUtil工具类

    工具类 DruidUtil.java package com.zzuli.util; import com.alibaba.druid.pool.DruidDataSourceFactory; imp ...

  8. 关于js保留两位小数方法总结

    https://www.cnblogs.com/le220/p/9756881.htmlhttps://blog.csdn.net/hyb1234hi/article/details/84142721 ...

  9. [echart] webpack中安装和使用

    安装echart npm install echarts --save 全量引入 可以直接在项目代码中 require('echarts') 得到 ECharts. 官方示例 var echarts ...

  10. 19道常见的JS面试算法题

    最近秋招也做了多多少少的面试题,发现除了基础知识外,算法还是挺重要的.特意整理了一些常见的算法题,添加了自己的理解并实现. 除此之外,建议大家还可以刷刷<剑指offer>.此外,左神在牛客 ...