雅礼集训 Function
标签:分块,莫比乌斯反演,数论,积性函数
题目
分析
F(i)=\sum_{i=1}^n \sum_{d|i} \mu(d)\sigma_0^2 ( \frac i d )
那么f(i)= \sum_{d|i} \mu(d)\sigma_0^2 ( \frac i d )
考试的时候打表发现f(i)=\sigma_0 ( i^2 )
那么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相关推荐
- 数据结构二之线段树Ⅱ——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 ...
- [LOJ 6042]「雅礼集训 2017 Day7」跳蚤王国的宰相(树的重心+贪心)
[LOJ 6042]「雅礼集训 2017 Day7」跳蚤王国的宰相 description solution 一个到所有节点距离和最小的节点 ⇔\Leftrightarrow⇔ 树的重心(满足最重的儿 ...
- #6029. 「雅礼集训 2017 Day1」市场(势能,区间除)
#6029. 「雅礼集训 2017 Day1」市场 用线段树维护数列,区间上维护最大最小值,区间和还有标记,修改时,区间加直接做,而区间除时,递归到线段树上某一区间,如果这一操作等价于区间加(也就是最 ...
- #6034. 「雅礼集训 2017 Day2」线段游戏 李超树
#6034. 「雅礼集训 2017 Day2」线段游戏 内存限制:256 MiB时间限制:1000 ms标准输入输出 题目类型:传统评测方式:Special Judge 上传者: 匿名 提交提交记录统 ...
- 2017国庆 雅礼集训 题解合集
D1 D1 T1:Clique: 我做的题太少啦,这都没看出来.首先,这个式子是 c[i]−c[j]>=dis(i,j) c[i]-c[j] >= dis(i,j),即在数轴上这样的圆,如 ...
- loj #6046. 「雅礼集训 2017 Day8」爷
#6046. 「雅礼集训 2017 Day8」爷 题目描述 如果你对山口丁和 G&P 没有兴趣,可以无视题目背景,因为你估计看不懂 -- 在第 63 回战车道全国高中生大赛中,军神西住美穗带领 ...
- 雅礼集训及WC2018划水记
雅礼集训1.30~2.3 noip考成250,没得去thuwc和pkuwc,和czy等去参加本来只有samjia和栋栋的集训队模拟.抱着被虐的心态去比赛. 第一天刚到比较困,比赛有点没精神,看到t3的 ...
- LibreOJ 6514. 「雅礼集训 2018 Day10」文明【虚树+LCA】
6514. 「雅礼集训 2018 Day10」文明 [题目描述] 传送门 [题解] 考虑笨蛋的写法,可以用LCA求出1号和其他点的中点,然后DFS搜索Size大小即可,但是,复杂度显然要炸,但是我们会 ...
- Loj #6503. 「雅礼集训 2018 Day4」Magic
Loj #6503. 「雅礼集训 2018 Day4」Magic 题目描述 前进!前进!不择手段地前进!--托马斯 · 维德 魔法纪元元年. 1453 年 5 月 3 日 16 时,高维碎片接触地球. ...
最新文章
- 长篇自动驾驶技术综述论文(上)
- windows环境下安装python的mysqldb模块
- local map at cambridge
- 2字段添加注释_Tableau学习系列(7):计算字段
- 被骗好多年:原来这才是大数据
- 支持pygame的python有哪些版本_完整构建文件支持PYGAME
- React中useEffect使用
- 【转载】深入理解Java内存模型——final
- 使用poi生成word文档(最全例子)
- mtk2503 新增物联网卡apn
- php可以用wamp哪个好,PHPWAMP好吗?phpwamp怎么用?PHPWAMP和其他集成环境有什么区别吗??...
- 群晖6.1安装php3.6_教程分享 --- jun大神 VMWare虚拟机安装黑群晖 (DSM6.1)
- 闪电模型数学_【雷电流的数学模型仿真分析】 matlab数学模型仿真系统图
- 安装CAD2006出现html,win7系统安装cad2006出现已终止CAD2006-Simplifieng安装的解决方法...
- 打造自己的MyLifeOrganized 2(MLO2)云同步
- 0805 0603 贴片电阻的区别
- 《指数基金投资指南》 阅读笔记
- ObjectMapper实现将Java对象转为json字符串
- pycocotools and mmpycocotools 循环报错
- Windows下使用Inno Setup 制作exe安装包
热门文章
- reduce方法详解
- 初学者对finally的认知
- 申宝炒股-指数延续反抽小三浪行情
- 关于node启动本地服务器的一些问题
- STMTrack: Template-free Visual Tracking with Space-time Memory Networks(STMTrack: 基于时空记忆网络的无模板视觉跟踪)
- Makefile中export的用法
- DTOJ#5203. 小 T 与灵石
- 解决This application failed to start because it could not find or load the Qt platform plugin windows
- 在全志的山寨平板上跑起linux
- 为什么wireshark有的地方显示的是乱码