首页 > 其他分享 >单位根反演

单位根反演

时间:2024-02-15 21:13:06浏览次数:20  
标签:frac limits sum 单位根 反演 ia bmod mod

单位根反演

通常用于求 \(\sum\limits_{i=0}^n[x\mid i]f_i\)。

形式

\[[n\mid k]=\frac{1}{n}\sum\limits_{i=0}^{n-1}\omega_n^{ik} \]

其中 \(\omega_n\) 是 \(n\) 次单位根,模意义下可以被原根替换。

证明

当 \(n\mid k\) 时,\(\omega_n^{ki}=1\)。所以右边等于 \(\frac{1}{n}\sum\limits_{i=0}^{n-1}1=1\)。

当 \(n\nmid k\) 时,右边等比数列求和:

\[\frac{1}{n}\times\frac{\omega_n^{nk}-1}{\omega_n^k-1} \]

因为 \(\omega_n^{nk}=1\) 所以柿子等于 \(0\)。

推论

一个更加常用的形式:设 \(F(x)=\sum\limits_{i=0}^nf_ix^i\),有

\[\sum\limits_{i=0}^n[p\mid i]f_i=\frac{1}{p}\sum\limits_{j=0}^{p-1}F(\omega_p^j) \]

从原形式推一下就行。

LibreOJ #6485

给定 \(T\le10^5\) 组 \(n,s,a_0,a_1,a_2,a_3\),求

\[\large{[\sum\limits_{i=0}^n(\binom{n}{i}\cdot s^i\cdot a_{i\space\bmod\space4})]\space\bmod\space998244353} \]

\(1\le n\le10^{18},1\le s,a_0,a_1,a_2,a_3\le10^8\)。

对 \(i\equiv0,1,2,3(\bmod\space4)\) 分类讨论:

当 \(i\equiv0(\bmod\space4)\) 时:

即求 \(S_0=a_0\sum\limits_{i=0}^n[4\mid i]\binom{n}{i}s^i\)。

构造 \(F_0(x)=(sx+1)^n\),单位根反演,\(S_0=\frac{a_0}{4}\sum\limits_{j=0}^3F_0(g^j)\),其中 \(g\) 是 \(\bmod\space998244353\) 的 \(4\) 次单位根。

当 \(i\equiv1(\bmod\space4)\) 时:

即求 \(S_1=a_1\sum\limits_{i=0}^n[4\mid(i-1)]\binom{n}{i}s^i\)

构造 \(F_1(x)=\frac{F_0(x)}{x}=\sum\limits_{i=0}^n\binom{n}{i}\cdot s^i\cdot x^{i-1}\),那么 \(S_1=\frac{a_1}{4}\sum\limits_{j=0}^3F_1(g^j)\)。

\(i\equiv2(\bmod\space4)\) 和 \(i\equiv3(\bmod\space4)\) 的情况类似。

Code
#include <bits/stdc++.h>
const int mod = 998244353;
using ia = long long;

int T;
ia n, s, a[4];

inline ia qpow(ia b, ia p) {
    ia res = 1;
    for (; p; p >>= 1) {
        if (p & 1)
            res = res * b % mod;
        b = b * b % mod;
    }
    return res;
}

int main() {
    scanf("%d", &T);
    while (T--) {
        scanf("%lld%lld", &n, &s);
        for (int i = 0; i < 4; i++)
            scanf("%lld", &a[i]);
        ia G = qpow(3, (mod - 1) >> 2);

        ia S[4] = {0, 0, 0, 0};
        for (int j = 0; j < 4; j++) {
            ia x = qpow(G, j);
            ia inv_x = qpow(x, mod - 2);
            for (int i = 0; i < 4; i++)
                (S[i] += qpow((s * x + 1) % mod, n) * qpow(inv_x, i)) %= mod;
        }
        for (int j = 0; j < 4; j++)
            S[j] = S[j] * a[j] % mod * qpow(4, mod - 2) % mod;
        std::cout << (S[0] + S[1] + S[2] + S[3]) % mod << '\n';
    }
    return 0;
}

标签:frac,limits,sum,单位根,反演,ia,bmod,mod
From: https://www.cnblogs.com/zzxLLL/p/18016534

