以诚丶
以诚丶
全部文章
分类
题解(26)
归档
标签
去牛客网
登录
/
注册
以诚丶的博客
全部文章
(共9篇)
题解 | #Sum Gcd#
由于互质和唯一分解定理,和是没有相同的质因数。 那么可以得出: 本题的做法就是,计算出一个总和,然后对于每一个,需要重新计算自己本身,因为和并不互质,不满足等式1,然后加上即可。 #include <bits/stdc++.h> using namespace std; #define ...
C++
数学
2025-07-30
1
12
题解 | #倍集#
这道题看了其他大佬的题解才看出来,首先就是需要让每一个独立的区间内部没有倍数,这可以通过收缩左边界实现。 然后假设全要,这个时候需要的就是找出和没有倍数关系的有几个。 我们从开始枚举,我们要满足 ,也就是乘一个倍数过后,仍然小于d。那么可以反解出k。 然后我们又需要让,那么最大的一个数就是,个数就是...
Python3
数学
2025-07-24
1
22
题解 | #游游开车出游#
实际上就是求一个这个函数所能够达到的最小值,这个是一个关于的函数,我们可以对他进行求导,让,可以得出如下式子: 。 import sys from math import sqrt # 输入加速 input = sys.stdin.readline if __name__ == '__main_...
Python3
数学
2025-07-22
1
14
题解 | #游游的选数乘积#
提供一种序列分治的思路。还算比较general。 首先我们需要知道,0的个数取决于和的个数的最小值。启示我们预处理出每一个数字中5的个数和2的个数。 根据的个数来进行排序,然后我们定义如下分治函数,会将区间分割为.那么答案就拆分为计算左右区间之间跨区间的个数,然后分治计算。 关键是如何跨区间,由于我...
pypy3
分治
数学
2025-07-21
1
19
题解 | #游游的正整数#
分类讨论最多和最少的情况即可。 对于最多的情况,我们先贪心的给他分配最小的,设,整除后 ,同时。如果为0,那么可以整除,最大就是, 否则,我们可以将多出来的部分,分配到已经分配好的d个集合中,他们现在全为,那么还能够分配进去的个数最多为。只要m不超过这个数,就能够分配好。 对于最少的情况类似,请读者...
Python3
数学
2025-07-21
1
19
题解 | #游游的矩阵权值#
本题可以直接利用贡献法求解。一个n * n的矩阵可以分解为3个部分,以如下 4 * 4的矩阵为例: x y y x y z z y y z z y x y y x x代表了四个角,每一个x的贡献为2次。 y是除了四个角的最外面元素,每一个y的贡献为3次。 其余的就...
Python3
数学
贪心
2025-07-18
1
23
题解 | #游游的数值距离#
原始为求这么一个式子: 的数值增长是非常快的,在的范围下,其个数非常有限,那么我们不妨预处理出阶乘表,阶乘到刚好大于的位数就可以了。 由于的个数非常有限,我们可以直接枚举,然后一个二维问题就变为了:。 求最小,其实也就是绝对值在0附近,那么不妨直接假设,那么式子变为:。 由于可能有偏移,可以试一下和...
Python3
数学
2025-07-17
1
21
题解 | #游游的因子计算#
数据范围是,直接算的因数肯定是不行的,那么可以拆开分别算,的因数,注意到输入一个数是,那么他拥有个因数,那么分别计算和的因数,以及乘起来的因数,总的就是我们的结果。 因数分解的时间复杂度是,枚举因数最大是,可以通过本题。 import sys from math import isqrt inpu...
Python3
pypy3
数学
2025-07-15
1
17
题解 | #小美的排列构造#
这种题一看就有很强的规律性,不如打个表,python打表很方便,代码如下 if __name__ == "__main__": n = 6 res = [] diff = inf for p in permutations(range(1, n + 1)): ...
C++
数学
2025-06-15
1
47