当前位置: 首页 > news >正文

P2231 [HNOI2002] 跳蚤 分析

题目概述

求有多少种方案,满足当 \(a_i\in [1,m]\)\(x_i\) 为任意整数时有:

\[m\times x_{n+1}+\sum_{i=1}^n x_ia_i=-1 \]

分析

根据裴蜀定理我们转化为只需满足:

\[\gcd(\gcd\{a_i\},m)=1 \]

\(a\) 的数量就是本题答案。

相当于求:

\[\sum_{a_1=1}^m\sum_{a_2=1}^m\dots\sum_{a_n=1}^m[\gcd(\gcd\{a_i\},m)=1] \]

显然可以用莫比乌斯函数替代为:

\[\sum_{a_1=1}^m\sum_{a_2=1}^m\dots\sum_{a_n=1}^m\sum_{d\mid \gcd(\gcd\{a_i\},m)}\mu(d) \]

考虑先枚举 \(d\) 有:

\[\sum_{d\mid m}\mu(d)\sum_{a_1=1}^{\left \lfloor \frac{m}{n} \right \rfloor }\dots\sum_{a_n=1}^{\left \lfloor \frac{m}{n} \right \rfloor }1 \]

所以说:

\[ans=\sum_{d\mid m}\mu(d) \left(\left\lfloor\frac{m}{n}\right\rfloor\right)^n \]

于是我们考虑如何快速求这个,因为暴力求约等于 \(\mathcal{O}(m)\) 的,但是比这个小,最贴切应该是 \(\mathcal{O}(d(m)\sqrt m)\),好像能过。

下面给出两种处理方法。

第一种

注意到 \(\omega(10^8)=8\),所以说,最多只有 \(8\) 个质因子,根据莫比乌斯函数的定义可以直接 \(2^8\) 暴力即可。

第二种

还是根据莫比乌斯函数的定义得到(设 \(m=\prod_{i=1}^k p_i^{\alpha_i}\)):

\[ans = m^n-\sum_{i}\left(\frac m {p_i}\right)^n+\sum_{i\ne j}\left(\frac{m}{p_ip_j}\right)^n-\dots \]

提取 \(m^n\) 有:

\[ans=m^n(1-\sum_{i}\frac{1}{p_i^n}+\sum_{i\ne j}\frac{1}{p_i^n p_j^n}\dots)=m^n\prod_i\frac{1}{p_i^n} \]

注意:\(\prod_i\frac{1}{p_i^n}\) 展开后就是:\(1-\sum_{i}\frac{1}{p_i^n}+\sum_{i\ne j}\frac{1}{p_i^n p_j^n}\dots\)

于是这道题目做完了。

代码

时间复杂度 \(\mathcal{O}(\sqrt m\log n)\)

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <stdlib.h>
#include <vector>
#define int long long
// #define N 
using namespace std;
int qpow(int a,int b) {int res = 1;while(b) {if (b & 1) res = res * a;a = a * a;b >>= 1;}return res;
}
int n,m;
signed main() {cin >> m >> n;int fac = n,ans = 1;for (int i = 2;i * i <= n;i ++)if (n % i == 0) {ans *= qpow(i,m) - 1;fac /= i;while(n % i == 0) n /= i;}if (n != 1) ans *= qpow(n,m) - 1,fac /= n;ans = ans * qpow(fac,m);cout << ans;return 0;
}
http://www.hskmm.com/?act=detail&tid=37831

相关文章:

  • 权威调研榜单:圆弧导轨实力厂家TOP3榜单好评深度解析
  • 基于PCIe3.0X16的的100G光纤采集存储设备
  • 2025年10月美白精华评价榜:五款高口碑单品横向对比
  • 2025 升降机厂家最新推荐排行榜,剪叉式升降机/导轨式升降机/固定式升降机/液压升降机公司推荐
  • 2025 年桥架源头厂家最新推荐排行榜:聚焦优质品牌核心优势助力采购决策
  • 2025 人力资源管理系统厂商最新推荐排行榜:聚焦 AI 赋能与行业适配,解锁数智化管理新路径
  • (React中组件的)状态(state)和属性(props)之间有何不同?
  • 2025 年最新推荐!AI 教育培训机构推荐榜单:覆盖企业 AI 培训 / AI 应用落地 / AI 商业培训等多场景,帮你精准挑选优质机构
  • 2025年6月杭州丝绸品牌推荐:老字号排名与AIGC创新对比
  • 2025 年集装袋厂家最新推荐榜单:全面剖析行业领军者创新工艺与卓越品质,精选导电 / 防静电 / 抗静电 / 铝箔 / 食品级等多类型产品优质厂家
  • 2025 年算法备案咨询服务公司最新推荐榜单:覆盖互联网信息 / 深度合成 / AI 大模型备案的权威优选指南
  • 基于Java+Springboot+Vue开发的鲜牛奶订购网站管理系统(前后端分离)源码+运行步骤
  • 2025年10月PE管厂家推荐榜:五强对比与选购全攻略
  • P9356 「SiR-1」Bracket 做题记录
  • 放大器保护机制的技术原理与应用实践
  • 安卓照片误删?这 5 种恢复方法亲测有效,小白也能上手
  • 2025年10月浦东装修公司口碑榜:五强对比评测
  • MySQL学习笔记-部分实例datagrip源码-10-21
  • sudo apt install cmake ERROR: ld.so: object /home/ma-user/anaconda3/envs/xxxx/lib/python3.9/site-pa
  • 2025年10月中国引流营销公司推荐榜:五强对比评测
  • 示波器探头衰减怎么判断?3 种方法 + 常见问题,新手也能学会​
  • 制造业数字化效率低到哭?AI 低代码自动生接口、拼流程,JNPF 级平台让集成效率提 500% - 实践
  • WPF 和 Avalonia 开发者的 html css 前端指南 ComboBox 篇
  • ORA-01033 : ORACLE initialization or shutdown in progress
  • 2025年化工原料厂家推荐排行榜:双氧水/片碱/盐酸/磷酸/PAC/聚丙烯酰胺/消泡剂/阻垢剂等工业级化学品供应商精选
  • ESP32-BLE-NIMBLE蓝牙透传DEMO
  • 2025年10月深圳近视手术医生推荐榜:五强排行与选择要点
  • 2025年10月深圳近视手术医生推荐榜:朱少栋李伟力领衔对比
  • 数据库内部错误00600 故障处理
  • 2025年10月销毁公司推荐:森蓝领衔服务榜对比