小海胆胆
小海胆胆
全部文章
分类
未归档(3)
题解(20)
归档
标签
去牛客网
登录
/
注册
小海胆胆的博客
全部文章
(共94篇)
题解 | #穷哈哈~#
穷哈哈~ 思路 拿到这题先理解"笑声"的定义:笑声是由字母 h 和 a 交替组成的序列。比如 "a"、"ha"、"aha"、"hahaha" 这些都是合法的笑声,但 "hh"、&q...
2026-03-10
0
5
题解 | #牛妹的位运算#
牛妹的位运算 思路 这题要求在 中找满足 且 的对数。 先搞清楚 到底意味着什么。两个数比大小,看的是最高位。AND 在某一位为 1,说明 a、b 在那一位都是 1;XOR 在某一位为 1,说明 a、b 在那一位不同。 所以条件成立的含义是:存在某个二进制位,a 和 b 在这一位上不同,并且...
2026-03-10
0
6
题解 | #【模板】排序#
【模板】排序 思路 拿到这题,题意很直白:给你一个整数数组,按从小到大排好序输出就行。 那问题来了——排序算法那么多,这里该用哪个? 对于竞赛和实际工程来说,直接用标准库的排序就是最优选择。C++ 的 sort() 底层是 IntroSort(快排 + 堆排 + 插入排序的混合体),Java 的 A...
2026-03-10
0
5
题解 | #【模板】01背包#
【模板】01背包 思路 经典的 01 背包模板题,但这道题要求输出两个答案: 不要求装满:背包容量为 ,在不超过容量的前提下,能装的最大价值是多少? 恰好装满:背包容量恰好为 时,能装的最大价值是多少?如果装不满就输出 0。 01 背包基础 01 背包的核心:每个物品只有「选」或「不选」两种状...
2026-03-10
0
6
题解 | #【模板】二维差分#
【模板】二维差分 思路 这题是二维前缀和的"逆操作"。二维前缀和解决的是多次查询子矩阵和,而二维差分解决的是多次给子矩阵加值。 先想暴力:每次操作都遍历子矩阵把每个元素加上 c,单次操作 ,q 次就是 ,肯定超时。 回忆一维差分是怎么做的:给区间 [l, r] 加 c,只需要 d...
2026-03-10
0
7
题解 | #【模板】二维前缀和#
【模板】二维前缀和 思路 拿到这题,先想一个最朴素的做法:每次查询都遍历子矩阵求和,时间复杂度 每次查询,查询多了肯定超时。 那怎么优化?如果你学过一维前缀和,应该能想到——能不能把同样的思路推广到二维? 答案是可以的。我们先来回忆一维前缀和怎么做的:s[i] = a[1] + a[2] + .....
2026-03-10
0
9
题解 | #【模板】差分#
【模板】差分 思路 拿到这题,最直接的想法是什么?每次操作都遍历 [l, r],把每个元素加上 c。这样每次操作是 ,总共 次就是 ,数据一大肯定超时。 那有没有办法让每次"区间加"变成 ? 这就要用到差分数组了。差分是前缀和的逆运算——前缀和是"求区间和"...
2026-03-10
0
4
题解 | #二进制数1#
二进制数1 思路 题目非常直白:给一个非负整数,数一下它的二进制表示里有几个 1。 比如 3 的二进制是 11,有 2 个 1;65 的二进制是 1000001,也有 2 个 1。 怎么数?最经典的做法就是逐位检查——每次看最低位是不是 1,看完之后右移一位,直到整个数变成 0。具体来说: 用 n...
2026-03-10
0
6
题解 | #二进制不同位数#
二进制不同位数 思路 题目很直白:给两个正整数,把它们转成二进制,从最低位对齐,数一下有多少个位置上的数字不一样。 这不就是异或(XOR)吗?异或的性质就是:相同为 0,不同为 1。所以 a ^ b 的结果里有几个 1,答案就是几。 那问题就变成了:怎么数一个数的二进制里有多少个 1?这就是经典的 ...
2026-03-10
0
6
题解 | #买橘子#
买橘子 思路 题目很直白:你想买恰好 n 个橘子,商家只卖两种袋装——6 个一袋和 8 个一袋,袋子不能拆开,问最少买几袋?凑不出来就输出 -1。 本质上就是求最小的非负整数解 ,使得 。 怎么做最简单?贪心——优先多用大袋(8个装),因为同样的橘子数,用大袋数量更少。具体来说,从 开始往下试,每...
2026-03-10
0
6
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页