标签:分块,莫比乌斯反演,数论,积性函数

题目



分析

F(i)=∑i=1n∑d|iμ(d)σ20(id)

F(i)=\sum_{i=1}^n \sum_{d|i} \mu(d)\sigma_0^2 ( \frac i d )

那么f(i)=∑d|iμ(d)σ20(id)

那么f(i)= \sum_{d|i} \mu(d)\sigma_0^2 ( \frac i d )

考试的时候打表发现f(i)=σ0(i2)

考试的时候打表发现f(i)=\sigma_0 ( i^2 )

那么F(i)=∑i=1nf(i)=∑i=1nσ0(i2)

那么F(i)=\sum_{i=1}^n f(i)=\sum_{i=1}^n\sigma_0 ( i^2 )

之后可以分块打表解决(F(i)和f(i)都是积性函数)

code

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<algorithm>
#define rep(i,a,b) for(int i=a;i<=b;i++)
#define dep(i,a,b) for(int i=a;i>=b;i--)
#define ll long long
#define mem(x,num) memset(x,num,sizeof x)
#define reg(x) for(int i=last[x];i;i=e[i].next)
using namespace std;
inline ll read()
{ll f=1,x=0;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}return x*f;
}
const int maxn=1e6+6;
int n,prime[maxn],mu[maxn],d[maxn],s1[maxn],s2[maxn],cnt=0;
bool is_prime[maxn];
void getmu(){mu[1]=1;rep(i,2,maxn-6){if(!is_prime[i])prime[++cnt]=i,mu[i]=-1;rep(j,1,cnt){if(prime[j]*i>maxn-6)break;is_prime[prime[j]*i]=1;if(i%prime[j]==0){mu[i*prime[j]]=0;break;}else mu[i*prime[j]]=-mu[i];}}
}
ll querys1(int x){if(x<=maxn-6)return s1[x];int y=round(sqrt(x)+1);ll re=0;rep(i,1,y)re+=mu[i]*(x/(i*i));return re;
}
ll querys2(int x){if(x<=maxn-6)return s2[x];ll re=0;for(int i=1,j=1,k;i<=x;i=j+1){k=x/i,j=x/k;re+=(ll)(j-i+1)*k;}return re;
}
ll work(){ll re=0;for(int i=1,j=1,k;i<=n;i=j+1){k=n/i,j=n/k;re+=querys2(k)*(querys1(j)-querys1(i-1));}return re;
}
int main()
{//freopen("function.in","r",stdin);//freopen("function.out","w",stdout); getmu();rep(i,1,maxn-6)rep(j,1,(maxn-6)/i)d[i*j]++;rep(i,1,maxn-6)s1[i]=s1[i-1]+mu[i]*mu[i],s2[i]=s2[i-1]+d[i];int T=read();if(T==0){cout<<endl;return 0;}while(T--){n=read();cout<<work()<<endl;}return 0;
}

