求μ\mu的不用说了。
构造和式

∑i=1n∑d|iφ(d)∗d∗id

\sum_{i=1}^n\sum_{d|i}\varphi(d)*d*\frac i d
一方面 上式=∑ni=1i2\text{上式}=\sum_{i=1}^ni^2。
另一方面, 上式=∑nx=1x∑⌊nx⌋d=1φ(d)∗d\text{上式} =\sum_{x=1}^n x\sum_{d=1}^{\lfloor\frac n x \rfloor} \varphi(d)*d
而我们又知道 φ(i2)=i∗φ(i)\varphi(i^2)=i*\varphi(i)
因此不难杜教筛了。

#include<cstdio>
#include<algorithm>
using namespace std;
#define LL long long
const int p=1000000007,mod=1000007,maxn=1000000,inv=166666668;
int vis[maxn],prm[maxn],phi[maxn],sum[maxn];
struct hash
{int fir[maxn+10],ne[maxn+10],val[maxn+10],ans[maxn+10],tot;int find(int n){for (int i=fir[n%mod];i;i=ne[i])if (val[i]==n) return ans[i];return -1;}void ins(int n,int x){int y=n%mod;tot++;ne[tot]=fir[y];fir[y]=tot;val[tot]=n;ans[tot]=x;}
}h;
int inc(int x,int y)
{x+=y;return x>p?x-p:x;
}
int dec(int x,int y)
{x-=y;return x<0?x+p:x;
}
int solve(int n)
{if (n<=maxn) return sum[n];int ret=h.find(n);if (ret!=-1) return ret;ret=(LL)n*(n+1)%p*(2*n+1)%p*inv%p;for (int i=2,j;i<=n;i=j+1){j=n/(n/i);ret=dec(ret,(LL)(i+j)*(j-i+1)/2*solve(n/i)%p);}h.ins(n,ret);return ret;
}
int main()
{int tot=0,n;sum[1]=1;for (int i=2;i<=maxn;i++){if (!vis[i]){prm[++tot]=i;phi[i]=i-1;}for (int j=1;j<=tot&&(LL)i*prm[j]<=maxn;j++){vis[i*prm[j]]=1;if (i%prm[j]) phi[i*prm[j]]=phi[i]*(prm[j]-1);else{phi[i*prm[j]]=phi[i]*prm[j];break;}}sum[i]=inc(sum[i-1],(LL)i*phi[i]%p);}scanf("%d",&n);printf("1\n%d\n",solve(n));
}

bzoj4916 神犇和蒟蒻相关推荐

  1. bzoj4916: 神犇和蒟蒻(杜教筛)

    Description 很久很久以前,有一只神犇叫yzy; 很久很久之后,有一只蒟蒻叫lty; Input 请你读入一个整数N;1<=N<=109,A.BN;1<=N<=10^ ...

  2. 【BZOJ4916】神犇和蒟蒻(杜教筛)

    [BZOJ4916]神犇和蒟蒻(杜教筛) https://www.cnblogs.com/cjyyb/p/8297338.html 杜教筛技巧

  3. 【bzoj4916】神犇和蒟蒻 杜教筛

    题目描述 很久很久以前,有一只神犇叫yzy; 很久很久之后,有一只蒟蒻叫lty; 输入 请你读入一个整数N;1<=N<=1E9,A.B模1E9+7; 输出 请你输出一个整数A=\sum_{ ...

  4. 【BZOJ4916】神犇与蒟蒻

    题面 Description 很久很久以前,有一只神犇叫yzy; 很久很久之后,有一只蒟蒻叫lty; Input 请你读入一个整数N;\(1<=N<=10^9\),A.B模\(10^9+7 ...

  5. [BZOJ 4916]神犇和蒟蒻

    传送门 Description \[ sum_G(n)=\sum_{i=1}^n \mu(i^2)\\sum_F(n)=\sum_{i=1}^n \phi(i^2) \] Solution For a ...

  6. BZOJ 4916 神犇和蒟蒻

    题目链接 https://lydsy.com/JudgeOnline/problem.php?id=4916 题解 ∑i=1Nμ(i2)=1∑i=1Nφ(i2)=∑i=1Niφ(i) \sum_{i= ...

  7. 这是蒟蒻,勾搭神犇.

    这是SD 莱芜一中的蒟蒻,勾搭神犇.目标NOIP.这个博客最主要的一个目的是求大神们一起玩♂耍,欢迎大家留言. DQS学长给我加了友情链接,这个博客的确要好好搞一搞了.老师说整理博客是一件好事,可是我 ...

  8. 蒟蒻的python 学习笔记 ——北京理工大学嵩天mooc(有时间就看就更新,尽量让笔记容易懂,蟹蟹各位大神不吝赐教)

    蒟蒻的python 学习笔记 前言 课一:python语言程序设计 第一周:python 基本语法元素 1.1 程序设计基本方法 1.2 python 环境配置 1.3 实例1:温度转换 1.4 py ...

  9. cogs 1656. 膜拜神犇

    1656. 膜拜神犇 ★☆   输入文件:trioxorz.in   输出文件:trioxorz.out   简单对比 时间限制:0.5 s   内存限制:128 MB [题目描述] bigmingo ...

最新文章

  1. DeepChem | 基于图卷积预测分子的溶解度
  2. 开发日记-20190618 关键词 读书笔记《鸟哥的Linux私房菜-基础学习篇》
  3. json数据 提示框flash.now[:notice] flash.now[:alert]
  4. JDK1.8 stream详解(转)
  5. neo4j java label_Neo4j:在具有相同Label的两个或多个节点之间创建关系
  6. 纪中2019(上)游记+总结
  7. Congratulations! A Success Case on GDPR
  8. 如何测试网站服务器mysql数据库连接,如何测试网站服务器mysql数据库
  9. MATLAB数值计算函数汇总
  10. cissp认证考试指南_如何通过CISSP考试(信息安全认证)
  11. ASP.NET Core 和 EF Core 系列教程——入门
  12. Python爬虫(二)——urllib库,Post与Get数据传送区别,设置Headers,urlopen方法,简单爬虫
  13. 中学关于计算机方面的课题研究,《多媒体信息技术与初中生物教学的整合》课题研究方案...
  14. 前端三件套之CSS(二)
  15. Koo叔说Shader—果冻效果
  16. 基于阿里云的应用系统三级等保1.0测评总结
  17. Seaborn调色板设置
  18. [重点]C语言——数组
  19. 使用DBLINK查询时报ORA-00600: internal error code, arguments: [kzdlk_zt2 err]
  20. python登录系统账号检测_一种基于python的惠普打印机默认用户名密码检测方法与流程...

热门文章

  1. 【数据库笔记】(一)数据库模式
  2. DW1000 学习笔记1 - 概述简报
  3. PMP项目管理证书(2016年06月)
  4. vue向list中添加数据_vue点击添加数据 - osc_sjg81se7的个人空间 - OSCHINA - 中文开源技术交流社区...
  5. 怎样测量地图上曲线的长度_用于测量地图曲线长度的米尺的制作方法
  6. JavaScript typeof 判断数据类型
  7. 从零开始搭建uni-app框架的小程序开发环境
  8. 三个sata硬盘只能读取两个_电脑装了两个硬盘有一个读不出来是SATA接口的
  9. 【EXCEL简单考勤】
  10. 电力-故障录波(向量图)