题目

实际上就是要求\(f*I^k\)。

因为\(I^k\)是一个积性函数,所以我们只需要考虑如何求\(I^k(p^a)\)。

把这个东西转化成一个长度为\(k\)的序列,每一位是\(\frac{i_k}{i_{k-1}}\),这东西就变成了长度为\(k\)的值域为\([0,a]\)的单调不降序列的方案数,也就是把 \(a\)个球放入\(k\)个盒子里的方案数,即\(a+k-1\choose a\)。

#include<bits/stdc++.h>
using namespace std;
int read(){int x=0,c=getchar();while(!isdigit(c))c=getchar();while(isdigit(c))x=x*10+c-48,c=getchar();return x;}
const int N=500007,P=1000000007;
int inc(int a,int b){a+=b;return a>=P? a-P:a;}
int mul(int a,int b){return 1ll*a*b%P;}
int f[N],g[N],x[N],v[N],inv[21],C[21];char s[N<<1];
int main()
{
int n=read(),i,j,k=0,num;scanf("%s",s+1);
for(i=1;i<=n;++i) f[i]=read();
for(i=1;i<=strlen(s+1);++i) k=inc(mul(k,10),s[i]-48);
for(inv[0]=inv[1]=1,i=2;i<=20;++i) inv[i]=mul(P-P/i,inv[P%i]);
for(i=1;i<=20;++i) inv[i]=mul(inv[i-1],inv[i]);
for(i=0;i<=20;++i) for(C[i]=inv[i],j=0;j<i;++j) C[i]=mul(C[i],i+k-j-1);
for(i=1;i<=n;++i) v[i]=1,x[i]=i;
for(i=2;i<=n;++i) if(x[i]^1) for(j=i;j<=n;v[j]=mul(v[j],C[num]),j+=i) for(num=0;!(x[j]%i);++num) x[j]/=i;
for(i=1;i<=n;++i) for(j=i;j<=n;j+=i) g[j]=inc(g[j],mul(f[i],v[j/i]));
for(i=1;i<=n;++i) printf("%d ",g[i]);
}

最新文章

  1. Largest Number
  2. IQueryable与IEnumberable的区别
  3. activiti集成spring异常(DbSqlSession)
  4. Unity3d shader内置矩阵
  5. The partial sum problem
  6. #翻译# 深入JavaScript的Unicode难题(上)
  7. Oracle跨库访问数据表-DBLINK
  8. 关于SGA与memory_target 大小冲突照成数据库无法挂载问题
  9. PHP函数和数组
  10. 南阳OJ-6-喷水装置(一)
  11. C++中的string类型转换为int类型
  12. 小程序swiper 滑块视图容器
  13. Nuget调用简单封装.
  14. 解决微信小程序使用wxcharts在屏幕不固定问题-开发工具里也显示好了布局,为啥到真机就是乱的
  15. 【爬虫】使用xpath与lxml移除特定标签
  16. php foreach
  17. js捕获错误
  18. U3d学习001-RollBox例子
  19. Java异常(二) 《Effective Java》中关于异常处理的几条建议
  20. iOS开发技巧 - 使用UIDatePicker来选择日期和时间

热门文章

  1. PL/SQL(Procedure Language &amp; Structured Query Language)
  2. java——hasCode是如何对应到数组索引的?为什么HashMap的initailCapacity要设置成2的n次幂?为什么要树化hashMap?
  3. Github Actions教程:运行python代码并Push到远端仓库
  4. HDU 2923 Relocation(状压dp+01背包)
  5. 源码阅读-SwiftyJSON
  6. Unity PlayerPrefs 存储的位置
  7. wannafly 练习赛11 E 求最值(平面最近点对)
  8. [CSP-S模拟测试]:军训队列(DP+乱搞)
  9. 测试常用shell命令
  10. maven使用常见问题