jmhjmhjmh
jmhjmhjmh
全部文章
未归档
归档
标签
去牛客网
登录
/
注册
jmhjmhjmh的博客
全部文章
/ 未归档
(共22篇)
MooTube G
采用并查集解决问题,分成两个集合查询和视频相关度,然后将二者按降序排序,从高到低处理,逐步合并满足条件的边,用并查集维护连通集合大小,根据k的从大到小,避免了重复对并查集的构建,如果k变小,就直接把符合条件的新的视频加进来,最后直接得到查询结果。 #include<bits/stdc++.h&...
C++
2026-01-23
0
9
关押罪犯
从大到小排序,依次找出最大的怨气值,使得所有罪犯对可以被分到两个监狱。采用贪心 + 并查集维护对立关系,若某对罪犯已在同一集合,无法分到不同监狱,则该怨气值就是最大的怨气值。 #include<bits/stdc++.h> using namespace std; struct E {...
C++
2026-01-23
0
9
修复公路
采用并查集维护村庄的连通关系,按公路修复时间升序处理,每次合并公路连接的村庄,直到所有村庄连通,此时的时间即为最早连通时间 #include<bits/stdc++.h> using namespace std; int fa[10000]; int n,m; // 存储公路信...
C++
2026-01-23
0
11
奶酪
主要用到了并查集,先遍历所有空洞,标记与上下表面连通的空洞,同时检查当前空洞与已遍历空洞的连通性,连通则合并; 遍历所有上表面连通空洞和下表面连通空洞,如果存在连通的结果就输出 Yes,否则输出 No。 #include<bits/stdc++.h> using namespace st...
C++
2026-01-23
0
13
课程表 II
有向图的排序问题,统计每个课程的入度,优先选择入度为 0 的课程,然后逐步消除依赖,最终得到合法的学习顺序。 class Solution { public: vector<int> findOrder(int numCourses, vector<vector<in...
C++
2025-12-26
0
26
使 X 和 Y 相等的最少操作次数
用 BFS遍历所有可能的操作状态,找到从x到y的最少步数。 class Solution { public: int minimumOperationsToMakeEqual(int x, int y) { // 若x<=y,只能通过加1操作达到y,步数为y-x ...
C++
2025-12-26
0
28
岛屿数量
用DFS遍历网格,标记已访问的陆地,统计独立岛屿的数量:遇到未访问的陆地时,计数加 1,并通过 DFS 将其连通的所有陆地标记为水,避免重复统计。 class Solution { public: void dfs(vector<vector<char>>& ...
C++
2025-12-26
0
30
最大间距
排序数组,遍历 class Solution { public: int maximumGap(vector<int>& nums) { if(nums.size()<2){ return 0; } ...
C++
2025-12-19
0
23
全排列
枚举所有可能的排列:通过递归选择未使用的元素加入当前路径,完成选择后回溯 class Solution { public: vector<vector<int>> permute(vector<int>& nums) { vecto...
C++
2025-12-19
0
31
最大数
定义最优排序规则若a+b > b+a,则a应排在b前面 class Solution { public: string largestNumber(vector<int>& nums) { // 将所有数字转为字符串 vector&l...
C++
2025-12-19
0
28
首页
上一页
1
2
3
下一页
末页