Night_crusing
Night_crusing
全部文章
分类
归档
标签
去牛客网
登录
/
注册
Night_crusing的博客
全部文章
(共10篇)
题解 | 小苯的蓄水池(hard)
使用并查集进行合并,每一次的(l,r)合并从左到右更新根节点(指向r),由于不会重复拆板子,所以遍历的合并方法是可行的。 #include<bits/stdc++.h> using namespace std; typedef long long ll; int n; vector&l...
2026-03-09
0
10
题解 | mex
很有意思的一个题,想要高效的完成这个题目我们可以关注每一次操作的本质,对于比较特殊的例如 1 2 3 4 5 这种没有0的mex为0,不管多少次操作都是无效的 0 0 0 0 0 这种不需要操作就可以分析完了特殊的我们可以来看比较一般的情况,例如 0 2026 由于数组有0才能有有效的mex本...
2026-03-07
1
21
题解 | 不点两面(hard version)
这个题目有一点表述不清,出现过的指的是现有的牌河内存在的。对于加入牌河的num 其会使得 num+3 和 num-3安全,只要这两个值合法就可以加入set(用来去重),对于移出牌河的num如果这次操作使得它的出现次数归零显然会影响num+3 和 num-3 这就需要我们去检查num-6 num-3 ...
2026-03-06
1
15
题解 | 牛牛的字符菱形
不是第一次写这种输出题了,要点无非是避免硬编码和利用数学规律确认遍历时的空格和字符的个数,这次用模块化的方式实现;修改行数n可以输出目标图形。 #include<bits/stdc++.h> using namespace std; char c; void cout1() { ...
2026-03-05
1
19
题解 | 波斐契那数列
这个题目考察的是快速幂和线性代数,看题解有多种方法,我比较认可的是用3*3矩阵来运算。当我直接拿到这个题目的时候,第一感觉是Dp但是比较明显的是在这个题目里面,如果单个dp对应的是一个元素,问题不是dp会重复计算而是计算的总次数过多,状态转移不通畅,这种大数据其实适合的是使用快速幂,思路转移到直接计...
2026-02-26
1
28
题解 | qcjj寄快递
这个题目应该是一道数学题,对t求导可以找到最小值点,然后对应求出即可。但是我们仍然有几个需要注意的点一个是k>0,我们求导后k=log2(eln2),ln2<1,这意味着如果e比较小,我们最后得到的k是负数,但是这是不符合要求的,你只能先缩小再放大(k>0)因此需要k=max(0....
2026-02-20
1
30
题解 | 小d和超级泡泡堂
和昨天的题目一样这里我们也可以使用bfs,按照题目给出的逻辑,火焰和人的移动逻辑相同,换言之人之能至者,火之可至者也。所以只需用bfs搜索联通块就行,如果所在的地点没有踩过并且是杂草,那么火就能烧到这,换言之ans++我认为这种题目其实比较模板1. 使用向量数组来限制搜索范围(在我的知识范围之内模拟...
2026-02-18
1
33
题解 | 小红的数位删除
通过位运算状态压缩解题和bfs搜索都是可行的,这里使用bfs #include<bits/stdc++.h> using namespace std; struct State { string sa; string sb; int steps; }; boo...
2026-02-18
1
27
题解 | 小红的二叉树
最原始思路是对每一个节点进行判断然后累加,但是这样肯定会积累重复项。观察经过两个边的类型可以分为两种,子 - 父 - 子 和 孙 - 子 - 父 两种,我们可以选择中间节点作为统计的口径。对于深度为2到n-1的中间的节点作为父节点可以得到一条(子 - 父 - 子 )作为子节点可以获得两条(孙 - 子...
2026-02-10
1
32
题解 | 小红的数组清空
这个题目一开始拿到之后的思路是很明显的,就是统计连续片段的个数,但是这种思路会忽视连选数字的并行情况例如(111222这种得到的cost会是6,所以使用multiset来进行删除工作,逻辑不变,更加符合直觉。 #include<bits/stdc++.h> using namespace...
2026-02-09
1
39