HDU 4746 Mophues (莫比乌斯反演应用)

Edge浏览器IE模式失效?最新142版本隐藏按钮的3种解决方案 本文针对Edge浏览器142版本中IE模式按钮消失的问题,提供了3种实用解决方案,包括注册表修改、手动添加网站到IE模式列表和企业策略部署方案,帮助用户解决兼容性问题,确保老旧系统正常访问。 阅读详情


Mophues

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 327670/327670 K (Java/Others)

Total Submission(s): 980    Accepted Submission(s): 376

Problem Description

As we know, any positive integer C ( C >= 2 ) can be written as the multiply of some prime numbers:
    C = p1×p2× p3× ... × pk
which p1, p2 ... pk are all prime numbers.For example, if C = 24, then:
    24 = 2 × 2 × 2 × 3
    here, p1 = p2 = p3 = 2, p4 = 3, k = 4
Given two integers P and C. if k<=P( k is the number of C's prime factors), we call C a lucky number of P.
Now, XXX needs to count the number of pairs (a, b), which 1<=a<=n , 1<=b<=m, and gcd(a,b) is a lucky number of a given P ( "gcd" means "greatest common divisor").
Please note that we define 1 as lucky number of any non-negative integers because 1 has no prime factor.
 
Input
The first line of input is an integer Q meaning that there are Q test cases.
Then Q lines follow, each line is a test case and each test case contains three non-negative numbers: n, m and P (n, m, P <= 5×105. Q <=5000).
 
Output
For each test case, print the number of pairs (a, b), which 1<=a<=n , 1<=b<=m, and gcd(a,b) is a lucky number of P.
 
Sample Input
  
2 10 10 0 10 10 1
 
Sample Output
  
63 93
 
Source
 
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4746

题目大意:定义num[i]为将i唯一分解后所有质因子的个数,要求num[gcd(a, b)] <= p的(a,b)的对数,其中1 <= a <= n,1 <= b <= m

题目分析:这题T了一天,先不考虑1,题目给的p的最大值是5e5,因此num[i]最大为18,因为2^19就大于5e5了
定义f(d)为gcd(a,b) = d的个数,g(d)为gcd(a,b) = d的倍数的个数,显然g(d)很好求,就是(n / d) * (m / d)
又g(d) = f(d) + f(2d) + f(3d) + ...对此式进行莫比乌斯反演得到
f(d) = u(1)g(d) + u(2)g(2d) + u(3)g(3d) + ...,最后答案为Σu(k)g(kd),此时若直接枚举d,就算计算f(d)用分块求和优化成接近sqrt(n),n*sqrt(n)接近2e8肯定超时,因此要换别的思路,考虑到num[i]最大只有18,我们可以预处理出以i为最大公约数,且分解i后质因子个数等于num[i]的方案数,根据公式有sum[ki][num[i]] += u[k],令j=ki,则sum[j][num[i]] += u[j / i],注意这里算的只是莫比乌斯函数的贡献值,
举个例子,比如
f(2) = u(1)g(2) + u(2)g(4) + u(3)g(6) + ...
f(3) = u(1)g(3) + u(2)g(6) + u(3)g(9) + ...
答案肯定要把它们加起来,注意到g(6)出现了两次,可以理解为6这个数字对num[i] = 1的情况有两次贡献, 因此可以写成(u(2) + u(3)) * g(6)
然后再处理分解i后质因子个数小于等于num[i]的方案数,最后再处理以i为最大公约数的前缀和,预处理工作就结束了,复杂度为nlogn,在线计算时用分块求和优化,复杂度为qsqrt(n),总的复杂度大概为nlogn+qsqrt(n)


#include <cstdio>
#include <cstring>
#include <algorithm>
#define ll long long
using namespace std;
int const MAX = 5e5 + 5;
int n, m, p, pnum;
int mob[MAX], pr[MAX], sum[MAX][20];
int num[MAX];
bool prime[MAX];

void Mobius()
{
    pnum = 0;
    memset(prime, true, sizeof(prime));
    mob[1] = 1;
    for(int i = 2; i < MAX; i++)
    {
        if(prime[i])
        {
            pr[pnum ++] = i;
            num[i] = 1;
            mob[i] = -1;
        }
        for(int j = 0; j < pnum && i * pr[j] < MAX; j++)
        {
            num[i * pr[j]] = num[i] + 1;
            prime[i * pr[j]] = false;
            if(i % pr[j] == 0)
            {
                mob[i * pr[j]] = 0;
                break;
            }
            mob[i * pr[j]] = -mob[i];
        }
    }
}

void Init()
{
    Mobius();
    for(int i = 1; i < MAX; i++)
        for(int j = i; j < MAX; j += i)
            sum[j][num[i]] += mob[j / i];
    for(int i = 1; i < MAX; i++)
        for(int j = 1; j < 19; j++)
            sum[i][j] += sum[i][j - 1];
    for(int i = 1; i < MAX; i++)
        for(int j = 0; j < 19; j++)
            sum[i][j] += sum[i - 1][j];
}

ll cal(int l, int r)
{
    ll ans = 0;
    if(l > r)
        swap(l, r);
    for(int i = 1, last = 0; i <= l; i = last + 1)
    {
        last = min(l / (l / i), r / (r / i));
        ans += (ll) (l / i) * (r / i) * (sum[last][p] - sum[i - 1][p]);  
    }
    return ans;
}   

int main()
{
    Init();
    int T;
    scanf("%d", &T);
    while(T --)
    {
        scanf("%d %d %d", &n, &m, &p);
        printf("%lld\n", p > 18 ? (ll) n * m : cal(n, m));
    }
}


IMSL CNL 7.0.0 (x86-64)Crack IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件 立即下载

相关推荐

面试篇 - LoRA(Low-Rank Adaptation) 原理

输出示例:trainable params: 262,144 || all params: 6,742,016,000 || trainable%: 0.0039。论文实验显示:零初始化 BB 可使初始损失与预训练模型相差不足0.1%,而非零初始化可能差50%+。若初始 ΔW≠0,模型可能立即偏离预训练学到的知识(如GPT-3突然忘记如何造句)。:如同汽车改装,先保持原厂配置(W),再逐步加装新部件(ΔW),避免直接飙车失控。:大模型的权重变化矩阵 ΔWΔW 通常是低秩的(少数主成分主导变化)。

qq_60245590的博客 1153

hdu4746-莫比乌斯反演+交换求和顺序+预处理

https://vjudge.net/contest/386727#problem/D 如果你在csdn上查本题的其他题解,你会很恼火,因为你不知道他们的F函数是怎么来的。我这篇题解将会把F函数的来历,这个唯一的关键点讲清楚! 不妨设n<=m。做这一假设是因为gcd值的范围为1~n。 考虑到只有gcd(i,j)==val这种形式的式子才能用莫比乌斯反演处理,我们不妨就加多一层求和符号,并增加限制。 ans=∑1<=x<=n[pf[x]<=k]∑1<=i<=n∑1<=

hans774882968的博客 418

PBR:双向反射分布函数(BRDF)介绍与Cook-Torrance模型的实现

PBR:双向反射分布函数(BRDF)介绍与Cook-Torrance模型的实现 BRDF简介 再介绍BRDF之前我们要引入渲染方程这个东西: 其中L表示辐射率,其公式为: 它表示了一个拥有辐射强度Φ的光源在单位面积A,单位立体角ω上的辐射出的总能量。 辐射率是辐射度量学上表示一个区域平面上光线总量的物理量,它受到入射光线与平面法线间的夹角θ的余弦值cosθ的影响:当直接...

小龙虾的博客 1万+

HDU---4746:Mophues【莫比乌斯反演】

题目: HDU - 4746 题意: 定义 f(x) 表示 x 的素因子的个数 (包括相同的),如果 f(x) <= p,则称 x 是 p的幸运数;Q 次询问,每次给出 N,M,P,求有多少对 (a,b) 使得 gcd(a,b) 是 p 的幸运数,并且 1=< a <= N,1 =< b <= M 分析: 题目所求等价于(假设 n <= m): ...

KobeDuu 2412

深信服上网行为管理设备登录方法、恢复出厂、恢复控制台密码

1.初识设备 1.1 设备外观 1.2 软件版本 2.如何登录设备 首次拿到AC/SG设备时,可以通过以下方法登录设备控制台 SANGFOR AC/SG设备,各网口默认的出厂IP为: eth0(LAN):10.251.251.251/24 , eth1(DMZ)10.252.252.252/24 1、使用一根交叉线连接设备和电脑 (1) 如果电脑连接的是设备的eth0口,需先在电脑上配...

✍千里之行,始于足下 ^,^ 5万+

手把手教你实现阿克曼ROS小车的运动控制

本文详细介绍了如何从零开始实现阿克曼ROS小车的运动控制。内容涵盖硬件搭建、STM32底层PID速度与舵机控制、ROS层阿克曼运动学模型解析,以及上下位机通信协议设计。通过手把手的代码示例和调试步骤,帮助机器人爱好者与开发者掌握将高级速度指令转化为小车具体动作的全流程,实现流畅的阿克曼转向控制。

weixin_29193259的博客 200

反演定理及其应用

一、莫比乌斯反演 莫比乌斯反演公式: 若 F(n)=∑i|nf(i)F(n)=∑i|nf(i)F(n)=\sum_{i|n}f(i) 则 f(n)=∑i|nμ(i)F(ni)f(n)=∑i|nμ(i)F(ni)f(n)=\sum_{i|n}\mu(i)F(\frac{n}{i}) 为什么呢?请看证明: 由于莫比乌斯函数具有性质∑i|nμ(i)=[n=1]∑i|nμ(i)=[n=1]\...

WAautomaton的博客 8483

DSP2837X CLA开发实战教程

摘要: 本文详细解析TI C2000 DSP中CLA协处理器的开发流程,以TMS320F28377D的cla_divide案例为例,展示浮点除法验证的实现方法。从基础配置(消息RAM管理、任务触发)到高级调试(ePWM计时、断点设置),涵盖全流程开发要点。重点分析CLA编程约束(禁用标准库、数学优化)、多任务调度及常见问题解决方案(如死锁、数据同步)。提供FPGA协同加速、电机控制等扩展方向,并推荐官方例程与硬件平台(如创龙TL2837xF-EVM)。开发时需注意.cla文件语法支持及调试技巧,以充分发挥C

6760

HDU - 4746 Mophues (莫比乌斯反演+分块)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4746 题目大意:题目定义如果数C是数P的幸运数的话,当且仅当C的质因子数小于等于P。现在给出n,m和p,问你能选多少对组合(a,b)满足1&lt;=a&lt;=n,1&lt;=b&lt;=m,同时gcd(a,b)是P的幸运数。 题目思路:对于这个题目,我们可以很直观的列出以下两个式子: 我们令表...

Lee_w_j__的博客 527

Qoder Work vs Lobster AI:办公AI工具深度对比(2026年2月更新)

Qoder Work = 本地安全的“文件管家”Lobster AI = 混合智能的“办公全能助手”选择逻辑:隐私优先→选Qoder Work;效率优先→选Lobster AI。

lpfasd123的博客 1045

AI大模型入门到实战系列(二十一)命名实体识别(NER)

命名实体识别(NER)是自然语言处理中的关键任务,旨在从文本中识别并分类预定义类别的实体(如人名、地点、组织等)。其核心步骤包括文本预处理、实体边界检测和类型分类。主流技术方法经历了从基于规则、统计机器学习到深度学习的演进,当前主要采用预训练语言模型(如BERT)和序列标注技术(如BiLSTM-CRF)。关键技术挑战包括实体边界模糊、嵌套实体和领域适应等问题。NER广泛应用于信息抽取、搜索引擎优化和知识图谱构建等领域,常用精确率、召回率和F1值作为评估指标。实际应用中通常采用BIO标注体系,并通过标签对齐处

echo的博客 1624

HDU - Mophues(莫比乌斯反演)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4746Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 327670/327670 K (Java/Others) Problem Description As we know, any positive integer C ( C >=...

ityanger的技术栈 3062

全覆盖路径规划开源项目Clean-robot-turtlebot3原理及流程概括总结

本系列文章主要介绍全覆盖路径规划开源项目Clean-robot-turtlebot3的相关内容,包含如下四篇文章,分别介绍了开源项目Clean-robot-turtlebot3流程的概括总结、ROS坐标系常用坐标及其变换、Clean-robot-turtlebot3关键函数解析等内容。

慕羽★的博客 6107

hdu 4746 Mophues (莫比乌斯反演)

第二个样例:N=10,M=10,P=1N=10,M=10,P=1N=10,M=10,P=1 ans=f(1)+f(2)+f(3)+f(5)+f(7)ans=f(1)+f(2)+f(3)+f(5)+f(7)ans=f(1)+f(2)+f(3)+f(5)+f(7) 每个 fff 具体的值 以 F(n)F(n)F(n) 来展示: ans=ans=ans= F(1)∗μ(1)+F(1)∗μ(...

帅气廖鹏飞 374

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

HDU 4746 Mophues(有趣的前缀和/莫比乌斯反演)

题目链接: HDU 4746 Mophues 题意: 令gcd(a,b)=d,对d质因子分解得到质因子个数为k如果k≤C,则称k为C的lucky数字,给出n,m,p,求a∈[1,n],b∈[1,m]使得gcd(a,b)是p的lucky数字的数字对(a,b)有多少对?令gcd(a, b) = d,对d质因子分解得到质因子个数为k如果k\leq C,则称k为C的lucky数字,给出n,m,p,求a

ramay7 908

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

HDU 4746 Mophues【莫比乌斯反演】

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4746题意:1≤x,y≤n1\le x,y \le n , 求gcd(x,y)gcd(x,y)分解后质因数个数小于等kk的(x,y)(x,y)的对数。分析:莫比乌斯反演。 还是一个套路,我们设 f(d)f(d):满足gcd(x,y)=dgcd(x,y)=d且x,yx,y均在给定范围内的(x,y)(x,

Tuesday 2196

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

HDU 4746 Mophues 莫比乌斯反演

题意: 把唯一分解后素因子个数不超过p的数叫做p的lucky number,如24=2*2*2*3,24的素因子个数为4。 给定n,m,p,求 。 题解: 不妨令n<=m。 初始的TLE做法: 因为此前写过一道题,是求gcd(i,j)为素数的数对的个数。 HYSBZ 2818 Gcd 起初觉得这两题差不多,就按类似的思路做: 线性筛预处理莫比乌斯函数前缀和,将所...

qq_38515845的博客 233

HDU 4746 Mophues(莫比乌斯反演)

题意:给出n, m, p,求有多少对a, b满足gcd(a, b)的素因子个数 思路:不难看出可以看出p最多不超过19. 首先考虑这个问题的简化版,求gcd(a,b)小于等于d的数对的数量。 对于这个问题,由莫比乌斯反演我们可以求出gcd为i的数对数量然后从1到j累加起来,但是d太大的话时间复杂度无法承受。 但是我们注意到,对于每个gcd = i,设A(d):gcd(a, b)=d的有多少

GODSPEED 860

莫比乌斯反演 - Mophues - HDU 4746

莫比乌斯反演 - Mophues - HDU 4746 题意: 计算满足gcd(a,b)=k,其中1≤a≤n,1≤b≤m且k的质因子(可重复)数≤P计算满足gcd(a,b)=k,其中1\le a \le n,1\le b\le m 且k的质因子(可重复)数\le P计算满足gcd(a,b)=k,其中1≤a≤n,1≤b≤m且k的质因子(可重复)数≤P 的数对(a,b)的个数。的数对(a,b)的个数。的数对(a,b)的个数。 Input The first line of input is an integer

njuptACMcxk的博客 255

Mophues HDU - 4746 (莫比乌斯反演)

Mophues \[ Time Limit: 10000 ms\quad Memory Limit: 262144 kB \] 题意 求出满足 \(gcd\left(a,b\right) = k\),其中\(1\leq a\leq n,1\leq b \leq m\)且 \(k\) 的因子数 \(\leq P\) 思路 \(g\left(x\right)\) 表示 \(gcd\left(a, b\...

weixin_30349597的博客 137

HDU 4746 Mophues(莫比乌斯反演)题解

题意: \(Q\leq5000\)次询问,每次问你有多少对\((x,y)\)满足\(x\in[1,n],y\in[1,m]\)且\(gcd(x,y)\)的质因数分解个数小于等于\(p\)。\(n,m,p\leq5e5\)。 思路: 题目即求 \[ \sum_{k}\sum_{i=1}^n\sum_{j=1}^m[gcd(i,j)=k]\quad,k满足质因数个数\leq p \] 令\(...

weixin_30496431的博客 134

HDU 4746 Mophues(莫比乌斯反演 + 数论)

一道比较简单的反演,随便推推式子玩玩。 大致题意:求 ,其中f(x)表示x分解质因子后,质因子的指数之和。 看到gcd,惯例还是把gcd的结果提取出来计算个数。 右边那个东西显然是一个可以反演的东西,这里我们直接跳过一些重复的过程,直接给出反演之后的结果: 考虑交换求和次序...

alpc_qleonardo 395

hdu 4746 Mophues 莫比乌斯反演

Mophues Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 327670/327670 K (Java/Others) Total Submission(s): 910    Accepted Submission(s): 345 Problem Description As we know, any po

G.D.Retop的专栏 882
上一篇: SPOJ PGCD - Primes in GCD Table (好题! 莫比乌斯反演+分块求和优化)
下一篇: CSU 1325 A very hard problem (莫比乌斯反演+分块求和优化)
_TCgogogo_
博客等级 码龄12年 615粉丝 1081原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值