
数论
古宇hhh
学习中!!!!
展开
-
hrbust 2354 An Easy Geometry Problem
An Easy Geometry ProblemTime Limit: 1000 MSMemory Limit: 262144 KTotal Submit: 52(25 users)Total Accepted: 19(16 users)Rating: Special Judge: NoDesc原创 2017-12-19 22:10:48 · 223 阅读 · 0 评论 -
poj 2689 Prime Distance (素数区间筛)
题目大意:已知区间[L,R],L,R的取值为[1,1e9],abs(R-L) <= 1e6。求区间内相邻素数的差值最小值,和差值最大值。题目分析:线筛法求出2~sqrt(R)之间的素数。对于每个素数p,求出[L,R]中被p整除的数,时间复杂度为O(n*log(n))#include <cstdio>#include <cstring>#i...原创 2018-10-22 21:19:08 · 131 阅读 · 0 评论 -
Codeforces 935D Fafa and Ancient Alphabet(概率+逆元)
题意: 有长度为n的两个数字串,数字范围在(1,m)如果被遮盖的数字就是0 问第一个串比第二个串大的概率是多少。 概率对1e9+7取膜分析: #include<bits/stdc++.h>using namespace std;#define mp make_pair#define LL long long#define N 100005#def...原创 2018-04-18 20:22:08 · 226 阅读 · 0 评论 -
hrbust 2374 Lcm function
题意:我们定义了一个函数 f(n),这个函数的定义如下:对任意1<=i<=j<=n,f(n)等于所有lcm(i,j)=n的数量,其中lcm为最小公倍数。现在给你一组数,你需要去求所有的f(n)。题解:已知一个升序的质数表P1P2P3……PnPn+1……对于一个正整数M,M一定可以表示为P1a1P2a2P3a3……对于两个数M1, M2M1 = P1b1P2b2P3b3……,M2 ...原创 2018-03-27 20:17:20 · 189 阅读 · 0 评论 -
poj 1006 Biorhythms (中国剩余定理)
板子题: #include<string.h>#include<stdio.h>using namespace std;#define LL long long#define N 100005void ex_gcd(LL a,LL b,LL &d,LL &x,LL &y){ if(!b){ d=a,x=1,y=...原创 2018-03-13 21:13:51 · 145 阅读 · 0 评论 -
hdu 5446 (中国剩余定理+Lucas定理)
题意: 给你三个数n, m, k 第二行是k个数,p1,p2,p3...pk 所有p的值不相同且p都是质数 求C(n, m) % (p1*p2*p3*...*pk)的值代码: #include<stdio.h>#include<string.h>#include<algorithm>using namespace std;...原创 2018-03-22 21:43:04 · 246 阅读 · 0 评论 -
zoj 4006 Travel along the Line (组合数+逆元)
题意: 给定n,m,n代表小A能走的步数m代表最后要到达的位置。每次走有三种选择1/4向左1/4向右1/2待在原地,问最后n步到达m位置的概率%Mod(1e9+7)分析:经过分析我们可以讲答案分解res += C(n,i)*C(n-i,i-m)*p[x];x代表到达当前状态的概率;C(n,i)//从n步当中抽取i步是1C(n-i,i-m)//从剩下的n-i步中抽取i-m步是-1剩下的全部都是...原创 2018-03-16 14:56:30 · 246 阅读 · 0 评论 -
poj 2891 Strange Way to Express Integers 中国剩余定理非互质情况
解析: 传送门代码: #include<string.h>#include<stdio.h>using namespace std;#define LL long long#define N 100005LL p[N];LL r[N];/**扩展欧几里得**/void ex_gcd(LL a,LL b,LL &d,LL &x,...原创 2018-03-15 16:15:24 · 138 阅读 · 0 评论 -
CodeForces 935D
题目大意: 有两个字符串 (x,y)由m中字符的编号组成(1,m)被遮挡住的字符用0表示为x串比y串大的概率 (编号大,从第一位开始假设两个位置相同,比较下一位)分析: 需要用到逆元,情况有:我们要的答案就是p(0)可以递推/递归计算代码: #include<bits/stdc++.h>using namespace std;#define mp make_pai...原创 2018-02-22 00:07:33 · 333 阅读 · 0 评论 -
CodeForces 935C Fifa and Fafa 计算几何
题意: 小A与小B住在同一个公寓,小B不想让小A用自己的wifi,问小B应该把wifi放在哪里能使得小A用不到且覆盖公寓的面积最大,输出wifi位置,覆盖半径分析: A点到圆心O 的直线交公寓边的点B,AB的中点就是圆心 |AB|/2就是半径我们可以用AO方向上的单位距离分别在x,y轴上表示多少来算。bug点:1.小A电脑可能不在公寓内2.小A电脑如果在公寓中间需要特判否则会/0代码:...原创 2018-02-22 00:03:19 · 262 阅读 · 0 评论 -
hdu 5685 Problem A(逆元)
Problem ATime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1609 Accepted Submission(s): 729Problem Description度熊手上有一本字典存储了大量的单词原创 2018-01-15 10:17:30 · 254 阅读 · 0 评论 -
数论 —— 逆元(费马小定理/扩展欧几里得)
拓展欧几里得:(证明过程参考自百度百科)原式: ax+by=gcd(a,b)(假设a≥b)当b=0时有gcd(a,b)==a,此时x=1,y=0当b不为0时,根据欧几里得定理gcd(a,b)=gcd(b,amodb)可得ax+by=gcd(a,b)=gcd(b,amodb)=bx′+(amodb)y′,即 ax+by=bx′+(amodb)y′=bx′+(a−b∗⌊a/b⌋)y′移项得 ax+by...原创 2017-12-13 20:04:36 · 526 阅读 · 0 评论 -
欧拉函数证明
欧拉函数:φ(a) :小与a与a互质的数的个数(1)当a为质数时,φ(a)的结果为 a-1(2)当a为1时,φ(a)的结果为1(3)当a为两个素数乘积时,a = b*c -> φ(a) = φ(b)*φ(c)证明:欧拉函数是积性函数:由于b为质数,c为质数,p1是小于b且与b互质的某个整数,p2是小于c且与c互质的某个整数。所以对应的每一对p1*p2对于a来说都与a互质。...原创 2018-11-17 15:26:43 · 640 阅读 · 0 评论