[BZOJ4802]欧拉函数】的更多相关文章

传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4802 [题解] 参考:http://www.matrix67.com/blog/archives/234 Millar-Rabin质数检验方法: 根据费马小定理,如果p是素数,a<p,那么有a^(p-1) mod p = 1. 直观想法我们直接取若干个a,如果都有一个不满足,那么p就是合数. 遗憾的是,存在Carmichael数:你无论取多少个a,有一个不满足,算我输. 比如:561 =…
Description 已知N,求phi(N) Input 正整数N.N<=10^18 Output 输出phi(N) Sample Input 8 Sample Output 4 Solution 一开始读错题了……以为是求约束个数和…… 读对题之后然后发现我不会就问旁边的宽嫂…… 宽嫂:这不是欧拉函数的定义式么?我初中就会了啊. 我:…
题目 求大数的欧拉函数φ\varphiφ 题解 Pollard-Rho 板子 CODE #pragma GCC optimize (3) #include <bits/stdc++.h> using namespace std; typedef long long LL; inline LL mul(LL a, LL b, LL p) { a=(a%p+p)%p, b=(b%p+p)%p; return (((a*b)-(LL)((long double)a*b/p)*p)%p+p)%p; }…
啊居然要特判,卡了好久QAQ (好像Windows下的rand和Linux下的不一样? QwQ一些东西参考了喵铃的这篇blog:http://www.cnblogs.com/meowww/p/6400841.html  (业界良心) 题目 题意:输入$n$,求$phi(n)$,$n \leq 10^{18}$ 随便抽的题,刚好学习一下相关的算法. 很明显朴素的根号算法时间复杂度补滋兹,线性筛更不用想了,不过这题只需要单个欧拉函数值,还是直接考虑$phi(n)=n*\prod_{i=1}^k(1-…
原文链接http://www.cnblogs.com/zhouzhendong/p/8117744.html 题目传送门 - BZOJ4802 题意概括 Description 已知N,求phi(N) Input 正整数N.N<=10^18 题解 Miller_Rabin+Pollard_Rho 至于Pollard_Rho,我感到很奇怪.判定的时候为何不能丢第一个值!! 请看下面两个代码,第一个对的,第二个错的…… 代码 #include <cstring> #include <c…
传送门 Pollard−rhoPollard-rhoPollard−rho模板题. 题意简述:求ϕ(n),n≤1e18\phi(n),n\le 1e18ϕ(n),n≤1e18 先把nnn用Pollard−rhoPollard-rhoPollard−rho分解质因数,然后就可以算了. 代码: #include<bits/stdc++.h> #include<tr1/unordered_map> #define ri register int using namespace std;…
bzoj description 给出\(n\),求\(\varphi(n)\).\(n\le10^{18}\) sol \(Pollard\ Rho\),存个代码. code #include<cstdio> #include<algorithm> #include<ctime> using namespace std; #define ll long long ll p[100],len; ll mul(ll x,ll y,ll mod){ x%=mod;y%=mo…
[BZOJ4802]欧拉函数(Pollard_rho) 题面 BZOJ 题解 这么大的范围肯定不好杜教筛. 考虑欧拉函数的计算式,显然只需要把\(n\)分解就好了. 直接\(Pollard\_rho\) #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<algorithm> #include&…
4802: 欧拉函数 Description 已知N,求phi(N) Input 正整数N.N<=10^18 Output 输出phi(N) Sample Input 8 Sample Output 4 很明显,这样的题就是一道十分简单的入门题.只是N比较大,但输入和输出都还没有爆long long.如果输入高精度数,那 就很恶心了(虽然可以定义大整数类Big Int). phi[n]=n∏(1-(1/p)),所以是Miller-Rabin和Pollard-Rho算法,用来分解一个大数的质因子.…
欧拉函数 Time Limit: 5 Sec  Memory Limit: 256 MBSubmit: 1112  Solved: 418[Submit][Status][Discuss] Description 已知N,求phi(N) Input 正整数N.N<=10^18 Output 输出phi(N) Sample Input 8 Sample Output 4 HINT   Source By FancyCoder 大整数分解主要背代码,证明非常麻烦. 题目bzoj4802是到经典例题…