正题

题目链接:https://loj.ac/p/6247


题目大意

给出n,kn,kn,k求
∑0≤i≤n,i∣k(ni)\sum_{0\leq i\leq n,i|k}\binom{n}{i}0≤i≤n,i∣k∑​(in​)
对998244353998244353998244353取模

1≤n≤1015,1≤k≤220,k=2p(p∈N)1\leq n\leq 10^{15},1\leq k\leq 2^{20},k=2^p(p\in N)1≤n≤1015,1≤k≤220,k=2p(p∈N)


解题思路

随便找的一题竟然是单位根反演,不过很基础而且很裸。

首先单位根反演的式子[i∣k]=1k∑j=0k−1ωki×j[i|k]=\frac{1}{k}\sum_{j=0}^{k-1}\omega_k^{i\times j}[i∣k]=k1​∑j=0k−1​ωki×j​

然后带到这题的式子就是
∑i=0n1k∑j=0k−1ωki×j(ni)\sum_{i=0}^n\frac{1}{k}\sum_{j=0}^{k-1}\omega_k^{i\times j}\binom{n}{i}i=0∑n​k1​j=0∑k−1​ωki×j​(in​)
然后把jjj提出来
1k∑j=0k−1∑i=0n(ωki)j(ni)\frac{1}{k}\sum_{j=0}^{k-1}\sum_{i=0}^n(\omega_k^{i})^j\binom{n}{i}k1​j=0∑k−1​i=0∑n​(ωki​)j(in​)
然后二项式定理
1k∑j=0k−1(ωki+1)n\frac{1}{k}\sum_{j=0}^{k-1}(\omega_k^{i}+1)^nk1​j=0∑k−1​(ωki​+1)n

额但是nnn很大直接用复数精度肯定会炸,但是998244353−1=223×7×17998244353-1=2^{23}\times 7\times 17998244353−1=223×7×17…又因为k=2pk=2^pk=2p,其实就是类似于NTTNTTNTT的思路我们直接用原根ωk1=gP−1k\omega_k^1=g^{\frac{P-1}{k}}ωk1​=gkP−1​就好了。

时间复杂度O(klog⁡n)O(k\log n)O(klogn)


code

#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
const ll P=998244353;
ll n,k,ans;
ll power(ll x,ll b){ll ans=1;while(b){if(b&1)ans=ans*x%P;x=x*x%P;b>>=1;}return ans;
}
signed main()
{scanf("%lld%lld",&n,&k);ll g=power(3,(P-1)/k),z=1;for(ll i=0;i<k;i++,z=z*g%P)(ans+=power(z+1,n)%P)%=P;printf("%lld\n",ans*power(k,P-2)%P);return 0;
}