相关文章

  • 莫比乌斯反演
    数论分块引理\[\lfloor\frac{a}{bc}\rfloor=\lfloor\frac{\lfloor\frac{a}{b}\rfloor}{c}\rfloor\]数论分块对于\(\displaystyleh(i)=\lfloor\frac{n}{i}\rfloor\),设\(f(l)=x\)。则\(\displaystyle\foralli\in[l,\lfloor\frac{n}{\lfloor\frac{n}{l......
  • 单位根反演学习笔记
    单位根反演\[[n|a]=\dfrac{1}{n}\sum\limits_{k=0}^{n-1}w^{ak}_{n}\]证明:当\(i\not\equiv0\pmodn\)时,由等比数列求和公式可得:原式\(=\dfrac{1}{n}\times\dfrac{w^{an}_n-1}{w^a_{n}-1}\),而右边分子为0,分母不为0,因此和为0。当\(i\equiv0\pmodn\)时,有原式\(=\dfrac{1}{n}......
  • 容斥与反演
    目录容斥与反演容斥原理容斥原理广义容斥原理P3813[FJOI2017]矩阵填数ProblemSolution反射容斥2023.11.16T1ProblemSolutionP3266[JLOI2015]骗我呢ProblemSolution集合反演P3349[ZJOI2016]小星星ProblemSolution[AGC005D]~KPermCountingProblemSolutionP5644[PKUWC2018]......
  • 莫比乌斯反演——优美地解决容斥问题
    莫比乌斯反演假设现在有一个函数\(f\),令\(F(n)=\sum\limits_{d|n}f(d)\),如\(F(1)=f(1),F(4)=f(1)+f(2)+f(4)\),现在我们要通过\(F\)反推\(f\),如\(f(1)=F(1),f(4)=F(4)-F(2)\),这就是莫比乌斯反演。可以推出这样的公式:\(F(n)=\sum\limits_{d|n}f(d......
  • <学习笔记> 二项式反演
    二项式反演证明我们设\(g(x)\)为任意\(x\)个集合的交集的大小,\(f(x)\)表示任意\(x\)个集合补集的交集大小。首先有(组合数学6.2)\[|\overline{S_1}\cap\overline{S_2}\cap...\cap\overline{S_{n-1}}\cap\overline{S_n}|=|U|-|{S_1}|-|{S_2}|-...+(-1)^n\times|{S......
  • 莫比乌斯反演
    莫比乌斯反演补了补暑假欠下的账(你怎么寒假才学)推狮子>>写代码。数论函数:定义域为正整数的函数。积性函数,对于一个数论函数,任意两个互质的正整数\(x,y\),都有\(f(xy)=f(x)f(y)\)完全积性函数就是不要求\(x,y\)互质的积性函数。常见的积性函数:单位函数\(\epsilon(n)......
  • 莫比乌斯反演
    前置:积性函数与狄利克雷卷积和整除分块两个基础积性函数:\(\varepsilon(n)=[n=1]\),\(1(n)=1\)。性质:\(\varepsilon*f=f\),\(f\)是任意函数。结论:\(f(n)\)是积性函数\(\iffg(n)=\displaystyle\sum_{d|n}f(d)\)是积性。证明:$\Rightarrow$方向:\(g=f*1\),狄利克雷卷积的性......
  • 【容斥反演】Nanami and Trip Schemes Count Problem
    链接给定\(k\)个特殊格子,求从(1,1)往右或往上走到(n,m),在经过不超过\(p\)个特殊格的情况下的方案数设\(f(S)\)表示钦定走S集合中格子的方案,\(g(S)\)为恰好走S集合的方案,那么\(f\)与\(g\)的关系就是一个\(\subseteq\)意义下的前缀和。即\[f(S)=\sum_{S\subs......
  • 【笔记】莫比乌斯反演
    0约定\([n]=[1,n]\cap\mathttZ\)1数论分块形如$S(n)=\sum\limits_{i=1}^nf(i)g(\left\lfloor\dfrac{n}{i}\right\rfloor)$。可以在\(O(\sqrtn)\)的时间复杂度内求解。1.1解法对于\(1\lei\le\sqrtn\),显然,\(i\)最多\(\sqrtn\)种取值,故而\(\left\l......
  • 【GEE】GEE反演地表温度相关问题说明(空洞、Landsat9数据集等)
    ​     之前分享了基于GEE-Landsat8数据集地表温度反演(LST热度计算),最近有很多小伙伴私信我很多问题,一一回复太慢了,所以今天写篇文章统一回答一下大家的问题。问题1:数据有很多空洞、某些条带没有数据等问题2:如何使用Landsat9数据进行温度反演问题3:该反演算法的来源......