首页 > 其他分享 >筛子

筛子

时间:2024-09-20 21:38:14浏览次数:4  
标签:筛子 frac 函数 sum varphi 好求 rightarrow

\(claim\)

  • \(* \rightarrow\) 狄利克雷卷积
  • \((a, b) \rightarrow gcd(a,b)\)

欧拉函数

  • \(\varphi(p^k) = p ^ k - p ^ {k - 1}\)

  • \(n = \sum_{d|n} \varphi(d)\)

  • \(\varphi(n) = n \times \prod(1 - \frac{1}{p_i})\)

  • \(\varphi(nm)\varphi((n,m)) = \varphi(n)\varphi(m)(n,m)\)

杜教筛

求积性函数 \(\sum_{i=1}^n f(i)\)

设原式 = \(S(n)\)

找到一个积性函数 \(g \rightarrow\) 区间 \(sum\) 好求,\(\sum_{i=1}^nf(i)*g(i)\) 好求

\(\sum_{i=1}^n f*g(i) = \sum_{i=1}^{n}g(i)S(\frac{n}{i})\)

那么 \(g(1)S(n) = \sum_{i=1}^n f*g(i) - \sum_{i=2}^{n}g(i)S(\frac{n}{i})\)

后面整除分块递归求

标签:筛子,frac,函数,sum,varphi,好求,rightarrow
From: https://www.cnblogs.com/gzyakioi/p/18423321

相关文章

  • 筛子与莫反
    1.Miller-RabinMiller-Rabin是一种接受随机性的正确性较高的素数检验方法,它有一定概率将合数判断为素数,但不会将素数判断为合数。其基本判定思路是,检测素数都具有但合数不具有的特殊性质,如众所周知的费马小定理\(x^{p-1}\equiv1\pmodp\)。1.1费马素性检验费马小定理的逆......
  • 一个看起来不错的筛子
    前置知识powerfulnumber定义:\(\text{powerfulnumber}\)是没有\(1\)次质因子的数,也简称为\(\text{PN}\)。结论:\(n\)以内的\(\text{PN}\)个数为\(O(\sqrtn)\)。证明:所有\(\text{PN}\)必然可表示成\(a^2b^3\)的形式。那么:\[\sum_{a=1}^{\sqrtn}(\frac{n}{a^2}......
  • 筛子题
    T1Statement求出\(\gcd(n,k)\)的线性筛递推式,并证明复杂度是线性的。Solution\[\gcd(n,k)=\begin{cases}1&(n=1)\\\gcd(\fracn{P(n)},k)\cdotP(n)&(\gcd(\fracn{P(n)},k)\cdotP(n)\midk)\\\gcd(\fracn{P(n)},k)&\text{else}\end{cases}......
  • Flex筛子布局
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document</title>......
  • 筛子
    MIN_25筛适用范围亚线性(\(O(\dfrac{n^\frac{3}{4}}{\logn})\))求解部分积性函数的前缀和。要求\(f(x)\)是关于\(x\)的多项式函数且项数不是很多,次数不是很大,而且可以较快地求出\(f(p^c)\),其中\(p\)是一个素数描述给定\(n\)和积性函数\(f\)求\(\sum\limits......
  • 飞机误点时胡的一个筛子
    回杭州的路上胡的。其实是模拟赛考了一个积性函数前缀和,然后我由于生病没打,所以只胡了,然后由于不想整洲阁筛,所以胡了一个筛子。应该比较简单,适用范围也较小,大致能搞DIVCNTK这种满足\(f(p)=C\)(常数)且\(f(p^a)\)可以快速求的,不过复杂度不是很优,常数也不小。之前我只会\(O(......
  • 筛子游戏
    筛子游戏题解题目大意:吉吉国王正在玩一款手游,这个手游的规则非常简单。一开始你会得到三个筛子,三个筛子分别有\(k1,k2,k3\)面,也就是说分别可以扔出[1,k1],[1,k2],[......
  • python 写一行代码,计算随机6000次摇筛子,每一个对应出现的次数
    importrandomf1=0f2=0f3=0f4=0f5=0f6=0for_inrange(6000):face=random.randint(1,6)ifface==1:f1+=1elifface......