bzoj 4916: 神犇和蒟蒻 (杜教筛+莫比乌斯反演)
题目大意:
读入n。
第一行输出“1”(不带引号)。
第二行输出$\sum_{i=1}^n i\phi(i)$。
题解:
所以说那个$\sum\mu$是在开玩笑么=。=
设$f(n)=n\phi(n),F(n)=\sum_{i=1}^{n}f(i)$。
设$g=(f*id)$,则$g(n)=\sum_{d|n}id(\frac{n}{d})f(d)=n^2$。
设$G(n)=\sum_{i=1}^n g(i)=\frac{n(n+1)(2n+1)}{6}$。
同时将$G$完全展开我们得到:
$G(n)=\sum_{i=1}^{n}\sum_{d|i}d*f(\frac{i}{d})$
$=\sum_{d=1}^{n}d\sum_{i=1}^{\lfloor \frac{n}{d} \rfloor}f(i)$
$=\sum_{d=1}^{n}dF(\lfloor \frac{n}{d} \rfloor)$
由此可得:$$F(n)=\frac{n(n+1)(2n+1)}{6}-\sum_{i=2}^{n}F(\lfloor \frac{n}{i} \rfloor)i$$
代码:
- #define Troy
- #include <bits/stdc++.h>
- using namespace std;
- inline int read(){
- int s=,k=;char ch=getchar();
- while(ch<''|ch>'') ch=='-'?k=-:,ch=getchar();
- while(ch>&ch<='') s=s*+(ch^),ch=getchar();
- return s*k;
- }
- const int N=1e6+,mod=1e9+;
- int phi[N],prim[N],num,vis[N],F[N],f[N],n,re6=,re2=;
- map<int,int> mp;
- inline int calc(int x){
- if(x<N) return F[x];
- else if(mp.count(x)) return mp[x];
- int ret=x*1ll*(x+)%mod*(2ll*x+)%mod*re6%mod;
- for(register int i=,j;i<=x;i=j+){
- j=x/(x/i);
- ret=(ret-(j-i+1ll)*(i+j)/%mod*calc(x/i)%mod)%mod;
- if(ret<) ret+=mod;
- }
- return mp[x]=ret;
- }
- int main(){
- n=read();puts("");
- register int i,j,k;
- phi[]=;
- for(i=;i<N;++i){
- if(!vis[i]) prim[++num]=i,phi[i]=i-;
- for(j=;(k=prim[j]*i)<N;++j){
- vis[k]=true;
- if(i%prim[j]){
- phi[k]=phi[i]*1ll*(prim[j]-)%mod;
- continue;
- }
- phi[k]=phi[i]*1ll*prim[j]%mod;break;
- }
- }
- for(i=;i<N;++i) f[i]=1ll*phi[i]*i%mod,F[i]=(F[i-]*1ll+f[i])%mod;
- printf("%d\n",(calc(n)+mod)%mod);
- }
bzoj 4916: 神犇和蒟蒻 (杜教筛+莫比乌斯反演)的更多相关文章
- 【BZOJ4916】神犇和蒟蒻 杜教筛
题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4916 第一个询问即求出$\sum_{i=1}^{n} { \mu (i^2)} $,考虑 ...
- BZOJ4916: 神犇和蒟蒻(杜教筛)
题意 求 $$\sum_{i = 1}^n \mu(i^2)$$ $$\sum_{i = 1}^n \phi(i^2)$$ $n \leqslant 10^9$ Sol zz的我看第一问看了10min ...
- [BZOJ4916]神犇和蒟蒻 杜教筛/Min_25筛
题目大意: 给定\(n\le 10^9\),求: 1.\(\sum_{i=1}^n\mu(i^2)\) 2.\(\sum_{i=1}^n\varphi(i^2)\) 解释 1.\(\sum_{i=1} ...
- bzoj 4916: 神犇和蒟蒻【欧拉函数+莫比乌斯函数+杜教筛】
居然扒到了学长出的题 和3944差不多(?),虽然一眼看上去很可怕但是仔细观察发现,对于mu来讲,答案永远是1(对于带平方的,mu值为0,1除外),然后根据欧拉筛的原理,\( \sum_{i=1}^{ ...
- [BZOJ 4916]神犇和蒟蒻
Description 很久很久以前,有一只神犇叫yzy; 很久很久之后,有一只蒟蒻叫lty; Input 请你读入一个整数N;1<=N<=1E9,A.B模1E9+7; Output 请你 ...
- 【刷题】BZOJ 4916 神犇和蒟蒻
Description 很久很久以前,有一只神犇叫yzy; 很久很久之后,有一只蒟蒻叫lty; Input 请你读入一个整数N;1<=N<=1E9,A.B模1E9+7; Output 请你 ...
- BZOJ_4176_Lucas的数论_杜教筛+莫比乌斯反演
BZOJ_4176_Lucas的数论_杜教筛+莫比乌斯反演 Description 去年的Lucas非常喜欢数论题,但是一年以后的Lucas却不那么喜欢了. 在整理以前的试题时,发现了这样一道题目“求 ...
- [bzoj 4176] Lucas的数论 (杜教筛 + 莫比乌斯反演)
题面 设d(x)d(x)d(x)为xxx的约数个数,给定NNN,求 ∑i=1N∑j=1Nd(ij)\sum^{N}_{i=1}\sum^{N}_{j=1} d(ij)i=1∑Nj=1∑Nd(ij) ...
- 【XSY2731】Div 数论 杜教筛 莫比乌斯反演
题目大意 定义复数\(a+bi\)为整数\(k\)的约数,当且仅当\(a\)和\(b\)为整数且存在整数\(c\)和\(d\)满足\((a+bi)(c+di)=k\). 定义复数\(a+bi\)的实部 ...
随机推荐
- ELF 动态链接 so的动态符号表(.dynsym)
静态链接中有一个专门的段叫符号表 -- ".symtab"(Symbol Table), 里面保存了所有关于该目标文件的符号的定义和引用. 动态链接中同样有一个段叫 动态符号表 - ...
- jQuery插件学习基础
1.给jQuery添加全局的函数: $.zgz={ fn1:function(){ alert('我是刚设置的第一个全局函数') },fn2:function(){ alert('我是刚设置的第二个 ...
- 如何写jquery插件
首页 新文章 联系 管理 订阅 自己写一个 jQuery 插件 我知道这一天终将会到来,现在,它来了. 需求 开发 SharePoint 的 CSOM 应用时,经常需要在网页上输出一 ...
- ORACLE 本地数据库存储过程 调用远程数据库存储过程
废话少说,直接切入主题 步骤1:建立一个远程数据库的连接服务名 D:\oracle\ora92\network\admin\tnsnames.ora 添加如下代码: SDEC = (DESC ...
- 数据库面试题目- ORACLE
Posted on 2009-06-08 17:38 漠北的天空 阅读(110) 评论(0) 编辑 收藏 1. 列举几种表连接方式 Answer:等连接(内连接).非等连接.自连接.外连 ...
- git merge 与 git rebase
git merge git rebase merge V.S. rebase 参考材料 写在开始: 对merge和rebase的用法总有疑惑,好像两个都能完成"获取别的branch的comm ...
- 精彩源于起点——2018年潍坊市首次青少年Python编程公开课
有一种语言叫计算机语言 I want to talk with Computer 春遇到冬,有了岁月 天遇到地,有了永恒 我们拥有的, 不止是长大, 还有那份长大的悲欢经历. 未来会有很多可能, 但一 ...
- Django1.6版本的PG数据库定义手动升级
Django1.7以后添加了migration功能,数据库定义的升级完全实现自动化,之前是通过一个叫south的app来做的.这篇文章谈一下1.6下的手动更新升级. 1.table create和ta ...
- EF Code First 数据迁移配置
这里我想讲清楚code first 数据迁移的两种模式,还有开发环境和生产环境数据迁移的最佳实践. 1.1 数据迁移综述 EF Code first 虽然已经有了几种不同的数据库初始化策略,但是大部分 ...
- Spring使用 --- 基本概念(一):DI,依赖注入
Table of Contents 什么是依赖注入 怎样使用 什么时候使用 好处 本文讲述sprint基本概念之一: DI, 即依赖注入. 什么是依赖注入 说类A依赖于类B,最简单的例子是类A有一个类 ...