数论
文章平均质量分 55
..Eliauk..
这个作者很懒,什么都没留下…
展开
-
2021icpc 济南 J Determinant(高斯消元 + 行列式求值)
2021icpc 济南 J Determinant(高斯消元)题目来源:J Determinant购买的时候将时光机取消即可题意:给出 n * n 的行列式的值的绝对值 det 以及这个行列式, 判断该行列式的值的正负, 其中 det 最多有1e4的位数思路:因为线性代数太久没看过了, 比赛的时候甚至都不知道 det 是行列式的值,还是一点一点推出来的, 发现 A的逆 乘 A 事实上就是A的第 i 列和第 j 列相乘, 所以化成上三角之后有用的部分只有主对角线的部分, 那么第 i原创 2021-11-16 10:56:12 · 901 阅读 · 2 评论 -
Harmonic Number (II)(LightOJ - 1245)(整数分块板子题)
Harmonic Number (II)(LightOJ - 1245)(整数分块板子题)来源:Harmonic Number (II)题意:求i为1 ~ n,n / i 的和思路:整数分块:对于r = n / (n / l),i在[l, r]中,n / i全相等坑点:这个题比较坑的是,如果循环的l用long long就会超时,而l可以取的极限恰好是int的极限范围,所以只能用int的同时,去特判而提前结束(因为这个T了好久,而且不是第一次因为使用long long而T了,主要是long原创 2021-05-20 23:18:19 · 116 阅读 · 0 评论 -
Leading and Trailing(LightOJ - 1282)(快速幂 + 巧妙运用log)
Leading and Trailing(LightOJ - 1282)(快速幂 + 巧妙运用log)来源:Leading and Trailing题意:给出n和k,求n ^ k的 前三位 和 后三位(坑点:保留前导0),保证n ^ k的位数大于等于6思路:后三位很好求,通过快速幂每次模 1000 即可前三位当时真没想到,最后看大佬们的题解,发现都是运用log10,所以我就会这种方法首先,了解一个公式,n = 10 ^ log10(n)接着,当0 <= x < 1时,1原创 2021-05-20 23:05:35 · 80 阅读 · 0 评论 -
Help Hanzo(LightOJ - 1197)(欧拉筛 + 思维)
LightOJ - 1197 Help Hanzo来源:LightOJ - 1197 Help Hanzo题意:判断a ~ b区间内,有多少个素数,a,b范围[1, 2 ^ 31 - 1],b - a <= 1e5思路:这个题巧妙就巧妙在区间长度上,为1e5,而a,b最大范围为INT_MAX,所以可以先筛出来sqrt(INT_MAX) 以内的素数,约为50000,通过这些素数去标记[a, b]范围内的素数,通过 埃氏筛的方法(O(nloglogn)),将每一个素数增加,每次增加其本身的原创 2021-05-15 21:05:40 · 178 阅读 · 0 评论 -
Aladdin and the Flying Carpet(LightOJ - 1341)(欧拉筛 + 质因数分解)
Aladdin and the Flying Carpet(LightOJ - 1341)来源:Aladdin and the Flying Carpet题意:给出a和b,求n的因数对(如x * y = a)中min(x, y) >= b 的有多少对思路:分两种情况b > sqrt(a)时,结果为0其余情况,先求出a有多少个因数对(log(a)),之后减去min(x, y) < b 的对数。(这里数据好像挺水的,因为这里复杂度是O(b),4000组b,b的总和还没大于原创 2021-05-12 22:25:17 · 114 阅读 · 0 评论 -
Sigma Function(LightOJ - 1336)(思维 + 因数和知识点)
Sigma Function(LightOJ - 1336)(思维+因子和)来源:Sigma Function(LightOJ - 1336)题意:求1~n中,因子和为偶数的数的个数因子和先说一下因数和咋求若n = x1 ^ p1 * x2 ^ p2 * ... * xn ^ pn那么n因数个数 e(n) = (p1 + 1) * (p2 + 1) * ... * (pn + 1)所有因数之和 d(n) = (x1 ^ 0 + ... + x1 ^ p1) * ... * (xn ^原创 2021-05-12 22:01:29 · 108 阅读 · 0 评论 -
Bi-shoe and Phi-shoe(LightOJ - 1370)(欧拉筛)
Bi-shoe and Phi-shoe(LightOJ - 1370)(欧拉筛)来源:Bi-shoe and Phi-shoe题意给出n个数,求对应欧拉数大于等于给出数的最小总和思路先线性筛出每个数的欧拉数,之后开个数组让res[oula[i]] = i,记录欧拉数为 oula[i] 的最小整数为i,但此时我们一定还有一些数没有赋值,所以我们倒着跑一遍,将没赋值的数用后边最接近的赋过值的数去赋值,最后在倒着跑一遍,将数组变为单调递增的形式代码#include <bits/stdc++原创 2021-05-11 22:54:15 · 86 阅读 · 0 评论 -
中国剩余定理(个人笔记)
中国剩余定理前序已知a和x0,且x % a ≡ x0, 则x = (x0 % a + a) % a1. 扩展欧几里德算法求出a与b的最大公因数d的同时,还能解出ax+by=gcd(a,b)中(x,y)的一组特解int exgcd(int a, int b, int &x, int &y){ if(b == 0) {x = 1, y = 0; return a; } int d = exgcd(b, a % b, x, y); int tmp = x;原创 2020-11-06 23:57:34 · 265 阅读 · 1 评论