随笔分类 - 洛谷官方题单
摘要:原题链接:https://www.luogu.com.cn/problem/P2651 题意解读:计算能否在除法a1/a2/a3/.../an式子中加括号,将一部分数变成分子,使得除法结果是整数。 解题思路: 在a1/a2/a3/.../an中,无论怎么加括号,a1一定是分子,a2一
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1414 题意解读:有n个数,从其中选k个数,k=1, 2, 3......n,使得这k个数的gcd最大。 解题思路: 如何求k个数的最大公约数呢?暴力法肯定不行。 可以从1到n枚举这个最大公约数i,看是否有>=k个数的因
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P4057 题意解读:给定三个数,计算其最小公倍数。 解题思路: 三个数a、b、c lcm(a, b, c) = lcm(lcm(a, b), c) 100分代码: #include <bits/stdc++.h> usin
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1572 题意解读:计算分数+、-运算的结果。 解题思路: 根据题目要求,逐项计算并约分,则不会超int,问题就比较直接了 定义a1/b1为前一项的分子分母,a2/b2为当前项的分子分母 依次遍历字符串,处理出分子和分母,
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1069 题意解读:一个数s代表细胞经过一天分裂的个数,则经过t天后个数为st,要计算经过几天后能整除m1m2,也就是st % m1m2 == 0,有多个s,要计算天数最少就可以满足条件的。 解题思路: 直接求st % m
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1072 题意解读:求有多少个x,满足x和a0 的最大公约数是a1,x和b0的最小公倍数是b1,多组数据。 解题思路: 枚举法: 因为x和a0 的最大公约数是a1,x和b0的最小公倍数是b1,所以x不大于b1
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1029 题意解读:已知x,y,求有多少对p、q,使得p、q的最大公约数为x,最小公倍数为y。 解题思路: 枚举法即可。 枚举的对象:枚举p,且p必须是x的倍数,还有p <= y q的计算:q = x * y / p, q
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1835 题意解读:要计算L-R范围内素数的个数。 解题思路: 直接对L~R的每个数判断素数肯定不可取,因为L、R的范围较大。 既然要计算素数的个数,那么可以把其中的合数标记出来即可。 如何标记合数? 可以借助于筛素数的算
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P3383 题意解读:素数筛模版题。 解题思路: 素数筛介绍 所谓素数(质数),是指除了1和它本身以外不再有其他因数的自然数,一般用试除法判断素数(时间复杂度:O(sqrt(n))): bool isprime(int x)
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P2926 题意解读:有n个数,计算每个数能整除其他数的个数。 解题思路: a[100005]记录所有的数,h[1000005]记录所有数的个数,cnt[1000005]记录所有数能整除其他数的个数 只需要读入a数组,同时更
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1246 题意解读:对于26个小写字母按字典序排列,不超过6个字母,给定一个排列,计算在第几个。 解题思路: 1、组合数 1个字母的情况:一共有C(26, 1) = 26种组合 2个字母的情况:一共有C(26, 2) =
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P2638 题意解读:把a个红球、b个黑球放入n个盒子,求所有的方法。 解题思路: 盒子中可以放也可以不放,可以放任意个,因此,题目可以转化为将i个红球(0<=i<=a),j个黑球(0<=j<=b)放入n个盒子的方案数之和,
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P3913 题意解读:车所在的行、列一共有多个个格子。 解题思路: 假设3*3的棋盘,有三个车 分析得知,三个车覆盖了第1、2两行,第2、3两列,覆盖的格子数用公式计算就是2 * 3 + 2 * 3 - 2 * 2 = 8
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P2789 题意解读:n条直线可以形成不同交点数的方案数。 解题思路: 对于n = 1、2、3、4的情况进行模拟: n = 1时,有1种不同的交点数 n = 2时,有2种不同的交点数 n = 3时,有3种不同的交点数 n =
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P2822 题意解读:本质上是要计算所有组合数C(i,j),0≤i≤n,0≤j≤min(i,m),统计有多少个C(i,j)能整除k。 解题思路: 本题要解决两个问题: 1、 计算C(0~n、0~m)范围内所有的组合数,只用保
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1866 题意解读:N个整数M1~Mn,对每个整数Mi,选取1~Mi之间的一个数,使得N个数都不一样的选法。 解题思路: 将M1~Mn由小到大排序, 第1个的选法有M1种 第2个的选法有M2-1种 第3个的选法有M3-2种
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1017 题意解读:负进制数的转换。 解题思路: 下面给出两种思路 1、枚举法 从数据范围来看,∣n∣ ≤ 37336,因此,可以对该r进制的数进行枚举,每一次枚举,都计算r进制数对应的十进制数是否和n相等,相等则输出该r
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1100 题意解读:将32位二进制数的高低16位交换位置。 解题思路: 给定无符号整数a,假设二进制高16为h,低16位为l, 即a表示为hl,a >> 16得到0h,a << 16得到l0,两者相加即得到lh,交换完毕。
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1469 题意解读:找到落单的整数,其他整数都可以配对。 解题思路: 利用异或的特性: 1、整数和自己异或 x ^ x = 0 2、任何数和0异或 x ^ 0 = x 因此,将所有数异或起来,结果就是落单的整数。 100分
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1143 题意解读:进制转换的模版题,n进制转10进制,10进制转m进制。 解题思路: 1、对于n进制数转10进制,如abcd转10进制,根据定义是a*n^3 + b*n^2 + c*n + d,在程序中迭代处理: for
阅读全文