分析 关于这道题套路到不能再套路了没什么好说的,其实发这篇博客的目的只是为了贴一个线性筛的模板. 代码 #include <bits/stdc++.h> #define rin(i,a,b) for(register int i=(a);i<=(b);++i) #define irin(i,a,b) for(register int i=(a);i>=(b);--i) #define trav(i,a) for(register int i=head[a];i;i=e[i].nxt…
2440: [中山市选2011]完全平方数 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 2371  Solved: 1143[Submit][Status][Discuss] Description 小 X 自幼就很喜欢数.但奇怪的是,他十分讨厌完全平方数.他觉得这些数看起来很令人难受.由此,他也讨厌所有是完全平方数的正整数倍的数.然而这丝毫不影响他对其他数的热爱. 这天是小X的生日,小 W 想送一个数给他作为生日礼物.当然他不能送一个小X讨厌…
对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数. 100%的数据满足:1≤n≤50000,1≤a≤b≤50000,1≤c≤d≤50000,1≤k≤50000 看这个:http://blog.csdn.net/a_crazy_czy/article/details/50485082 不过有一点点小错误,这里0和1反了. #include<cstdio> #include<algorithm&…
看这个题解吧:http://blog.csdn.net/wubaizhe/article/details/77338332 代码里顺便把几个常用的线性筛附上了. Key:1.gcd(i,j)==1利用莫比乌斯函数的性质进行转化. 2.变换求和符号的顺序. 3.发现,该式可以递推. 4.线性筛约数个数函数. #include<cstdio> #include<algorithm> using namespace std; #define MOD 1000000007 #define…
首先,你要知道什么是莫比乌斯函数 然后,你要知道什么是积性函数 最后,你最好知道什么是线性筛 莫比乌斯反演 积性函数 线性筛,见上一篇 知道了,就可以愉快的写mobius函数了 由定义: μ(n)=   1          (n=1) (-1)^k   (n=p1p2...pk)  /*  注意质因子次数为1因为次数大于等于2则含有平方因子  */ 0          (其他) 为什么关系平方因子呢? 因为,由定义: /* 莫比乌斯函数完整定义的通俗表达: 1)莫比乌斯函数μ(n)的定义域是…
一通套路之后得到 求出中间那个函数的前缀和的话就可以整除分块了. 暴力求的话复杂度其实很优秀了,大约在n~nlogn之间. 不过可以线性筛做到严格线性.考虑其最小质因子,如果是平方因子那么只有其有贡献,否则由于多了一个质因子,将函数值取反并加上该质因子贡献. #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #includ…
Description 神犇YY虐完数论后给傻×kAc出了一题给定N, M,求1<=x<=N, 1<=y<=M且gcd(x, y)为质数的(x, y)有多少对kAc这种 傻×必然不会了,于是向你来请教……多组输入 Input 第一行一个整数T 表述数据组数接下来T行,每行两个正整数,表示N, M Output T行,每行一个整数表示第i组数据的结果 Sample Input 2 10 10 100 100 Sample Output 30 2791 HINT T = 10000 N…
只会搬运YL巨巨的博客 积性函数 定义 积性函数:对于任意互质的整数a和b有性质f(ab)=f(a)f(b)的数论函数. 完全积性函数:对于任意整数a和b有性质f(ab)=f(a)f(b)的数论函数 性质 两个积性函数的狄利克雷卷积仍为积性函数. 若积性函数满足 \(f(n^p)=f^p(n)\)则它一定是完全积性函数.因为一个数可以唯一分解,则它一定可以表示成质数相乘的形式:因为他时积性函数所以,\(f(\prod_{i=1}^{n}p_i)=\prod _{i=1}^{n}f(p_i)\),…
欧拉函数是少于或等于n的数中与n互质的数的数目 φ(1)=1(定义) 类似与莫比乌斯函数,基于欧拉函数的积性 φ(xy)=φ(x)φ(y) 由唯一分解定理展开显然,得证 精髓在于对于积性的应用: ){phi[i*p[j]]=phi[i]*p[j];break;} phi[i*p[j]]=phi[i]*(p[j]-); 一个练手题Hdu1286 #include <algorithm> #include <iostream> #include <cstring> #inc…
4407: 于神之怒加强版 Time Limit: 80 Sec  Memory Limit: 512 MBSubmit: 241  Solved: 119[Submit][Status][Discuss] Description 给下N,M,K.求 Input 输入有多组数据,输入数据的第一行两个正整数T,K,代表有T组数据,K的意义如上所示,下面第二行到第T+1行,每行为两个正整数N,M,其意义如上式所示. Output 如题 Sample Input 1 23 3 Sample Outpu…