数论
文章平均质量分 62
1
zzqwtc
blog dot zzqwtc dot com
展开
-
E-牛牛小数点_牛客练习赛89(数学)
E-牛牛小数点_牛客练习赛89 (nowcoder.com)题目描述牛牛想和点点交朋友, 于是点点给了牛牛一个问题。定义关于小数 xxx 的函数 f(x)f(x)f(x), 表示 xxx 中两个点之间的距离, 即循环节开始于 小数点后第几位。例如 16=0.16˙\frac{1}{6}=0.1 \dot{6}61=0.16˙, 则 f(16)=2f\left(\frac{1}{6}\right)=2f(61)=2 。 特别的, 若一个小数 x\mathrm{x}x 是 不循环的, 则 f(x)=0原创 2021-09-27 15:53:10 · 3425 阅读 · 0 评论 -
CodeForces - 1469D - Ceil Divisions (思维+数学)
Ceil Divisions题意对于一个大小为 nnn 的排列 在一次操作中可以选择两个数 axa_xax 和 aya_yay (x≠y)(x≠y)(x=y) 并设置ax=⌈axay⌉a_x= \lceil \dfrac{a_x}{a_y} \rceilax=⌈ayax⌉在不超过 n+5n+5n+5 次操作后内使数组由 n−1n-1n−1 个 111 和 111 个 222 组成思路首先我们知道 ⌈i−1i⌉=1\lceil\dfrac{i-1}{i}\rceil = 1⌈ii−原创 2021-02-11 00:23:56 · 3112 阅读 · 0 评论 -
CodeForces - 1477A - Nezzar and Board(数论)
Nezzar and Board题意对 一个大小为 nnn 的整数集合 进行操作 每次可以选取两个数 x,yx,yx,y 得到 2x−y2x-y2x−y 加入这个集合问 经过无限次这样的操作之后 能否得到 kkk思路假设一次操作后得到 2x−y2x-y2x−y 另一次操作后得到 2p−q2p-q2p−q那么这两个新得到的数再进行操作可以得到 2∗(2x−y)−(2p−q)2*(2x-y) - (2p-q)2∗(2x−y)−(2p−q) 可以得到一个规律 :每次操作得到的式子 系数都为1 那原创 2021-02-10 00:39:07 · 3154 阅读 · 0 评论 -
CodeForces - 1459C Row GCD (思维+数学)
Row GCD题意对于两个正整数序列 a!、a2、a3、…ana_!、a_2、a_3、 \dots a_na!、a2、a3、…an 和 b1、b2、b3…bmb_1、b_2、b_3 \dots b_mb1、b2、b3…bm 对于每个 j=1、2、…jj = 1、2、\dots jj=1、2、…j 找到 a1+bj、a2+bj+a3+bj、…an+bja_1 + b_j、a_2+b_j + a_3+b_j、\dots a_n+b_ja1+bj、a2+bj+a3+bj、…an+原创 2021-01-27 22:05:38 · 2841 阅读 · 0 评论 -
欧拉函数
欧拉函数1 - N中与N互质的数的个数被称为欧拉函数,记为φ(x)\varphi \left( x\right)φ(x)若在算术基本定理中N=p1a1p2a2…pnanN=p_{1}^{a_{1}}p_{2}^{a_{2}}\ldots p_{n}^{a_{n}}N=p1a1p2a2…pnan,则:ϕ(N)=N∗p1−1p1∗p2−1p2∗…∗pm−1pm\phi(N)=N * \frac{p_{1}-1}{p_{1}} * \frac{p_{2}-1}{p_{2}} * \ldots *原创 2021-01-26 01:52:48 · 2497 阅读 · 0 评论 -
素数筛
素数筛1.朴素筛法O(nlogn)void get_primes(int n){ for(int i = 2;i <= n; ++i){ if(!st[i]){ prime[cnt++] = i; } //把i的倍数全部筛掉 for(int j = i + i;j <= n;j += i)st[j] = true; }}2.埃氏筛法O(nloglognnloglognnloglogn原创 2021-01-26 01:52:24 · 2466 阅读 · 0 评论 -
质因数分解
质因数分解#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include<algorithm>#define ll long long#define maxn 1005using namespace std;int p[maxn],c[maxn],tot;void devide(int n){原创 2021-01-26 01:52:05 · 3129 阅读 · 0 评论 -
欧几里得与扩欧
欧几里得算法gcd(a,b)=gcd(b,a%b)\operatorname{gcd}(a, b)=\operatorname{gcd}(b, a \% b)gcd(a,b)=gcd(b,a%b)裴蜀定理对于给定的正整数a,ba,ba,b方程ax+by=cax + by = cax+by=c有解的充要条件为c是gcd(a,b)gcd(a,b)gcd(a,b)的整数倍扩展欧几里得在求a、b最大公约数的同时,能找到整数x、y使得ax+by=gcd(a,b)a x+b y=g\operatorna原创 2021-01-26 01:51:41 · 2390 阅读 · 0 评论 -
一些奇怪的数论知识
gcd(a1,a2...,an)gcd(a_{1},a_{2}...,a_{n})gcd(a1,a2...,an) ====== gcd(a1,a2−a1...,an−an−1)gcd(a_{1},a_{2}-a_{1}...,a_{n}-a{n-1})gcd(a1,a2−a1...,an−an−1)原创 2021-01-27 01:30:03 · 2683 阅读 · 0 评论