BeauWill
BeauWill
全部文章
分类
归档
标签
去牛客网
登录
/
注册
BeauWill的博客
全部文章
(共46篇)
题解 | 树上行走
手搓一个DSU的板子,根据题意合并类型相同的点,最后找到并查集中集合的最大siz,满足最大siz的都放进答案数组中,最后输出答案数组的大小和内容即可。 #include <iostream> #include <vector> #include <numeric>...
2026-04-04
0
8
题解 | 喝可乐
枚举其中一种可乐的数量(此处为蜂蜜可乐)记为j,另一种可乐的数量即为k = N - j,模拟直至无法进行兑换,取最大值即为答案。粗略估一下时间复杂度为O(T * N * log),此处的log应该是与a和b相关的一个对数常数。最大的数据量大概在1E6到1E7左右,因此不会超时。 #include &...
2026-03-29
0
21
题解 | Forsaken喜欢数论
Modern Cpp欧拉筛是可以用最小质因子筛的,jiangly老师的欧拉筛模板就是如此。然后累加1到n的最小质因子即可。 #include <iostream> #include <vector> #include <numeric> std::vector&...
2026-03-28
3
23
题解 | 浮木博弈
Modern Cpp写法结论就是与第一个大于1的数的下标位置有关,记该位置为idx(下标从0开始),观察样例就知道,如果idx是偶数,那么答案是"Alice",否则答案是"Bob"。另外,若ai全为1,即不存在大于1的数,此时手动造几组n比较小的样例就会发现,...
2026-03-27
1
18
题解 | 空调遥控
考虑二分查找,枚举a[i],贪心地找到第一个大于a[i] + p * 2的下标j,max(j - i)就是答案。 #include <iostream> #include <vector> #include <algorithm> int main() { ...
2026-03-18
0
21
题解 | 刷题统计
考察容斥原理,直接看不出来的建议画个图显然7等于(a + b + c - n - d) / 2 #include <iostream> void solve(){ int n, a, b, c, d; std::cin >> n >> a >>...
2026-03-17
0
28
题解 | 清楚姐姐买竹鼠
枚举三种情况,取个最小值就是答案。第一种情况:每次只买单个竹鼠(a * x)。第二种情况:买x / 3组3个竹鼠,买x % 3个组1个竹鼠(b * (x / 3) + a * (x % 3))。第三种情况:买x / 3 + 1组3个竹鼠(b * (x / 3 + 1))。注意中间计算会爆int,需要...
2026-03-14
0
28
题解 | 显生之宙
方法一:模拟、贪心、差分先考虑暴力,由于有区间修改,想到使用差分进行模拟。模拟的时候可以贪心地想到: 若当前的最小值是负数,为了最小化最后的结果,就将后续的所有数全都加上这个负数;若当前的最小值不是负数,那么只找一个数加上,为了方便,就找第一个大于等于它的数即可。因此需要先对数组a排序...
2026-03-13
1
32
题解 | Tokitsukaze and Colorful Chessboard
方法一:二分答案估一下二分的范围,a + b <= 2E9,那么n二分的上界限定到ceil(sqrt(2E9))即可,我这里直接取了45000,它的平方也不会爆int;由于a + b > 0,那么二分的下界即为1。思考check函数,观察样例和说明,发现边长为n的棋盘,最多可以同时放下一...
2026-03-11
1
50
题解 | 二进制数1
方法一:使用C语言的内建函数__builtin_popcountll #include <iostream> using i64 = long long; int main() { std::ios::sync_with_stdio(false); std::cin.tie(...
2026-03-01
0
46
首页
上一页
1
2
3
4
5
下一页
末页