![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数论
数论
FILWY_M
一只正在慢慢成长的小菜鸡.......
展开
-
HD2588(欧拉函数)
题目先说一下题意,就是给你一个数n,找到1<=x<=n,且gcd(x,n)>= m的数有多少个,暴力是肯定过不了的,这道题要用欧拉函数,在网上找了好几篇博客都没有看懂究竟怎么使用欧拉函数的,在这里说一下,便于加深一下印象。gcd(x,n)==a,此时n=ap,x=aq,根据gcd的定义我们知道p和q肯定是互质的,而这个时候,因为x是小于等于n的,p=n/a(a此时就是...原创 2019-07-15 17:00:59 · 148 阅读 · 0 评论 -
HDU 4704SUM(费马小定理,快速幂,组合数)
SumProblem DescriptionSample Input2Sample Output2HintFor N = 2, S(1) = S(2) = 1.The input file consists of multiple test cases.Source2013 Multi-University Training Contest 10题意:把一...原创 2019-07-18 16:44:00 · 153 阅读 · 0 评论 -
Power OJ1080素数个数的位数
题目传送门这道题就是要了解素数定理,知道素数定理就很简单了#include<bits/stdc++.h>using namespace std;int main(){ int n; while(~scanf("%d",&n)){ n=n-log10(n*log(10)); printf("%d\n",n+1); } return 0;}...原创 2019-07-23 16:02:02 · 148 阅读 · 0 评论 -
Poj 2478-Farey Sequence(欧拉打表)
欧拉打表核心代码:void Euler(){ for(int i=2;i<maxn;i++)euler[i]=i;euler[1]=1; for(int i=2;i<maxn;i++){ if(euler[i]==i){ for(int j=i;j<maxn;j+=i){ euler[j]=euler[j]/i*(i-1); } } } fo...原创 2019-07-20 08:49:52 · 102 阅读 · 0 评论 -
Power OJ Alice的编程之旅(组合数,费马小定理)
传送门打一遍阶乘表,后面计算的时候就可以直接用了,否则会超时,还有这道题不能用cin,cout也会导致超时。由于p是质素,我们就可以用费马小定理和快速幂求出逆元然后根据公式就可以求出答案了#include<bits/stdc++.h>#define lson l, mid, root << 1#define rson mid + 1, r, root <<...原创 2019-07-30 10:46:16 · 163 阅读 · 0 评论 -
Revenge of GCD HDU - 5019
传送门题意:给两个数x,y,求他们的第k大的因子;思路:首先找到他们的最大公因数,直接用自带的函数__gcd()找到就行,而且这里其他的公因子也一定是最大公因子的因子,直接从1暴力枚举到最大公因子,判断是不是他的因子,同时w/i肯定也是他的因子,但是这里要判断一下i*i==w,避免重复;然后就他的所有因子都找到了,然后直接sort排序一下,输出答案即可#include <iostrea...原创 2019-08-02 15:47:57 · 127 阅读 · 0 评论 -
青蛙的约会 POJ - 1061(拓展欧几里得、线性同余方程)
传送门先来说题意,两个青蛙,绕着一个长为L的圈跑,青蛙A,B最开始分别位于x,y位置,他们每个单位时间分别可以跑m,n米,问他们是否可以相遇,如果可以相遇的话输出他们所用的最短时间。假设他们一共跑了t时间,青蛙A,B的总路程分别为mt+x,nt+x,如果们可以相遇的话那么他们的差肯定为圈的长度L的n倍,就可以列出一个关于他们的方程mt+x-nt-y=pL变形得到(m-n)t+pl=y-x...原创 2019-07-31 16:59:52 · 154 阅读 · 0 评论 -
Power OJ 2818: 02和darling的约定
传送门这道题其实就是求等比数列的前n项和,由于可能n特别特别大,所以要用欧拉降幂,然后用等比数列的公式,把除法转换成逆元,这里可以用费马小定理求逆元((quick_pow(q,n,mod)-1)+mod)%mod这里可能q刚好等与mod,然后然后如果不要那个-1+mod % mod的话,就是负的,造成结果出错,所以我们这里需要这样操作,然后就ac,~~这个真的是毒瘤~~ #include...原创 2019-07-31 18:10:12 · 151 阅读 · 0 评论 -
Power OJ 2374:查询成绩(线段树,快速幂,素数判断)
传送门线段树模板题,还融入了快速幂和素数判断,就是一个模板题,并不难,在做的时候要细心,判断x^x%mod是不是素数,在做的时候我看成了判断x是不是素数,有事一顿狂找bug,所以读题要仔细仔细再仔细。#include <iostream>#include<cstring>#include<cstdio>#include<algorithm&g...原创 2019-07-23 10:41:10 · 137 阅读 · 0 评论