令$d=\gcd(i,j)$,$i'=\frac{i}{d}$,$j'=\frac{j}{d}$,则$(i',j')=1$,可得$(i'+j',i'j')=1$(假设有公因子$p$,必然有$p|i'或j'$,又因为$p|(i'+j')$,则$p|i'$且$p|j'$,与$(i',j')=1$矛盾)

根据这些,原式$(i+j)|ij\iff(i'+j')|i'j'd\iff (i'+j')|d$

考虑枚举$i'$和$j'$,那么答案即$\sum_{i=1}^{n}\sum_{j=i+1}^{n}[\gcd(i,j)=1]\lfloor\frac{n}{(i+j)j}\rfloor$

先对第一维进行反演,得到$\sum_{d=1}^{n}\mu(d)\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=i+1}^{\lfloor\frac{n}{d}\rfloor}\lfloor\frac{n}{(i+j)jd^{2}}\rfloor$

可以发现,右式不为0必要条件为$i<j\le\lfloor \sqrt{\frac{n}{d^{2}}}\rfloor$,因此$d\le \sqrt{n}$,暴力复杂度即$n\int_{1}^{\sqrt{n}}x^{-2}dx=o(n)$

考虑先枚举$j$再对$i+j$数论分块,时间复杂度降为$n^{\frac{3}{4}}\int_{1}^{\sqrt{n}}x^{-\frac{3}{2}}dx=o(n^\frac{3}{4})$,可以通过

 1 #include<bits/stdc++.h>
2 using namespace std;
3 #define N 100005
4 int n,p[N],vis[N],mu[N];
5 long long ans;
6 long long calc(int n,int k){
7 long long ans=0;
8 for(int i=k+1,j;(i<=n)&&(i<2*k);i=j+1){
9 j=min(n/(n/i),2*k-1);
10 ans+=(n/i)*(j-i+1);
11 }
12 return ans;
13 }
14 int main(){
15 scanf("%d",&n);
16 mu[1]=1;
17 for(int i=2;i<N-4;i++){
18 if (!vis[i]){
19 p[++p[0]]=i;
20 mu[i]=-1;
21 }
22 for(int j=1;(j<=p[0])&&(i*p[j]<N-4);j++){
23 vis[i*p[j]]=1;
24 if (i%p[j])mu[i*p[j]]=mu[i]*mu[p[j]];
25 else{
26 mu[i*p[j]]=0;
27 break;
28 }
29 }
30 }
31 int d=(int)sqrt(n);
32 for(int i=1;i<=d;i++){
33 int m=n/(i*i),dd=(int)sqrt(m);
34 for(int j=1;j<=dd;j++)ans+=mu[i]*calc(m/j,j);
35 }
36 printf("%lld",ans);
37 }