雅礼集训 Function相关推荐

  1. 数据结构二之线段树Ⅱ——KiKi‘s K-Number,ball,The Child and Sequence,「雅礼集训 2017 Day1」市场,Atlantis

    值域线段树+势能线段树+扫描线 KiKi's K-Number ball The Child and Sequence 「雅礼集训 2017 Day1」市场 Atlantis KiKi's K-Num ...

  2. [LOJ 6042]「雅礼集训 2017 Day7」跳蚤王国的宰相(树的重心+贪心)

    [LOJ 6042]「雅礼集训 2017 Day7」跳蚤王国的宰相 description solution 一个到所有节点距离和最小的节点 ⇔\Leftrightarrow⇔ 树的重心(满足最重的儿 ...

  3. #6029. 「雅礼集训 2017 Day1」市场(势能,区间除)

    #6029. 「雅礼集训 2017 Day1」市场 用线段树维护数列,区间上维护最大最小值,区间和还有标记,修改时,区间加直接做,而区间除时,递归到线段树上某一区间,如果这一操作等价于区间加(也就是最 ...

  4. #6034. 「雅礼集训 2017 Day2」线段游戏 李超树

    #6034. 「雅礼集训 2017 Day2」线段游戏 内存限制:256 MiB时间限制:1000 ms标准输入输出 题目类型:传统评测方式:Special Judge 上传者: 匿名 提交提交记录统 ...

  5. 2017国庆 雅礼集训 题解合集

    D1 D1 T1:Clique: 我做的题太少啦,这都没看出来.首先,这个式子是 c[i]−c[j]>=dis(i,j) c[i]-c[j] >= dis(i,j),即在数轴上这样的圆,如 ...

  6. loj #6046. 「雅礼集训 2017 Day8」爷

    #6046. 「雅礼集训 2017 Day8」爷 题目描述 如果你对山口丁和 G&P 没有兴趣,可以无视题目背景,因为你估计看不懂 -- 在第 63 回战车道全国高中生大赛中,军神西住美穗带领 ...

  7. 雅礼集训及WC2018划水记

    雅礼集训1.30~2.3 noip考成250,没得去thuwc和pkuwc,和czy等去参加本来只有samjia和栋栋的集训队模拟.抱着被虐的心态去比赛. 第一天刚到比较困,比赛有点没精神,看到t3的 ...

  8. LibreOJ 6514. 「雅礼集训 2018 Day10」文明【虚树+LCA】

    6514. 「雅礼集训 2018 Day10」文明 [题目描述] 传送门 [题解] 考虑笨蛋的写法,可以用LCA求出1号和其他点的中点,然后DFS搜索Size大小即可,但是,复杂度显然要炸,但是我们会 ...

  9. Loj #6503. 「雅礼集训 2018 Day4」Magic

    Loj #6503. 「雅礼集训 2018 Day4」Magic 题目描述 前进!前进!不择手段地前进!--托马斯 · 维德 魔法纪元元年. 1453 年 5 月 3 日 16 时,高维碎片接触地球. ...

最新文章

  1. 长篇自动驾驶技术综述论文(上)
  2. windows环境下安装python的mysqldb模块
  3. local map at cambridge
  4. 2字段添加注释_Tableau学习系列(7):计算字段
  5. 被骗好多年:原来这才是大数据
  6. 支持pygame的python有哪些版本_完整构建文件支持PYGAME
  7. React中useEffect使用
  8. 【转载】深入理解Java内存模型——final
  9. 使用poi生成word文档(最全例子)
  10. mtk2503 新增物联网卡apn
  11. php可以用wamp哪个好,PHPWAMP好吗?phpwamp怎么用?PHPWAMP和其他集成环境有什么区别吗??...
  12. 群晖6.1安装php3.6_教程分享 --- jun大神 VMWare虚拟机安装黑群晖 (DSM6.1)
  13. 闪电模型数学_【雷电流的数学模型仿真分析】 matlab数学模型仿真系统图
  14. 安装CAD2006出现html,win7系统安装cad2006出现已终止CAD2006-Simplifieng安装的解决方法...
  15. 打造自己的MyLifeOrganized 2(MLO2)云同步
  16. 0805 0603 贴片电阻的区别
  17. 《指数基金投资指南》 阅读笔记
  18. ObjectMapper实现将Java对象转为json字符串
  19. pycocotools and mmpycocotools 循环报错
  20. Windows下使用Inno Setup 制作exe安装包

热门文章

  1. reduce方法详解
  2. 初学者对finally的认知
  3. 申宝炒股-指数延续反抽小三浪行情
  4. 关于node启动本地服务器的一些问题
  5. STMTrack: Template-free Visual Tracking with Space-time Memory Networks(STMTrack: 基于时空记忆网络的无模板视觉跟踪)
  6. Makefile中export的用法
  7. DTOJ#5203. 小 T 与灵石
  8. 解决This application failed to start because it could not find or load the Qt platform plugin windows
  9. 在全志的山寨平板上跑起linux
  10. 为什么wireshark有的地方显示的是乱码