B - GuGuFishtion(莫比乌斯 欧拉函数 预处理mu函数的欧拉函数的模板)
题目链接: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函数的欧拉函数的模板)的更多相关文章
- 欧拉函数O(sqrt(n))与欧拉线性筛素数O(n)总结
欧拉函数: 对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目. POJ 2407.Relatives-欧拉函数 代码O(sqrt(n)): ll euler(ll n){ ll ans=n; ...
- 欧拉筛(线性筛) & 洛谷 P3383 【模板】线性筛素数
嗯.... 埃氏筛和欧拉筛的思想都是相似的: 如果一个数是素数,那么它的所有倍数都不是素数.... 这里主要介绍一下欧拉筛的思路:(欧拉筛的复杂度大约在O(n)左右... 定义一个prime数组,这个 ...
- JS的解析与执行过程—函数预处理
声明:之所以分为全局预处理与函数预处理,只是为了理解方便,其实在实际运行中二者是不分先后的. 函数预处理阶段与全局预处理的差别: 函数每调用一次,就会产生一个LexicalEnviroment对象,在 ...
- Entity Framework 6 Recipes 2nd Edition(11-4)译 -> 在”模型定义”函数里调用另一个”模型定义”函数
11-4.在”模型定义”函数里调用另一个”模型定义”函数 问题 想要用一个”模型定义”函数去实现另一个”模型定义”函数 解决方案 假设我们已有一个公司合伙人关系连同它们的结构模型,如Figure 11 ...
- Sql Server函数全解(四)日期和时间函数
日期和时间函数主要用来处理日期和时间值,本篇主要介绍各种日期和时间函数的功能和用法,一般的日期函数除了使用date类型的参数外,也可以使用datetime类型的参数,但会忽略这些值的时间部分.相同 ...
- python--函数式编程 (高阶函数(map , reduce ,filter,sorted),匿名函数(lambda))
1.1函数式编程 面向过程编程:我们通过把大段代码拆成函数,通过一层一层的函数,可以把复杂的任务分解成简单的任务,这种一步一步的分解可以称之为面向过程的程序设计.函数就是面向过程的程序设计的基本单元. ...
- Netsuite Formula > Oracle函数列表速查(PL/SQL单行函数和组函数详解).txt
PL/SQL单行函数和组函数详解 函数是一种有零个或多个参数并且有一个返回值的程序.在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类: 单行函数 ...
- js判断函数是否存在、判断是否为函数
代码: <script type="text/javascript"> //判断是否为函数 try { if(typeof FunName === "func ...
- 不可或缺 Windows Native (16) - C++: 函数重载, 缺省参数, 内联函数, 函数模板
[源码下载] 不可或缺 Windows Native (16) - C++: 函数重载, 缺省参数, 内联函数, 函数模板 作者:webabcd 介绍不可或缺 Windows Native 之 C++ ...
随机推荐
- javascript之彻底理解valueOf, toString
参与运算的都是简单类型(一般就字符串和数字), 复杂类型是不参与运算的. ***当对象(非简单类型)用作键时,会先调用toString()方法把对象转化成字符串 var a = {}, b = ...
- elasticsearch6 学习之基础CURD
环境:elasticsearch6.1.2 kibana6.1.2 基础概念: 1._index元数据 (1)代表一个document存放在哪个index中(2)类似的数据放在一个索引 ...
- Java 调用 google 翻译
1.Java代码 public class Translator { public String translate(String langFrom, String langTo, String wo ...
- idea tomcat debug 失效
idea 开发神器 有时候遇到各种问题 这不 现在遇到了一个问题 启动容器时 debug断点不能进入 在网上找了老半天 终于找到答案了 原因是使用tomcat的时候 没有选择"pass en ...
- 两个list比较相等元素
1.实现方式 public class list { public static void main(String[] args) { List<String> list1 = new A ...
- Luogu4927 梦美与线段树(线段树+概率期望)
每个节点被经过的概率即为该区间和/总区间和.那么所需要计算的东西就是每个节点的平方和了.修改对于某个节点的影响是使其增加2sum·l·x+l2x2.那么考虑对子树的影响,其中Σl2是定值,修改后Σsu ...
- 🔺Count on a tree SPOJ - COT (无能为力。。。)
https://cn.vjudge.net/problem/SPOJ-COT 插上 大佬的代码 和 我的...以后再看吧... Count on a tree 大佬:http://www.cnblog ...
- [AT2000] [agc002_f] Leftmost Ball
题目链接 AtCoder:https://agc002.contest.atcoder.jp/tasks/agc002_f 洛谷:https://www.luogu.org/problemnew/sh ...
- 【BZOJ3771】Triple(生成函数,多项式运算)
[BZOJ3771]Triple(生成函数,多项式运算) 题面 有\(n\)个价值\(w\)不同的物品 可以任意选择\(1,2,3\)个组合在一起 输出能够组成的所有价值以及方案数. \(n,w< ...
- 表格隔行变色_jQuery控制实现鼠标悬停高亮
<!doctype html> <html> <head> <meta http-equiv="content-type" content ...