![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数学
文章平均质量分 79
Dousir9
ACMer
展开
-
Codeforces Round #711 (Div. 2) A. GCD Sum【数位和性质】
题意:定义 gcdSum(x) 为 x 和 x 的数位和的gcd,给定 n,求大于等于 n 的数且 gcdSum > 1 的第一个的数。1≤t≤10001 ≤ t ≤ 10001≤t≤1000, 1≤n≤10181 ≤ n ≤ 10^{18}1≤n≤1018思路:性质:数位和性质,如果一个数是 3 的倍数,那么他的数位和也是 3 的倍数,因此,n、n + 1、n + 2 其中一个数一定满足性质。AC Code:#include <bits/stdc++.h>usi原创 2021-03-31 09:56:33 · 263 阅读 · 0 评论 -
Educational Codeforces Round 106 D. The Number of Pairs【GCD | 质因数个数】
题意:给定 3 个正整数 c、d、x,问有多少个对数 (a, b) 满足 c∗lcm(a,b)−d∗gcd(a,b)=xc * lcm(a, b) - d * gcd(a, b) = xc∗lcm(a,b)−d∗gcd(a,b)=x,其中有 t 组测试点,t≤104,1≤c,d,x≤107t ≤ 10^4, 1 ≤ c, d, x ≤ 10^7t≤104,1≤c,d,x≤107。思路:令 a=k1∗gcd(a,b),b=k2∗gcd(a,b)a = k_1 * gcd(a, b), b = k_原创 2021-03-25 19:41:46 · 125 阅读 · 0 评论 -
Codeforces Round #704 (Div. 2) D. Genius‘s Gambit【构造 | 细节】
题意:给定 3 个数字 a、b、k,找到两个二进制数字 x、y (x > y),满足如下条件:(1) x 和 y 都有 a 个 0,b 个 1;(2) x - y 二进制下有 k 个 1。x 和 y 都不能有前导零。0≤a;1≤b;0≤k≤a+b≤2⋅1050 \le a; 1 \le b; 0 \le k \le a + b \le 2 \cdot 10^50≤a;1≤b;0≤k≤a+b≤2⋅105 。思路:构造方法很巧妙对于 k≤a(a=4, b=4,k=3)k \l原创 2021-02-26 16:59:25 · 122 阅读 · 1 评论 -
Educational Codeforces Round 89 D. Two Divisors【GCD性质 | 质因数分解】
题意:给定 n 的数字 a1,a2,…,ana_1, a_2, \dots, a_na1,a2,…,an,对于每个 a,找到它的两个因子 d1 > 0,d2 > 0 满足 gcd(d1 + d2, a) = 1,如果存在就输出,否则输出 -1.1≤n≤5⋅1051 \le n \le 5 \cdot 10^51≤n≤5⋅105,2≤ai≤1072 \le a_i \le 10^72≤ai≤107思路:方法1: Codeforces 题解:上面的题解证明了构造出来的 d1原创 2021-02-25 23:36:25 · 104 阅读 · 0 评论 -
CH0501 货仓选址 | Codeforces Round #703 B. Eastern Exhibition【中位数】
CH0501题意:在一条数轴上有N家商店,它们的坐标分别为 A[0]~A[N- 1]。现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。N<=100000, A[i]<=1000000。CH0501思路:本题我们可以利用中位数的性质来解决,将 A[0] ~ A[N - 1] 排序,设货仓建在 X 坐标处,X 的左侧商店有 P 家,右侧 Q家,若 P < Q,则把货仓向右移动移动 1 单位原创 2021-02-20 21:43:15 · 239 阅读 · 0 评论 -
Codeforces Round #701 (Div. 2) D. Multiples and Power Differences【LCM | 思维】
题意:给定 n 行 m 列正整数组成的矩阵 a,构造一个矩阵 b,满足如下条件:(1) 1≤bi,j≤1061 \le b_{i,j} \le 10^61≤bi,j≤106;(2) bi,jb_{i, j}bi,j 是 ai,ja_{i, j}ai,j 的倍数;(3) 相邻(共享同一条边)两个数之差的绝对值等于 k4k^4k4,其中 k≥1k ≥ 1k≥1。其中 2≤n,m≤5002 \le n,m \le 5002≤n,m≤500,1≤ai,j≤161 \le a_{i,j} \le 161≤ai原创 2021-02-18 22:28:13 · 91 阅读 · 0 评论 -
Codeforces Round #701 (Div. 2) C. Floor and Mod【数论 | 整除分块】
题意一对正整数 a,b 如果被称为 special ,则要满足 ⌊ab⌋=a mod b\lfloor \frac{a}{b} \rfloor = a \bmod b⌊ba⌋=amodb。给定两个数字 x,y,找到 special 的 (a, b),其中原创 2021-02-17 21:51:21 · 131 阅读 · 0 评论 -
Codeforces Round #694 (Div. 2) D. Strange Definition【质因数分解 | 数论】
题意:定义如果两个数 x,yx, yx,y “相邻”,那么 lcm(x,y)gcd(x,y)\frac{lcm(x, y)}{gcd(x, y)}gcd(x,y)lcm(x,y) 是平方数,给定长度为 n 的数字数组 aaa,其中的每个元素 aia_iai 每一秒后都会被所有与 aia_iai 相邻(包括 aia_iai 自己)的数字的乘积替换,定义 did_idi 为与 aia_iai 相邻的数字的个数,则数组 aaa 的 beautybeautybeauty 为 max(di)max(d_原创 2021-01-31 00:27:12 · 135 阅读 · 0 评论 -
Codeforces Round #694 (Div. 2) C. Row GCD【GCD | 更相减损术】
题意:给出大小分别为 nnn 和 mmm 的数组 a、ba、ba、b,对于bbb中的每个元素 bjb_jbj ,问 a1+bj,a2+bj,…,an+bja_1 + b_j, a_2 + b_j, \ldots, a_n + b_ja1+bj,a2+bj,…,an+bj 的GCD是多少,其中 1≤n,m≤2⋅1051 \leq n, m \leq 2 \cdot 10^51≤n,m≤2⋅105, 1≤ai≤10181 \leq a_i \leq 10^{18}1≤ai≤1018, 1≤原创 2021-01-30 22:45:49 · 99 阅读 · 0 评论 -
HDU 2955 Robberies【0/1背包变形】
题目链接题目描述:Robber想要抢银行,每个银行的钱数为mj,抢这个银行被抓的概率为pj,在被抓概率小于 p 的情况下,求最大抢劫金额。题解:题目中给的是抢劫每个银行被抓的概率,设 p1,p2,...pnp_1, p_2, ...p_np1,p2,...pn ,由概率论知识我们可知¬p1∗¬p2∗...∗¬pn¬p_1*¬p_2*...*¬p_n¬p1∗¬p2∗...∗¬pn 为不被抓的概率,显然,如果概率不为小数,我们可以把 (1 - p) 作为容量进行 0/1 背包,但概率是小数原创 2020-10-20 16:12:18 · 111 阅读 · 0 评论 -
EOJ Monthly 2019.11 D. 安全带【数学 | 模拟】
题目链接题目描述:初始给出一个 n 个点顺次连接而成的环,点有点权,边权是两个端点的点权乘积。现在给出一些特殊点,这些特殊点是向其他所有点都有连边,如果连边时发现两点之间已经有边,不会再次连接(即图中不会有重边)。求图中边权和。做法1(模拟):首先我们先将这个环边的权值累加到答案中,然后求特殊点产生的权值和,我们令sum等于所有点的权值和,对于第一个特殊点 x,它的贡献为a[x] * sum - (a[x] - 相邻点的权值),因为不会有重边,也就是说每个边只能产生一次贡献,此时 x 连的边都已经原创 2020-10-12 17:28:32 · 137 阅读 · 2 评论 -
EOJ Monthly 2020.3 D. 钢琴演奏家【组合数学】
题目链接题目描述:原创 2020-10-11 08:19:27 · 192 阅读 · 0 评论 -
Codeforces Round #674 E. Rock, Paper, Scissors【数学 | 最大流 | 思维】
题目链接题目描述A 和 B 进行石头剪刀布游戏,共进行 n 个回合,其中 A 出 a1a_1a1 次石头,a2a_2a2 次剪刀,a3a_3a3 次布,B 出 b1b_1b1 次石头,b2b_2b2 次剪刀,b3b_3b3 次布,问 A 最多获胜的次数和最少获胜的次数。最大流做法:min:You can link the source to A’s options (2-rock, 3-scissors, 4-paper) with their respectives capacit原创 2020-09-30 09:35:11 · 160 阅读 · 0 评论 -
Codeforces Round #674 C Increase and Copy【数学】
题目链接题目描述:题解:it is pretty intuitive that we firstly need to do all increaments and only then copy numbers. You could notice that the answer does not exceed n1/2n^{1/2}n1/2 so we can iterate from 1 to ⌊n1/2⌋\lfloor n^{1/2} \rfloor⌊n1/2⌋ and fix number w原创 2020-09-28 21:01:37 · 266 阅读 · 0 评论 -
CH 0102 64位整数乘法【快速幂思想 | 数学】
题目链接题目描述:求 a 乘 b 对 p 取模的值,其中 1 ≤ a, b, p ≤ 101810^{18}1018。题解:我们观察到,乘的时候很容易爆long long,我们又看到数据范围比较特别,1181^{18}118 乘以2后也没到 263−12^{63} - 1263−1 (9.2233720368548e+18),所以我们可以把 b 利用类似于快速幂的思想用二进制表示,即:b=ck−12k−1+ck−22k−2+...+c020b=c_{k-1}2^{k-1}+c_{k-2}2^{原创 2020-09-22 19:51:26 · 228 阅读 · 0 评论 -
洛谷 P1072 Hankson的趣味题【GCD | LCM】
题目链接题目描述:给出四个正整数 a0,a1,b0,b1a_0,a_1,b_0,b_1a0,a1,b0,b1,设某正整数 x 满足:gcd(x,a0)=a1gcd(x,a_0)=a_1gcd(x,a0)=a1lcm(x,b0)=b1lcm(x,b_0)=b_1lcm(x,b0)=b1输出满足条件的 x 的个数其中 1≤a0,a1,b0,b1≤2∗1091≤a_0,a_1,b_0,b_1≤2*10^91≤a0,a1,b0,b1≤2∗109 且 n ≤ 2000。题解原创 2020-09-17 22:50:58 · 122 阅读 · 0 评论 -
洛谷 P2261 余数求和【整除分块】
题目链接题目描述:给出正整数 n 和 k 请计算G(n,k)=∑i=1nk%iG(n,k)=\sum_{i=1}^nk \%iG(n,k)=i=1∑nk%i其中n,k最大为10910^9109。关于整除分块:这有两篇文章,写的不错,我就不写啦 QAQ文章1文章2本题注意:因为 m(m是本题的k)可能大于 n,所以R = min(m / (m / L), n),此外当 k 等于 0 时,表示到了最后一块了,直接将 R = n即可。AC code:#include <i转载 2020-09-17 12:34:10 · 203 阅读 · 0 评论 -
洛谷 P1463 反素数【约数 | DFS】
题目链接题目描述:约数 :定义:若整数 n 除以 d 的余数为0,即 d 能整除 n,则称 d 是 n 的约数,n 是 d 的倍数,记为 d | n 。算术基本定理的推论:在算数基本定理中,若正整数 N 被唯一分解为 N=p1c1p2c2...pmcmN=p_1^{c1}p_2^{c2}...p_m^{cm}N=p1c1p2c2...pmcm,其中 cic_ici 都是正整数,pip_ipi 都是质数,且满足 p1<p2<...<pmp_1<p_2<.原创 2020-09-10 22:34:55 · 176 阅读 · 0 评论 -
CH 3101 阶乘分解【质因数分解】
题目链接题目描述:给定整数 N(1 ≤ N ≤ 10610^6106),试把阶乘 N! 分解质因数,按照算术基本定理的形式输出分解结果中的 pip_ipi 和 cic_ici 即可。关于质因数分解:算术基本原理:任何一个大于 1 的正整数都能唯一分解成有限个质数的乘积,可写做:N=p1c1p2c2...pmcmN = p_{1}^{c1}p_{2}^{c2}...p_{m}^{cm}N=p1c1p2c2...pmcm其中 cic_{i}ci 都是正整数,pip_{i}pi都原创 2020-09-09 22:55:17 · 536 阅读 · 0 评论 -
POJ 2689 Prime Distance【区间筛素数】
题目链接题目描述:给定两个整数L, R(1 ≤ L ≤ R ≤ 2312^{31}231, R - L ≤ 10^6),求闭区间 [L, R] 中相邻两个质数差最大和最小为多少。题解:因为范围太大,就算欧拉筛也会TLE,但区间范围比较小,又因为一个合数N,至少能被2到根号N的一个数整除,2到根号N的素数一定是区间[L, R]内合数的质因子,所以可以先筛出2到5e4(2312^{31}231开方)的素数,然后让这些素数筛去区间 [L, R] 的合数,最后留下的就是素数。本题有几个细节:(1)当L为原创 2020-09-09 21:43:43 · 165 阅读 · 0 评论 -
LuoGu P3912 素数个数【素数筛】
题目链接题目描述:给一个整数N,求1~N中的素数个数。1 ≤ N ≤ 1e8。题解:Eratosthenes筛法(埃式筛法, O(NloglogN))Eratosthenes筛法基于这样的想法:任意整数x的倍数2x, 3x, …都不是质数,根据质数的定义,上述命题显然成立。我们可以从2开始,由小到大扫描每个数x,把它的倍数2x, 3x, …, (N / x) * x 标记为合数,当扫描到一个数时,若它尚未被标记,则它不能被2 ~ x - 1之间的任何数整除,该数就是质数。另外我们可以发现,原创 2020-09-08 21:20:10 · 215 阅读 · 0 评论