网站置顶代码,公众平台网站价格,浏览器下载大全,中交通力建设股份有限公司网站Description 给定 \(\sum_{il}^r f[i]\)\(f[i]\) 把 \(i\) 的每一个质因子都从小到大排列成一个序列(\(p_i^{c_i}\)要出现 \(c_i\) 次)后 , 第二大的质因子.题面 Solution 符合 \(Min25\) 筛的处理顺序. 递归处理每个质因子作为次大值时的贡献,和不作为次大值时贡献的方案数 , …Description 给定 \(\sum_{il}^r f[i]\)\(f[i]\) 把 \(i\) 的每一个质因子都从小到大排列成一个序列(\(p_i^{c_i}\)要出现 \(c_i\) 次)后 , 第二大的质因子.题面 Solution 符合 \(Min25\) 筛的处理顺序. 递归处理每个质因子作为次大值时的贡献,和不作为次大值时贡献的方案数 , 预处理一下区间质数个数就行了. #includebits/stdc.h
using namespace std;
typedef long long ll;
const int N1e610;
ll w[N],c[N],n,p[N];int m0,sqr,cnt0;
inline int id(ll x){return xsqr?x:m-(n/x)1;}
inline ll S(ll n,int k){if(np[k])return 0;ll retp[k]*(c[id(n)]-c[p[k]]);for(int ik1;icnt n/p[i]p[i];i){for(ll jn;(j/p[i])p[i];)retS(j,i)p[i];}return ret;
}
inline ll solve(ll now){m0,cnt0,nnow,sqrsqrt(n);for(ll i1,j;in;ij1)w[m]jn/(n/i),c[m]j-1;for(int i2;isqr;i){if(c[i]c[i-1])continue;p[cnt]i;for(int jm;w[j]/ii;j--)c[j]-c[id(w[j]/i)]-c[i-1];}return S(n,0);
}
int main(){freopen(pp.in,r,stdin);freopen(pp.out,w,stdout);ll l,r;cinlr;coutsolve(r)-solve(l-1);return 0;
}转载于:https://www.cnblogs.com/Yuzao/p/9270403.html