分析 首先,STO ywy OTZ,ywy TQL%%%! 说一下这道题用min_25筛怎么做. 容易发现,对于所有质数\(p\),都满足\(f(p)=4\),于是我们就可以直接通过\([1,x]\)内的质数的个数\(h(x)\)来求出\(g(x)=\sum_{i=1}^{x}f(i) \times [i \in prime]\)了,即\(g(x)\)可以等价地表示为\(g(x)=4 \times h(x)\).如何求\(h(x)\)是min_25筛的基本操作就不过多赘述了.而且进一步分析我们可…
题面 洛谷 \(\sigma_0(i)\) 表示\(i\) 的约数个数 求\(S_k(n)=\sum_{i=1}^n\sigma_0(i^k)\mod 2^{64}\) 多测,\(T\le10^4,n,k\le10^{10}\) 题解 令\(f(i)=\sigma_0(i^k)\)首先可以发现几个性质 \[f(1)=1\] \[f(p)=k+1\] \[f(p^c)=kc+1\] \[f(ab)=f(a)f(b),\gcd(a,b)=1\] 也就是说\(f\)是个积性函数,直接上\(Min\_2…
来自FallDream的博客,未经允许,请勿转载,谢谢. 设d(x)表示x的约数个数,求$\sum_{i=1}^{n}d(i^{3})$ There are 5 Input files. - Input #1: 1≤N≤10000, TL = 1s. - Input #2: 1≤T≤300, 1≤N≤10^8, TL = 20s. - Input #3: 1≤T≤75, 1≤N≤10^9, TL = 20s. - Input #4: 1≤T≤15, 1≤N≤10^10, TL = 20s. -…
比赛的时候把公式扣出来了,,但是没有想到用筛法算公因子,,默默学习一下.. 题解:设n=p1^(c1)p2^{c2}...pm^{cm},n=p​1^​c​1*​​​​p​2​^c​2​​​​...p​m​^c​m​​​​,则d(n^k)=(k*c1+1)(k*c2+1)...(k*cm+1)d(n​k​​)=(kc​1​​+1)(kc​2​​+1)...(kc​m​​+1).然后由于l,r的值很大,但是l-r的范围还是可以接受的,所以我们用一个偏移数组 来存l<=n<=r数的d(n).然后就…
题目大意:求1~N的每个数因子数的立方和. 题解:由于N过大,我们不能直接通过线性筛求解.我们可以采用洲阁筛. 洲阁筛的式子可以写成: 对于F(1~√n),可以直接线性筛求解. 对于,我们进行以下DP: g[i][j]为1~j中,与前i个质数互质的数的F值之和. dp过程中,有 如果p[i]>j,则g[i][j]=F(1): 如果p[i]*p[i]>j>=p[i],则g[i][j]=g[i-1][j]-p[i]^k*F(1)=g[d][j]-(p[d+1]^k~p[i]^k)*F(1),…
DIVCNT2 - Counting Divisors (square) DIVCNT3 - Counting Divisors (cube) 杜教筛 [学习笔记]杜教筛 (其实不算是杜教筛,类似杜教筛的复杂度分析而已) 你要大力推式子: 把约数个数代换了 把2^质因子个数 代换了 构造出卷积,然后大于n^(2/3)还要搞出约数个数的式子和无完全平方数的个数的容斥... .... 然后恭喜你,spoj上过不去... bzoj能过: #include<bits/stdc++.h> #define…
Min_25 筛这个东西,完全理解花了我很长的时间,所以写点东西来记录一些自己的理解. 它能做什么 对于某个数论函数 \(f\),如果满足以下几个条件,那么它就可以用 Min_25 筛来快速求出这个函数的前缀和. 它是一个积性函数 对于一个质数 \(p\) ,\(f(p)\) 的表达式必须是一个项数比较小的多项式.即 \(\displaystyle f(p) = \sum a_ip^{b_i}\). 对于一个质数 \(p\) ,\(f(p^k)\) 的表达式必须可以由 \(f(p)\) 快速得到…
地址:http://acm.split.hdu.edu.cn/showproblem.php?pid=6069 题目: Counting Divisors Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others)Total Submission(s): 1235    Accepted Submission(s): 433 Problem Description In mathem…
/** 题目:hdu6069 Counting Divisors 链接:http://acm.hdu.edu.cn/showproblem.php?pid=6069 题意:求[l,r]内所有数的k次方的约数个数之和. 思路: 用(1+e1)*(1+e2)*...*(1+en)的公式计算约数个数. 素数筛出[l,r]内的素因子,然后直接计算结果.(一开始我用vector存起来,之后再处理,结果超时, 时间卡的很紧的时候,vector也会很占用时间.) */ #include<iostream>…
题目 vjudge URL:Counting Divisors (square) Let σ0(n)\sigma_0(n)σ0​(n) be the number of positive divisors of nnn. For example, σ0(1)=1\sigma_0(1) = 1σ0​(1)=1, σ0(2)=2\sigma_0(2) = 2σ0​(2)=2 and σ0(6)=4\sigma_0(6) = 4σ0​(6)=4. Let S2(n)=∑i=1nσ0(i2).S_2(n…