3739: DZY loves math VIII

Time Limit: 25 Sec Memory Limit: 512 MB
Submit: 318 Solved: 50
[Submit][Status][Discuss]
Description

在XYZ的dzy loves math6问世后,dzy一直觉得这道题答案太大,一点都不优美,于是他随手在外面套上一个μ。同时,他又觉得输入两个数实在太麻烦,于是题目变成了,你能解决这个问题吗?

Input

第一行一个整数T表示询问组数,接下来T行每行一个整数n。

Output

对于每一个询问输出一行表示答案

Sample Input

1

2

Sample Output

0

HINT

T<=10^3 n<=10^7

Source


【分析】

稍微想一下μ \mu 的定义,你会发现这题其实能化简…
gcd(i,j)>1的情况下μ \mu 一定为0,质因子一定有平方…
所以直接考虑i,j i,j互质的情况,即gcd(i,j)=1 gcd(i,j)=1
所以原式为

∑ n i=1 ∑ i j=1 μ(ij) \sum_{i=1}^{n}\sum_{j=1}^{i}\mu(ij)

然后繁衍繁衍,乱搞一发,暴搜+nlogn=O(能过)
所以这题就是考你怎么求一个鬼畜的式子还不TLE


【代码】

//bzoj 3739 DZY loves math VIII
#include<cstdio>
#include<cstring>
#include<iostream>
#define N 10000000
#define ll long long
#define fo(i,j,k) for(i=j;i<=k;i++)
using namespace std;
const int mxn=10000005;
int n,m,T,cnt;
int vis[mxn],pri[mxn],miu[mxn],sum[mxn],f[mxn],a[mxn];
inline int read()
{int x=0;char ch=getchar();while(ch<'0'||ch>'9') ch=getchar();while(ch>='0'&&ch<='9') x=(x<<1)+(x<<3)+ch-'0',ch=getchar();return x;
}
inline void init()
{int i,j;miu[1]=1;fo(i,2,N){if(!vis[i]) vis[i]=pri[++pri[0]]=i,miu[i]=-1;for(j=1;j<=pri[0] && (ll)i*pri[j]<=N;j++){vis[i*pri[j]]=pri[j];if(i%pri[j]==0) break;miu[i*pri[j]]=-miu[i];}}
}
inline int dfs(int k,int x,int v)
{if(k>cnt){f[x]+=v;return miu[x]*f[x];}return dfs(k+1,x*a[k],v)+dfs(k+1,x,v);
}
int main()
{init();int i,j;fo(i,1,N){sum[i]+=sum[i-1];if(miu[i]){cnt=0;for(int x=i;x>1;x/=vis[x])a[++cnt]=vis[x];sum[i]+=miu[i]*dfs(1,1,miu[i]);}}T=read();while(T--){n=read();printf("%d\n",sum[n]);}return 0;
}

bzoj 3739 DZY loves math VIII相关推荐

  1. BZOJ 3309 DZY Loves Math

    3309: DZY Loves Math Description 对于正整数n,定义f(n)为n所含质因子的最大幂指数.例如f(1960)=f(2^3 * 5^1 * 7^2)=3, f(10007) ...

  2. BZOJ 3309: DZY Loves Math

    Description 对于正整数 n n,定义f(n)f(n)为 n n所含质因子的最大幂指数.例如f(1960)=f(23∗51∗72)=3f(1960)=f(2^3 * 5^1 * 7^2)=3 ...

  3. bzoj 3512: DZY Loves Math IV【欧拉函数+莫比乌斯函数+杜教筛】

    参考:http://blog.csdn.net/wzf_2000/article/details/54630931 有这样一个显然的结论:当\( |\mu(n)|==1 \)时,\( \phi(nk) ...

  4. DZY Loves Math 系列详细题解

    BZOJ 3309: DZY Loves Math I 题意 \(f(n)\) 为 \(n\) 幂指数的最大值. \[ \sum_{i = 1}^{a} \sum_{j = 1}^{b} f(\gcd ...

  5. 【BZOJ3309】DZY Loves Math

    3309: DZY Loves Math Time Limit: 20 Sec Memory Limit: 512 MB Submit: 411 Solved: 161 [Submit][Status ...

  6. 【BZOJ3512】DZY Loves Math IV(杜教筛)

    [BZOJ3512]DZY Loves Math IV(杜教筛) https://www.cnblogs.com/cjyyb/p/10165338.html

  7. BZOJ3560 DZY Loves Math V

    原题链接:https://www.lydsy.com/JudgeOnline/problem.php?id=3560 DZY Loves Math V Description 给定n个正整数a1,a2 ...

  8. DZY Loves Math系列

    link 好久没写数学题了,再这样下去吃枣药丸啊. 找一套应该还比较有意思的数学题来做. [bzoj3309]DZY Loves Math 简单推一下. \[\sum_{i=1}^n\sum_{j=1 ...

  9. 【BZOJ3309】DZY Loves Math 解题报告

    [BZOJ3309]DZY Loves Math Description 对于正整数\(n\),定义\(f(n)\)为\(n\)所含质因子的最大幂指数.例如\(f(1960)=f(2^3×5^1×7^ ...

最新文章

  1. 首次发现:你的大脑“指纹”,全球独一份
  2. java 查看文件属性_java File类获取文件属性详解
  3. 可心耳语-属于网络工程师的人声电台(第一期)
  4. labview如何进行串口通讯(转)
  5. Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant)
  6. RunDll32.exe 详解及[Windows批处理]清除IE缓存
  7. 搜索引擎关键字智能提示的一种实现
  8. 5G高频段频谱规划启动 大国博弈加剧
  9. 拓端tecdat|R语言自定义两种统计量度:平均值和中位数,何时去使用?
  10. 软件设计师中级考试经验总结
  11. 中国地区表-mysql-包含钓鱼岛-2019年10月更新-[1]
  12. shell脚本实现从master节点批量配置salve节点(主机名有瑕疵,IP映射,ssh服务)
  13. 23 期-原文 6.30
  14. 微信小程序如何显示富文本,类似v-html,rich-text
  15. 14、弱电工程综合布线系统常用的线材及设备图文资料
  16. Android圆形头像图Circle ImageView
  17. 手机qpython3 如何画图_记住这3个功能,一分钟掌握python sns作图
  18. 微信小程序text控件部分字体文字大小和颜色设置四
  19. 朔日科技计算机考试VB,2017年计算机二级VB考试题及答案
  20. 电脑可以上网但网络连接显示感叹号

热门文章

  1. yii mysql gii_yii中gii如何使用
  2. 最佳实践:MySQL CDC 同步数据到 ES
  3. 2022年河北专接本计算机高数一考试大纲
  4. 弹出 think-cell 许可证密钥窗口丨使用教程
  5. MYSQL 金额转大写中文
  6. ppurl 下载电子书
  7. OSChina 周四乱弹 —— 针对热门上姐弟恋的解答
  8. python自动化之淘宝自动清空购物车
  9. RN动画Animated
  10. 框架学习(1)——service层,dao层和service实现类进行数据库操作