Loj#6247-九个太阳【单位根反演】相关推荐

  1. loj #6247. 九个太阳

    求 $\sum\limits_{i=1}^n [k | i] \times C_n^i$ 膜 $998244353$ $n \leq 10^{15},k \leq 2^{20}$ $k$ 是 $2$ ...

  2. 【LOJ 6485】LJJ 学二项式定理(单位根反演)(模板)

    LJJ 学二项式定理 题目链接:LOJ 6485 题目大意 求一个式子: ∑ i = 0 n ( ( n i ) s i a i m o d 4 ) \sum\limits_{i=0}^n(\bino ...

  3. 单位根反演[loj6485]LJJ 学二项式定理

    前言 之前写反演的博客对于单位根反演只提了FFT 这里补一下一个应用 单位根反演 fi=∑j=0n−1ωni∗jgj⇔gi=∑j=0n−1ωn−i∗jnfjf_i=\sum_{j=0}^{n-1}\o ...

  4. POJChallengeRound2 Guideposts 【单位根反演】【快速幂】

    题目分析: 这题的目标是求$$ \sum_{i \in [0,n),k \mid i} \binom{n}{i}G^i $$ 这个形式很像单位根反演. 单位根反演一般用于求:$ \sum_{i \in ...

  5. #3328. PYXFIB(单位根反演)

    #3328. PYXFIB ∑i=0⌊nk⌋Cni×k×Fi×k∑i=0nCni×Fi×[i≡0(modk)]i≡0(modk),单位根反演有1k∑j=0k−1wkij1k∑i=0nCni×Fi∑j= ...

  6. P5591 小猪佩奇学数学(单位根反演)

    P5591 小猪佩奇学数学 ∑i=0n(in)×pi×⌊ik⌋⌊ik⌋=i−i%kk1k∑i=0n(in)×pi×(i−i%k)1k∑i=0n(in)×pi×i−1k∑i=0n(in)×pi(imod ...

  7. 【HNOI2019】白兔之舞【组合数学】【矩阵快速幂】【单位根反演】【Chirp Z-Transform】【原根】【MTT】

    题意:有一张 (L+1)×n(L+1)\times n(L+1)×n 个点的有向图,每个结点有二元组 (x,y)(0≤x≤L,1≤y≤n)(x,y)~(0\leq x\leq L,1\leq y\le ...

  8. 【BZOJ3328】PYXFIB【矩阵快速幂】【单位根反演】【二项式定理】

    传送门 题意: ∑i=0⌊nk⌋(nik)Fik\sum_{i=0}^{\lfloor\frac nk\rfloor}\binom n{ik}F_{ik}i=0∑⌊kn​⌋​(ikn​)Fik​ FF ...

  9. 【集训队作业2018】复读机【指数型生成函数】【单位根反演】【二项式定理】

    传送门 单位根反演听着高级,其实没啥技术含量-- 本文是篇几乎没有证明的佛系讲解 单位根反演的式子长这样: 1n∑i=0n−1ωnik=[k∣n]\frac{1}{n}\sum_{i=0}^{n-1} ...

最新文章

  1. office在线编辑器
  2. 微服务实践分享(5)缓存中心
  3. DL之pix2pix:基于TF利用pix2pix模型对food_resized数据集实现Auto Color自动上色技术—训练测试过程全记录
  4. mysql-5.7.11-winx64.zip 安装配置
  5. onlyOfice取消上传文件大小的限制
  6. mysql sysdate本周_oracle 、mysql 取昨天 前天 本周 数据
  7. unity 2020 怎么写shader使其接受光照?_用Unity实现半条命Alyx中的液体物理效果
  8. linux 命令find
  9. s7300plc串口通信_s7-300串口通讯.ppt
  10. lammps教程:薄膜渗透过滤模拟(1)
  11. win10等系统安装Pads安装步骤及软件卡死问题解决
  12. php网站开题报告该怎么答辩,如何应对开题报告答辩?看完你就明白了
  13. xp系统从u盘启动计算机,教你怎么用U盘安装Windows XP系统
  14. OGG FOR BIGDATA 安装(修正)
  15. The types of the interface org.apache.flink.util.OutputTag could not be inferred.
  16. 编译天嵌E8内核源码
  17. docx4j 对比word
  18. 论文阅读笔记:DOER: Dual Cross-Shared RNN for Aspect Term-Polarity Co-Extraction
  19. USB HOST芯片SL2.1A调试心得
  20. 2019智能家居白皮书-从智能单品到全屋智能

热门文章

  1. 图像处理前沿技术_深入浅出人工智能前沿技术—机器视觉检测,看清人类智慧工业...
  2. 国家开放大学计算机基础实训项目一,国家开放大学电大专科《微机系统与维护》网络课实训11及实训12作业及答案...
  3. java取整公式,Java取整函数 四舍五入函数-Go语言中文社区
  4. linux mysql帮助文档,在 Linux 上安装 MySQL
  5. [MyBatisPlus]乐观锁和悲观锁
  6. [Java基础]类加载
  7. 蓝桥杯2017初赛-9数算式-dfs
  8. 题目 1885: [蓝桥杯][2017年第八届真题]分巧克力+二分
  9. Docker中数据管理
  10. Educational Codeforces Round 90 (Rated for Div. 2)(A, B, C, D, E)