#莫比乌斯反演,整除分块#洛谷 6222 「P6156 简单题」加强版
题目
多组询问,给出\(n,k\)
求
\]
对\(\text{unsigned}\)自然溢出
分析
推式子
\]
\]
后面这一坨可以预处理出来,记作\(F\)
然后枚举\(D=td\)
那么
\]
后面这一坨是一个积性函数,分类讨论一下就可以了
代码
#include <cstdio>
#include <cctype>
#define rr register
using namespace std;
typedef unsigned uit;
const uit N=20000011; bool v[N];
uit dp[N],f[N],prime[N],Cnt;
inline uit iut(){
rr uit ans=0; rr char c=getchar();
while (!isdigit(c)) c=getchar();
while (isdigit(c)) ans=(ans<<3)+(ans<<1)+(c^48),c=getchar();
return ans;
}
inline void print(uit ans){
if (ans>9) print(ans/10);
putchar(ans%10+48);
}
inline uit ksm(uit x,uit y){
rr uit ans=1;
for (;y;y>>=1,x=x*x)
if (y&1) ans=ans*x;
return ans;
}
inline void Pro(uit n,uit k){
dp[1]=f[1]=1;
for (rr uit i=2;i<=n;++i){
if (!v[i]) prime[++Cnt]=i,f[i]=ksm(i,k),dp[i]=i-1;
for (rr uit j=1;j<=Cnt&&prime[j]<=n/i;++j){
v[i*prime[j]]=1,f[i*prime[j]]=f[i]*f[prime[j]];
if (i%prime[j]==0){
rr uit t=i/prime[j];
if (t%prime[j]) dp[i*prime[j]]=-prime[j]*dp[t];
break;
}
dp[i*prime[j]]=dp[i]*(prime[j]-1);
}
}
for (rr uit i=2;i<=n;++i) dp[i]=dp[i-1]+dp[i]*f[i];
for (rr uit i=2;i<=n;++i) f[i]+=f[i-1];
for (rr uit i=2;i<=n;++i) f[i]+=f[i-1];
}
inline uit F(uit n){return f[n<<1]-f[n]-f[n];}
signed main(){
rr uit Test=iut(),MX=iut(); Pro(MX<<1,iut());
for (rr uit ans=0,i=1;i<=Test;++i,ans=0){
rr uit n=iut();
for (rr uit l=1,r;l<=n;l=r+1)
r=n/(n/l),ans+=(dp[r]-dp[l-1])*F(n/l);
print(ans),putchar(10);
}
return 0;
}
#莫比乌斯反演,整除分块#洛谷 6222 「P6156 简单题」加强版的更多相关文章
- 洛谷 P6222 - 「P6156 简单题」加强版(莫比乌斯反演)
原版传送门 & 加强版传送门 题意: \(T\) 组数据,求 \(\sum\limits_{i=1}^n\sum\limits_{j=1}^n(i+j)^k\mu^2(\gcd(i,j))\g ...
- 题解[LuoguP6222]「P6156简单题」加强版
题解[LuoguP6222]「P6156简单题」加强版 加强版很好地体现了这个题的真正价值.(当然是指卡常 本题解给出了本题更详尽的推倒导和思考过程,思路与 CYJian 的类似,具体式子的个别地方换 ...
- [P4450] 双亲数 - 莫比乌斯反演,整除分块
模板题-- \[\sum\limits_{i=1}^a\sum\limits_{j=1}^b[(i,j)=k] = \sum\limits_{i=1}^a\sum\limits_{j=1}^b[k|i ...
- 洛谷 P5518 - [MtOI2019]幽灵乐团 / 莫比乌斯反演基础练习题(莫比乌斯反演+整除分块)
洛谷题面传送门 一道究极恶心的毒瘤六合一题,式子推了我满满两面 A4 纸-- 首先我们可以将式子拆成: \[ans=\prod\limits_{i=1}^A\prod\limits_{j=1}^B\p ...
- 洛谷 P2257 - YY的GCD(莫比乌斯反演+整除分块)
题面传送门 题意: 求满足 \(1 \leq x \leq n\),\(1 \leq y \leq m\),\(\gcd(x,y)\) 为质数的数对 \((x,y)\) 的个数. \(T\) 组询问. ...
- 洛谷 - P2257 - YY的GCD - 莫比乌斯反演 - 整除分块
https://www.luogu.org/problemnew/show/P2257 求 \(n,m\) 中 \(gcd(i,j)==p\) 的数对的个数 求 $\sum\limits_p \sum ...
- 洛谷 - UVA11424 - GCD - Extreme (I) - 莫比乌斯反演 - 整除分块
https://www.luogu.org/problemnew/show/UVA11424 原本以为是一道四倍经验题来的. 因为输入的n很多导致像之前那样 \(O(n)\) 计算变得非常荒谬. 那么 ...
- Bzoj1101: [POI2007]Zap 莫比乌斯反演+整除分块
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1101 莫比乌斯反演 1101: [POI2007]Zap 设 \(f(i)\) 表示 \(( ...
- 莫比乌斯反演&整除分块学习笔记
整除分块 用于计算$\sum_{i=1}^n f(\lfloor{n/i} \rfloor)*i$之类的函数 整除的话其实很多函数值是一样的,对于每一块一样的商集中处理即可 若一个商的左边界为l,则右 ...
- [POI2007]ZAP-Queries (莫比乌斯反演+整除分块)
[POI2007]ZAP-Queries \(solution:\) 唉,数论实在有点烂了,昨天还会的,今天就不会了,周末刚证明的,今天全忘了,还不如早点写好题解. 这题首先我们可以列出来答案就是: ...
随机推荐
- 麒麟系统开发笔记(八):在国产麒麟系统上使用linuxdeployqt发布qt程序
前言 在ubuntu上发布qt程序相对还好,使用脚本,但是在麒麟上发布的时候,因为银河麒麟等不同版本,使用脚本就不太兼容,同时为了实现直接点击应用可以启动应用的效果,使用linuxdeployqt ...
- 【Azure Developer】使用Azure Key Vault 的Key签名后,离线验证的一些参考资料
问题描述 使用 key Vault 的sign接口,Request Body中的 Value 是要传什么呢? 签名后的内容如何在本地离线验证呢? Azure Key Vault Sign 接口:htt ...
- 分布式事务框架seata入门
一.简介 在近几年流行的微服务架构中,由于对服务和数据库进行了拆分,原来的一个单进程本地事务变成多个进程的本地事务,这时要保证数据的一致性,就需要用到分布式事务了.分布式事务的解决方案有很多,其中国内 ...
- 从0开始入门智能知识库和星火大模型,打造AI客服。
介绍FastWiki FastWiki是一个高性能.基于最新技术栈的知识库系统,旨在为大规模信息检索和智能搜索提供解决方案.它采用微软Semantic Kernel进行深度学习和自然语言处理,在后端使 ...
- Java 求数值型数组中的最大元素 最小值 平均值 总和等 要求:随机数是 两位数
1 /* 2 * 3 * 算法考查:求数值型数组中的最大元素 最小值 平均值 总和等 4 * 要求:随机数是 两位数 5 * [10,99] 6 * 公式:(int)(Math.random()*(9 ...
- MySQL汇总数和分组数据
1.使用SQL语句对数据库表中的数据进行简单的汇总和分组,这里要注意 count(*) 是对表中的所有数据目进行计数,不管表列中包含的是空值还是非空值. 而使用count(column)是对特定的列中 ...
- nginx流量复制与放大
1. 需求 功能需求 在不影响真实业务前提下,支持: 流量复制,用于线故障分析.系统迁移评估等 流量放大,通过多倍复制,实现放大流量,用于性能压测 配置需求 支持或禁止post请求复制 记录镜像请求的 ...
- [.Net]使用Soa库+Abp搭建微服务项目框架(三):项目改造
上一章我们说道,如果要使各模块之间解耦,使得各自独立成服务,首先要解除各个模块之间的引用关系. 还记得上一章我们的小项目吗 ?们回到之前的代码上来,当前的项目架构如下图: 这次的任务是将它改造成 ...
- EL1008E: Property or field 'timestamp' cannot be found on object of type 'java.util.HashMap' - maybe not public-请求springboot-后台报错
一.问题由来 自己在使用node.js写的前端项目访问springBoot访问的后端项目的时候,springboot项目中报这个错,抛出这个异常. 详细的错误信息如下: Servlet.service ...
- vetur volar 是否可以共用,vue2 vue3项目 如何同时开发?
vetur volar 是否可以共用,vue2 vue3项目 如何同时开发? 先提问 以后再找答案 20220704 补答 vetur volar 不要一起装 vscode环境