[luogu4466]和与积的更多相关文章

  1. bzoj2693--莫比乌斯反演+积性函数线性筛

    推导: 设d=gcd(i,j) 利用莫比乌斯函数的性质 令sum(x,y)=(x*(x+1)/2)*(y*(y+1)/2) 令T=d*t 设f(T)= T可以分块.又由于μ是积性函数,积性函数的约束和 ...

  2. hdu1452 Happy 2004(规律+因子和+积性函数)

    Happy 2004 题意:s为2004^x的因子和,求s%29.     (题于文末) 知识点: 素因子分解:n = p1 ^ e1 * p2 ^ e2 *..........*pn ^ en 因子 ...

  3. [LeetCode] Maximum Product of Word Lengths 单词长度的最大积

    Given a string array words, find the maximum value of length(word[i]) * length(word[j]) where the tw ...

  4. [LeetCode] Product of Array Except Self 除本身之外的数组之积

    Given an array of n integers where n > 1, nums, return an array output such that output[i] is equ ...

  5. 2019年台积电进军AR芯片,将用于下一代iPhone

    近日,有报道表示台积电10nm 芯片可怜的收益率可能会对 2017 年多款高端移动设备的推出产生较大的影响,其中自然包括下一代 iPhone 和 iPad 机型.不过,台积电正式驳斥了这一说法,表明1 ...

  6. SAM4E单片机之旅——24、使用DSP库求向量数量积

    DSP(Digital Signal Processing,数字信号处理)中会使用大量的数学运算.Cortex-M4中,配置了一些强大的部件,以提高DSP能力.同时CMSIS提供了一个DSP库,提供了 ...

  7. AC日记——向量点积计算 openjudge 1.6 09

    09:向量点积计算 总时间限制:  1000ms 内存限制:  65536kB 描述 在线性代数.计算几何中,向量点积是一种十分重要的运算. 给定两个n维向量a=(a1,a2,...,an)和b=(b ...

  8. 求连续最大子序列积 - leetcode. 152 Maximum Product Subarray

    题目链接:Maximum Product Subarray solutions同步在github 题目很简单,给一个数组,求一个连续的子数组,使得数组元素之积最大.这是求连续最大子序列和的加强版,我们 ...

  9. [猜数字]把两个数和告诉A,积告诉B,求这两个数是什么

    1-20的两个数把和告诉A,积告诉B,A说不知道是多少,B也说不知道,这时A说我知道了,B接着说我也知道了,问这两个数是多少? 分析: 设和为S,积为M. 首先,A:我不知道. 说明:S可以分解成多个 ...

随机推荐

  1. React实现组件全屏化

    介绍 本文基于React+antd,给大家演示一个完整的全屏demo. 起因是开发今天给我提了一个sql编辑器输入框比较小,不支持放大,不太方便.希望能够全屏显示,联想到自己以后可能也会需要,便研究并 ...

  2. L1-027 出租 (20 分) java题解

    下面是新浪微博上曾经很火的一张图: 一时间网上一片求救声,急问这个怎么破.其实这段代码很简单,index数组就是arr数组的下标,index[0]=2 对应 arr[2]=1,index[1]=0 对 ...

  3. 实现前后端分离,最好的方案就是SPA(Single Page Application)

    从通常意义来讲,说到必须,就是指最佳实践上,实现前后端分离,最好的方案就是SPA.所以才会有 前后端分离=SPA 的近似,忽视了其中的差别.但是,既然有疑问了,我们就来看一下,为什么SPA是实现前后端 ...

  4. Pytorch——torch.nn.Sequential()详解

    参考:官方文档    源码 官方文档 nn.Sequential A sequential container. Modules will be added to it in the order th ...

  5. mysql锁场景及排查

    1.查询长时间不返回: 在表 t 执行下面的 SQL 语句: mysql> select * from t where id=1; 查询结果长时间不返回. 一般碰到这种情况的话,大概率是表 t ...

  6. 【数据结构与算法Python版学习笔记】查找与排序——散列、散列函数、区块链

    散列 Hasing 前言 如果数据项之间是按照大小排好序的话,就可以利用二分查找来降低算法复杂度. 现在我们进一步来构造一个新的数据结构, 能使得查找算法的复杂度降到O(1), 这种概念称为" ...

  7. 验证域用户(C#)

    代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Intero ...

  8. Beta实际开发与初始计划的比较

    零.说明 本篇博客为Beta阶段开始十天后,实际开发工作与初始计划的比较 截止至本篇博客发布为止,团队所有成员已完成计网考试,将在本周日进行充分的接口测试 一.比较 1.与初始计划对比 初始计划 实际 ...

  9. Gitlab Burndown Chart

    一.说明 通过调用gitlab api直接获取相应project的所有issues,然后对其进行统计以制作燃尽图 二.方法 1.生成 Personal access token Gitlab > ...

  10. oo第三次博客-JML规格

    这三周的作业主要是围绕以JML来约束代码开发,以确保程序的正确性与鲁棒性. Part 1:三次作业的实现与bug 第一次作业没有任何算法和数据结构上的难度,对于Path和PathContainer的各 ...