题目链接:https://cn.vjudge.net/contest/270608#problem/B

题目大意:题目中说,就是对欧拉函数的重新定义的一种函数的求和.

证明方法:

AC代码:

#include<iostream>
#include<stack>
#include<cstring>
#include<iomanip>
#include<cmath>
#include<queue>
#include<algorithm>
#include<stdio.h>
#include<string>
#include<map>
using namespace std;
# define ll long long
# define inf 0x3f3f3f3f
const int maxn = 1000000+100;
ll n,m,mod;
ll prime[maxn],phi[maxn],a[maxn];
int mu[maxn];
ll inv[maxn];
ll len;
bool flag[maxn];
void init()
{
phi[1]=1;
mu[1]=1;
int cnt=0;
for(int i=2; i<maxn; i++)
{
if(!flag[i])
{
prime[cnt++]=i;
phi[i]=i-1;
mu[i]=-1;
}
for(int j=0; j<cnt; j++)
{
ll temp=i*prime[j];
if(temp>maxn)break;
flag[temp]=1;
if(i%prime[j]==0)
{
phi[temp]=phi[i]*prime[j];
mu[temp]=0;
break;
}
else
{
phi[temp]=phi[i]*(prime[j]-1);
}
mu[temp]=-mu[i];
}
}
}
void gao()
{
inv[1]=1;
for(int i=2; i<=len; i++)
{
inv[i]=inv[mod%i]*(mod-mod/i)%mod;
}
for(int i=1; i<=len; i++)
{
a[i]=i*inv[phi[i]]%mod;
}
}
int main()
{
int T;
scanf("%d",&T);
init();
while(T--)
{
scanf("%lld %lld %lld",&m,&n,&mod);
len=min(n,m);
gao();
ll ans=0;
for(int i=1; i<=len; i++)
{
int t1=m/i,t2=n/i;
int v=min(t1,t2);
ll g=0;
for(int j=1; j<=v; j++)
{
g=(g+mu[j]*(t1/j)%mod*(t2/j)+mod)%mod;
}
ans=(ans+a[i]*g)%mod;
}
printf("%lld\n",ans);
}
return 0;
}

B - GuGuFishtion(莫比乌斯 欧拉函数 预处理mu函数的欧拉函数的模板)的更多相关文章

  1. 欧拉函数O(sqrt(n))与欧拉线性筛素数O(n)总结

    欧拉函数: 对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目. POJ 2407.Relatives-欧拉函数 代码O(sqrt(n)): ll euler(ll n){ ll ans=n; ...

  2. 欧拉筛(线性筛) & 洛谷 P3383 【模板】线性筛素数

    嗯.... 埃氏筛和欧拉筛的思想都是相似的: 如果一个数是素数,那么它的所有倍数都不是素数.... 这里主要介绍一下欧拉筛的思路:(欧拉筛的复杂度大约在O(n)左右... 定义一个prime数组,这个 ...

  3. JS的解析与执行过程—函数预处理

    声明:之所以分为全局预处理与函数预处理,只是为了理解方便,其实在实际运行中二者是不分先后的. 函数预处理阶段与全局预处理的差别: 函数每调用一次,就会产生一个LexicalEnviroment对象,在 ...

  4. Entity Framework 6 Recipes 2nd Edition(11-4)译 -> 在”模型定义”函数里调用另一个”模型定义”函数

    11-4.在”模型定义”函数里调用另一个”模型定义”函数 问题 想要用一个”模型定义”函数去实现另一个”模型定义”函数 解决方案 假设我们已有一个公司合伙人关系连同它们的结构模型,如Figure 11 ...

  5. Sql Server函数全解(四)日期和时间函数

      日期和时间函数主要用来处理日期和时间值,本篇主要介绍各种日期和时间函数的功能和用法,一般的日期函数除了使用date类型的参数外,也可以使用datetime类型的参数,但会忽略这些值的时间部分.相同 ...

  6. python--函数式编程 (高阶函数(map , reduce ,filter,sorted),匿名函数(lambda))

    1.1函数式编程 面向过程编程:我们通过把大段代码拆成函数,通过一层一层的函数,可以把复杂的任务分解成简单的任务,这种一步一步的分解可以称之为面向过程的程序设计.函数就是面向过程的程序设计的基本单元. ...

  7. Netsuite Formula > Oracle函数列表速查(PL/SQL单行函数和组函数详解).txt

    PL/SQL单行函数和组函数详解 函数是一种有零个或多个参数并且有一个返回值的程序.在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类: 单行函数 ...

  8. js判断函数是否存在、判断是否为函数

    代码: <script type="text/javascript"> //判断是否为函数 try { if(typeof FunName === "func ...

  9. 不可或缺 Windows Native (16) - C++: 函数重载, 缺省参数, 内联函数, 函数模板

    [源码下载] 不可或缺 Windows Native (16) - C++: 函数重载, 缺省参数, 内联函数, 函数模板 作者:webabcd 介绍不可或缺 Windows Native 之 C++ ...

随机推荐

  1. i18n实现前端国际化(实例)

    在今日的需求中需要利用 i18n 这个框架来实现前端的国家化操作,下图是实现效果: 点击选择框实现网页上语言的切换: 下面开始实现过程: 所需工具:    - jquery-3.3.1.js 下载地址 ...

  2. 这套C#编码规范写不错

    自己总结的C#编码规范--1.命名约定篇:http://www.cnblogs.com/luzhihua55/p/CodingConventions1.html 自己总结的C#编码规范--2.命名选择 ...

  3. spring学习 8-面试(事务,解决线程安全)

    1.介绍一下Spring的事物管理 参考:Spring 学习7 -事务 2.Spring如何处理线程并发问题    Spring使用ThreadLocal解决线程安全问题 参考:Spring学习11- ...

  4. Deepin系统又损坏了!

    1.首先,去Deepin官方下载镜像(记得MD5检验一下).2.提取ISO里的安装程序到桌面,执行之&写入.(提醒:勾选下面的支持BIOS启动的选项,自测深度的UEFI很不稳定,建议不使用UE ...

  5. Collections带有的排序方法 传入的元素类型 需是子类或者这个类的实例

  6. HDU5669-Road

    题意 给一个\(n\)个点的图,标号为\(1\)到\(n\),进行\(m\)次连边\((a,b,c,d,w)\): for i in range[a,b]: for j in range[c,d]: ...

  7. sql语句左链接left join--3张表关联

    表A---------------------------------关联第一张表B-----------------------关联第二张表c select * fomr 表名A left join ...

  8. 【入门向】使用 MetaHook Plus 绘制 HUD

    MetaHook Plus 是一个GoldSrc引擎(就是的Half-Life.CS1.6的引擎)的客户端插件平台,它可以加载我们自己开发的DLL插件. 首先你需要安装一个 Visual Studio ...

  9. P1039 侦探推理

    题目描述 明明同学最近迷上了侦探漫画<柯南>并沉醉于推理游戏之中,于是他召集了一群同学玩推理游戏.游戏的内容是这样的,明明的同学们先商量好由其中的一个人充当罪犯(在明明不知情的情况下),明 ...

  10. IPv4协议及VLSM可变长子网划分和CIDR无类域间路由

    IPv4协议及VLSM可变长子网划分和CIDR无类域间路由 来源 https://blog.csdn.net/hongse_zxl/article/details/50054817 互联网世界一切通信 ...