acwing 868. 筛质数】的更多相关文章

#include <iostream> #include <algorithm> using namespace std; ; int primes[N], cnt; bool st[N]; void get_primes(int n) { //n只会被最小质因子筛掉 ; i <= n; i ++ ) { if (!st[i])//如果是质数 primes[cnt ++ ] = i; ; primes[j] <= n / i; j ++ ) {//从小到大枚举的质数 s…
线性筛 #include<bits/stdc++.h> #define N 1000010 using namespace std; int v[N],p[N]; void pr(int n) { memset(v,0,sizeof(v)); int m=0; for(int i=2;i<=n;i++) { if(v[i]==0) { v[i]=i; p[++m]=i; } for(int j=1;j<=m;j++) { if(p[j]>v[i]||p[j]>n/i)b…
题目:http://poj.org/problem?id=2262 大水题的筛质数. #include<iostream> #include<cstdio> #include<cstring> using namespace std; const int N=1e6; ],cnt; ]; void init() { ;i<=N;i++) { if(!vis[i])pri[++cnt]=i; ;j<=cnt&&(long long)i*pri[…
题目大意:给出一个等差数列,问这个等差数列的第n个素数是什么. 思路:这题主要考怎样筛素数,线性筛.详见代码. CODE: #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define MAX 1000010 using namespace std; int prime[MAX],primes; bool notp[MAX]; int a,d,n;…
4514: [Sdoi2016]数字配对 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 726  Solved: 309[Submit][Status][Discuss] Description 有 n 种数字,第 i 种数字是 ai.有 bi 个,权值是 ci. 若两个数字 ai.aj 满足,ai 是 aj 的倍数,且 ai/aj 是一个质数, 那么这两个数字可以配对,并获得 ci×cj 的价值. 一个数字只能参与一次配对,可以不参与配对. 在…
Recently, the bear started studying data structures and faced the following problem. You are given a sequence of integers x1, x2, ..., xn of length n and m queries, each of them is characterized by two integers li, ri. Let's introduce f(p) to represe…
积性函数 数论函数指的是定义在正整数集上的实或复函数. 积性函数指的是当 \((a,b)=1\) 时, 满足 \(f(a*b)=f(a)*f(b)\) 的数论函数. 完全积性函数指的是在任何情况下, 满足 \(f(a*b)=f(a)*f(b)\) 的数论函数. 常见的积性函数 copy&modified from 积性函数 - 维基百科,自由的百科全书 φ(n) -欧拉函数 μ(n) -莫比乌斯函数,关于非平方数的质因子数目 gcd(n,k) -最大公因子,当k一定 d(n) -n的正因子数目…
min_25筛 用来干啥? 考虑一个积性函数\(F(x)\),用来快速计算前缀和\[\sum_{i=1}^nF(i)\] 当然,这个积性函数要满足\(F(x),x\in Prime\)可以用多项式表示 同时,\(F(x^k),x\in Prime\)要能够快速计算答案 需要预处理的东西 先不考虑求前缀和的问题,考虑一个积性函数\(F(x)\) 求解\[\sum_{i=1}^n[i\in Prime]F(i)\] 直接求我也会懵逼的,还是找一个函数来算算,假设\(F(x)=x^k\) 那么,求解\…
感觉好好用啊 Luogu上的杜教筛模版题一发 Min_25抢到了 rank1 $ Updated \ on 11.29 $被 STO txc ORZ踩爆啦 前言 $ Min$_$25$筛可以求积性函数的前缀和 要求$ f(p_i)为一个多项式,f(p_i^{k_i})可以快速计算$ 以下部分暂时忽略$ 1$,即只考虑最小质因子$ \geq 2$的那些数 先考虑素数贡献 我们定义$ sp(n)$表示$\sum\limits_{i=1}^n f(p_i)$即前$ n$个素数的积性函数和 这里我们先假…
关于min_25筛的一些理解 如果想看如何筛个普通积性函数啥的,就别往下看了,下面没有的(QwQ). 下文中,所有的\(p\)都代表质数,\(P\)代表质数集合. 注意下文中定义的最小/最大质因子都是默认所有质因子本质不同. 即\(2*2*3*4*5*5\)的最小/次小质因子都是\(2\),最大/次大质因子都是\(5\). step1. 适用条件与思想 min_25筛用于求积性函数前缀和,即\(\sum_{i=1}^n f(i)\) . min_25筛相比于传统筛法来说(如莫比乌斯反演.杜教筛)…