http://www.lydsy.com/JudgeOnline/problem.php?id=3309

\[\sum_{T=1}^{min(a,b)}\sum_{d|T}f(d)\mu(\frac Td)\lfloor\frac aT\rfloor\lfloor\frac bT\rfloor
\]

设\(g(n)=\sum\limits_{d|n}f(d)\mu(\frac nd)\)。

假设n的质因子分解为\(p_1^{c_1},p_2^{c_2}\dots p_m^{c_m}\),设最大的质因子次数为a,质因子次数为a的有q个,那么

\[g(n)=a*e(n)-e(\frac{n}{\prod_i[c_i==a]p_i^{c_i}})*(-1)^q
\]

可以看出当质因子的次数\(c_1,c_2\dots c_m\)都相等时g(n)是\((-1)^{m+1}\),否则g(n)为0。

线筛g就可以\(O(\sqrt n)\)回答询问了。

g的线筛好难想啊!!!维护last表示除掉最小质因子后的数,t表示最小质因子的次数。



UPD:我写的筛法好残啊,其实直接筛质因子次数都为1的,再枚举k次方就可以了qwq

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long ll;
const int N = 1E7; bool notp[N + 3];
int prime[N + 3], num = 0, last[N + 3], t[N + 3];
ll g[N + 3], ans; void Euler_shai() {
for (int i = 2; i <= N; ++i) {
if (!notp[i]) {
prime[++num] = i;
last[i] = t[i] = g[i] = 1;
}
for (int j = 1, p = prime[j]; j <= num && 1ll * i * p <= N; p = prime[++j]) {
notp[i * p] = true;
if (i % p == 0) {
last[i * p] = last[i];
t[i * p] = t[i] + 1;
if (last[i] == 1) g[i * p] = 1;
else g[i * p] = (t[last[i]] == t[i * p] ? -g[last[i]] : 0);
break;
} else {
last[i * p] = i;
t[i * p] = 1;
g[i * p] = (t[i] == 1 ? -g[i] : 0);
}
}
}
for (int i = 2; i <= N; ++i) g[i] += g[i - 1];
} int main() {
Euler_shai();
int T, a, b; scanf("%d", &T);
while (T--) {
scanf("%d%d", &a, &b);
if (a > b) swap(a, b);
ans = 0;
for (int T = 1, y; T <= a; T = y + 1) {
y = min(a / (a / T), b / (b / T));
ans += (g[y] - g[T - 1]) * (a / y) * (b / y);
}
printf("%lld\n", ans);
}
return 0;
}

【BZOJ 3309】DZY Loves Math的更多相关文章

  1. 【bzoj 3309 】 DZY Loves Math

    Description 对于正整数n,定义f(n)为n所含质因子的最大幂指数.例如f(1960)=f(2^3 * 5^1 * 7^2)=3, f(10007)=1, f(1)=0.给定正整数a,b,求 ...

  2. 【BZOJ 3561】 DZY Loves Math VI

    题目: 给定正整数n,m.求   题解: 水题有益身心健康.(博客园的辣鸡数学公式) 其实到这我想强上伯努利数,然后发现$n^2$的伯努利数,emmmmmm 发现这个式子可以算时间复杂度,emmmmm ...

  3. 数学(数论)BZOJ 3309:DZY Loves Math

    Description 对于正整数n,定义f(n)为n所含质因子的最大幂指数.例如f(1960)=f(2^3 * 5^1 * 7^2)=3, f(10007)=1, f(1)=0. 给定正整数a,b, ...

  4. 【BZOJ 3569】DZY Loves Chinese II 随机化+线性基

    用到一个结论——[先建树,再给每个非树边一个权值,每个树边的权值为覆盖他的非树边的权值的异或和,然后如果给出的边存在一个非空子集异或和为0则不连通,否则连通](必须保证每条边的出现和消失只能由自己产生 ...

  5. 【BZOJ 3569】DZY Loves Chinese II

    题面 Description 神校XJ之学霸兮,Dzy皇考曰JC. 摄提贞于孟陬兮,惟庚寅Dzy以降. 纷Dzy既有此内美兮,又重之以修能. 遂降临于OI界,欲以神力而凌♂辱众生. 今Dzy有一魞歄图 ...

  6. 【BZOJ 3569】 DZY Loves Chinese II

    题目连接: 传送门 题解: 先%一发大佬的题解. 考虑一个图,删除一些边以后不连通的条件为,某个联通块与外界所有连边都被删掉,而不只是生成树中一个树边与所以覆盖它的非树边(很容易举出反例). 那么考虑 ...

  7. 【BZOJ3561】DZY Loves Math VI (数论)

    [BZOJ3561]DZY Loves Math VI (数论) 题面 BZOJ 题解 \[\begin{aligned} ans&=\sum_{i=1}^n\sum_{j=1}^m\sum_ ...

  8. 【BZOJ3512】DZY Loves Math IV(杜教筛)

    [BZOJ3512]DZY Loves Math IV(杜教筛) 题面 BZOJ 求 \[\sum_{i=1}^n\sum_{j=1}^m\varphi(ij)\] 其中\(n\le 10^5,m\l ...

  9. 【BZOJ3309】DZY Loves Math(莫比乌斯反演)

    [BZOJ3309]DZY Loves Math(莫比乌斯反演) 题面 求 \[\sum_{i=1}^a\sum_{j=1}^bf(gcd(a,b))\] 其中,\(f(x)\)表示\(x\)分解质因 ...

随机推荐

  1. 【BZOJ4069】【APIO2015】巴厘岛的雕塑 [贪心][DP]

    巴厘岛的雕塑 Time Limit: 10 Sec  Memory Limit: 64 MB[Submit][Status][Discuss] Description 印尼巴厘岛的公路上有许多的雕塑, ...

  2. 关于SQL注入的五大报错注入函数

    ~全部都以查user()为例子~ 1.floor()id = 1 and (select 1 from  (select count(*),concat(version(),floor(rand(0) ...

  3. POJ 2431 Expedition (优先队列+贪心)

    题目链接 Description A group of cows grabbed a truck and ventured on an expedition deep into the jungle. ...

  4. JSP九大内置对象,七大动作,三大指令

    JSP之九大内置对象 隐藏对象入门探索 Servlet 和JSP中输出数据都需要使用out对象.Servlet 中的out对象是通过getWriter()方法获取的.而JSP中没有定义out对象却可以 ...

  5. nginx 伪静态rewrite

    location正则写法 一个示例:   location = / { # 精确匹配 / ,主机名后面不能带任何字符串 [ configuration A ] } location / { # 因为所 ...

  6. fork与vfork区别

    1. 地址空间各段拷贝: fork: 内核为子进程生成新的地址空间结构,拷贝父进程的代码段,数据空间,堆,栈到自身的地址空间,但注意:子进程的代码段并不会分配物理空间,而是指向父进程的代码段物理空间, ...

  7. Redis 主从部署

    Redis 主从部署 http://www.xuchanggang.cn/archives/978.html

  8. Django Model笔记

    常用数据类型 # https://docs.djangoproject.com/en/1.8/ref/models/fields/#field-types BooleanField:布尔类型true/ ...

  9. Mysql+ODBC+OpenLDAP

    # 1.安装相关软件yum install wget unixODBC unixODBC-devel libtool-ltdl libtool-ltdl-devel -yyum install mys ...

  10. [BZOJ4824][Cqoi2017]老C的键盘 树形dp+组合数

    4824: [Cqoi2017]老C的键盘 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 218  Solved: 171[Submit][Statu ...