http://acm.hdu.edu.cn/showproblem.php?pid=6390

题意:求一个式子

题解:看题解,写代码

第一行就看不出来,后面的sigma公式也不会化简。mobius也不会

就自己写了个容斥搞一下(才能维持现在的生活)

//别人的题解https://blog.csdn.net/luyehao1/article/details/81672837

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include<ctime>
using namespace std;
const int maxn = 1e6 + ;
typedef long long ll;
ll F[maxn], phi[maxn], inv[maxn];
ll N, M, P;
void init(int n) {
for (int i = ; i <= n; ++i) phi[i] = i;
for (int i = ; i <= n; ++i) {
if (i == phi[i]) {
for (int j = i; j <= n; j += i) phi[j] = phi[j] / i * (i - );
}
}
}
void init2(void) {
inv[] = ;
for (int i = ; i <= N; ++i)
inv[i] = (P - P / i * inv[P%i] % P) % P;
for (int i = N; i; --i) {
F[i] = 1ll * (N / i)*(M / i);
// if(i == 1) cout<<F[i]<<endl;
for (int j = i + i; j <= N; j += i)
F[i] -= F [j];
}
}
int main() {
int t; cin >> t;
init(maxn-);
while (t--) {
cin >>N>>M>>P;
if (N < M)swap(N, M);
init2();
ll ans = ;
for (ll i = ; i <= N; ++i) {
ans += (ll)i*inv[phi[i]] % P*(F[i] % P) % P;
ans %= P;
}
cout << ans%P << endl;
}
}
/* */

GuGuFishtion(hdu 6390 欧拉函数+莫比乌斯函数)

hdu 6390 欧拉函数+容斥(莫比乌斯函数) GuGuFishtion的更多相关文章

  1. BZOJ2440(容斥+莫比乌斯函数)

    题目本质: 首先有如下结论: 而通过写一写可以发现: 举例来讲,36及其倍数的数,会被1的倍数加一遍,被4的倍数扣一遍,会被9的倍数扣一遍,而为了最终计数为0,需要再加回来一遍,所以在容斥里面是正号. ...

  2. bzoj 2986: Non-Squarefree Numbers【容斥+莫比乌斯函数】

    看到\( 10^10 \)的范围首先想到二分,然后把问题转化为判断\( [1,n] \)内有多少个是某个质数的平方和的数. 所以应该是加上是一个质数的平方的个数减去是两个质数的平方的个数加上是三个质数 ...

  3. 牛客寒假算法训练1 D 欧拉(容斥)

    1 #include<bits/stdc++.h> using namespace std; ; typedef long long ll; int p[maxn],a[maxn]; ll ...

  4. HDU 1695 GCD 欧拉函数+容斥定理 || 莫比乌斯反演

    GCD Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  5. HDU 6053 TrickGCD 莫比乌斯函数/容斥/筛法

    题意:给出n个数$a[i]$,每个数可以变成不大于它的数,现问所有数的gcd大于1的方案数.其中$(n,a[i]<=1e5)$ 思路:鉴于a[i]不大,可以想到枚举gcd的值.考虑一个$gcd( ...

  6. 【二分+容斥+莫比乌斯反演】BZOJ2440 完全平方数

    Description 求第k个没有完全平方因子的数,k<=1e9. Solution 这其实就是要求第k个µ[i](莫比乌斯函数)不为0的数. 然而k太大数组开不下来是吧,于是这么处理. 二分 ...

  7. hdu1695(莫比乌斯)或欧拉函数+容斥

    题意:求1-b和1-d之内各选一个数组成数对.问最大公约数为k的数对有多少个,数对是有序的.(b,d,k<=100000) 解法1: 这个能够简化成1-b/k 和1-d/k 的互质有序数对的个数 ...

  8. hdu 1695 GCD(欧拉函数+容斥)

    Problem Description Given 5 integers: a, b, c, d, k, you're to find x in a...b, y in c...d that GCD( ...

  9. HDU 1695 GCD 欧拉函数+容斥定理

    输入a b c d k求有多少对x y 使得x在a-b区间 y在c-d区间 gcd(x, y) = k 此外a和c一定是1 由于gcd(x, y) == k 将b和d都除以k 题目转化为1到b/k 和 ...

随机推荐

  1. goland激活码

    http://idea.youbbs.org      

  2. 解决“错误为Lc.exe已退出,代码为-1”

    今天做项目的时候突然出现编译不通过,错误为Lc.exe已退出,代码为-1.网查了一下,原因是项目中使用了第三方组件(Developer Express v2011)造成的,分享如下:这个第三方组件是个 ...

  3. 《转》vue更新到2.0之后vue-resource不在更新,axios的使用

    vue更新到2.0之后,作者就宣告不再对vue-resource更新,而是推荐的axios,前一段时间用了一下,现在说一下它的基本用法. 首先就是引入axios,如果你使用es6,只需要安装axios ...

  4. 用HTML5+JS开发跨平台的桌面应用

    通过Node.js和WebKit技术的融合,开发者可以用HTML5技术编写UI,同时又能利用Node.js平台上众多library访问本地OS的能力,最终达到用Web技术就可以编写桌面应用的目的. 选 ...

  5. hdoj:2029

    #include <iostream> #include <string> using namespace std; bool isPalindromes(string s) ...

  6. Vue.js常用指令:v-bind

    一.什么是v-bind指令 v-bind指令用于响应更新HTML特性,允许将一个或多个属性动态绑定到表达式.v-bind是应用在动态属性上面的. 二.语法 v-bind语法如下: v-bind:动态属 ...

  7. LeetCode_1. Two Sum_Solution

    原题链接 原题中文链接 一.题目描述 二.题目分析 1,常规解法 这道题目的意思是给定一个数组和一个值,要求出这个数组中两个值的和等于这个给定值target. 输出是有要求的: 坐标较小的放在前面,较 ...

  8. java socket 服务器多线程 数据转发的研究实践

    项目中借鉴了以下资料: https://www.cnblogs.com/whenever/p/5526420.html https://www.cnblogs.com/jpwz/p/5715852.h ...

  9. javascript实现一行文字随不同设备自适应改变字体大小至字数完全展示

    产品提了一个小需求,希望一行能展示用户输入的所有文字,因为最多限制为25字符,但是如果夹杂英文/韩文/日文等,即使字符数是一样的,但是展示的长度不一样,则有些title标题会被截断. 效果如图 前提是 ...

  10. 【QT】无需写connect代码关联信号和槽函数

    对于一些简单的事件判别,如点击按钮. 无需写代码关联信号和槽函数. connect(ui->Btnshowhello,SIGNAL(clicked(bool)),this,SLOT(Btnsho ...