首页 > 最小的数字
头像 氧气少年Kevin
发表于 2023-05-26 21:07:08
牛客小白月赛 73 题解 感谢大家参加牛客小白月赛 73。本场比赛由 氧气少年Kevin 和 罚时大师月色 共同命题。 PDF 题面:点击下载。 A. 最小的数字 本题解法较多: 枚举,从 n,n+1,n+2n,n+1,n+2n,n+1,n+2 中,选择较小的、符合条件的输出; 直接输出 ⌊x+2 展开全文
头像 小西炮
发表于 2023-05-26 21:46:16
D简单版本的做法(二分):因为0的个数只会越乘越多,故可用前缀积维护,满足二分性,每次枚举左端点,二分右端点,即可计算出答案。 using namespace std; using ll = long long; const int N = 2e5 + 5; ll a[N]; ll T[N]; 展开全文
头像 mile32
发表于 2023-05-26 21:08:31
牛客小白月赛73 整合题解 先要表扬一下,这场比赛题目的质量还是非常不错的。 干了这道题,祝你们成功! 序言:我8:55才开始打,A了两道题,遗憾告别,其实A掉4-5道题都不过分 T1 题解 只要分类讨论三种情况,即取余数为0,1,2时。(这数据真的不毒瘤好吧) 代码: #include &l 展开全文
头像 lwdong
发表于 2023-05-26 21:46:58
本题巧妙运用数学规律分了两种情况, 第一种刚好是3的倍数,直接输出 第二中不是3的倍数,就找最近一个大于n且是3的倍数的,只需要先除3再加1即可 #include<bits/stdc++.h> using namespace std; int main() { int n;cin> 展开全文
头像 kanm7
发表于 2023-05-27 11:30:30
首先,根据10^k的要求,我们可以把条件转化成 (10^k) = (2 * 5)^k;那么问题就转化成了求满足[l,r]区间内2,5的幂次的最小值 = k的所有区间。这里我们采用前缀和,分别统计2和5的个数的前缀和,然后二分求出以i为左边界的上下限右区间,这里特别注意,只要2或者5幂次的最小值是k即 展开全文
头像 连旌
发表于 2023-05-26 21:28:16
//tmd真的就tmd 其实看懂第三行那个条件就好了,元素差值越大距离就要越大,那么直接排序后判断即可 如果前后两个元素的差值小于它们的距离即1,那么其他元素跟当前枚举的元素就更不符合题意,也就无法交换,直接判定该序列不合法 反之如果前后两个元素的差值都大于等于它们的距离即1,那么其他元素也必然符合 展开全文

等你来战

查看全部