ACM-ICPC 2018 南京赛区网络预赛

J题预处理,先打个线性筛,把1到n全都分解质因数,计算贡献,每个次幂为一的质因子贡献*2,次幂为2的质因子不算贡献,有超过2次幂的质因子那么这个数字就可以直接置为0了 

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#define PI acos(-1)
#define ll long long
#define inf 0x3f3f3f3f
#define ull unsigned long long
using namespace std;

const int N = (int)2e7 + 5;
bool isp[N];
int p[N],dp[N],sum[N],cnt;
void init()
{
    cnt=0;
    memset(dp,0,sizeof(dp));
    memset(isp,true,sizeof(isp));
    for(int i=2;i

 

你可能感兴趣的:(数学—数论,比赛)