news 2026/1/22 3:58:30

逆向处理|并查集

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
逆向处理|并查集

Solve and verify once it occurs

lc924

逆向思维 抽象为 连通块问题

在恶意软件传播的网络中,从初始感染节点里删一个节点,找出能让最终感染节点数最少的节点,若有多个则返回索引最小的

DFS遍历未感染节点连通域

统计仅受单个初始感染节点影响的区域大小,找到删除后能最大程度减少感染的初始节点,无则返回初始节点中的最小值

924题

并查集/DFS统计感染源支配的连通域,选删除后减少感染最多的节点

928题

DFS标记单感染源连通域,计算删除节点后可保护的节点数,选最优节点(多解选索引最小)

class Solution {
public:
int minMalwareSpread(vector<vector<int>>& graph, vector<int>& initial)

{
unordered_set<int> st(initial.begin(), initial.end());
vector<int> vis(graph.size());
int node_id, size;
function<void(int)> dfs = [&](int x) {
vis[x] = true;
size++;
for (int y = 0; y < graph[x].size(); y++) {
if (graph[x][y] == 0) {
continue;
}
if (st.contains(y)) {
// 按照 924 题的状态机更新 node_id
// 注意避免重复统计,例如上图中的 0 有两条不同路径可以遇到 1
if (node_id != -2 && node_id != y) {
node_id = node_id == -1 ? y : -2;
}
} else if (!vis[y]) {
dfs(y);
}
}
};

unordered_map<int, int> cnt;
for (int i = 0; i < graph.size(); i++) {
if (vis[i] || st.contains(i)) {
continue;
}
node_id = -1;
size = 0;
dfs(i);
if (node_id >= 0) { // 只找到一个在 initial 中的节点
// 删除节点 node_id 可以让 size 个点不被感染
cnt[node_id] += size;
}
}

int max_cnt = 0;
int min_node_id = 0;
for (auto [node_id, c] : cnt) {
if (c > max_cnt || c == max_cnt && node_id < min_node_id) {
max_cnt = c;
min_node_id = node_id;
}
}
return cnt.empty() ? ranges::min(initial) : min_node_id;
}
};

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/9 20:58:39

智能合同处理:CRNN OCR在法律行业的应用实践

智能合同处理&#xff1a;CRNN OCR在法律行业的应用实践 &#x1f4c4; 背景与挑战&#xff1a;法律文档数字化的瓶颈 在法律行业中&#xff0c;合同、诉状、判决书等大量非结构化文本构成了核心业务资产。传统的人工录入方式不仅效率低下&#xff0c;且极易因字迹模糊、排版复…

作者头像 李华
网站建设 2026/1/9 20:58:28

极客日报报道的AI趋势与本镜像的契合点

极客日报报道的AI趋势与本镜像的契合点&#xff1a;Image-to-Video图像转视频生成器二次构建开发实践 背景洞察&#xff1a;从静态到动态的生成式AI跃迁 近年来&#xff0c;极客日报等科技媒体持续关注生成式AI的技术演进方向&#xff0c;其中从静态内容生成向动态时序建模的过…

作者头像 李华
网站建设 2026/1/20 19:41:17

Sambert-HifiGan多语言扩展:中文方言合成实践

Sambert-HifiGan多语言扩展&#xff1a;中文方言合成实践 &#x1f4cc; 引言&#xff1a;语音合成中的情感与地域表达需求 随着智能语音技术的普及&#xff0c;传统“机械化”的语音合成已无法满足用户对自然度和个性化的需求。尤其在中文语境下&#xff0c;不同地区、不同情…

作者头像 李华
网站建设 2026/1/19 13:19:41

从零开始学es查询语法:手把手实现简单搜索

从零开始学 ES 查询语法&#xff1a;手把手实现一个可用的简单搜索你有没有遇到过这样的场景&#xff1f;用户在搜索框里输入“蓝牙耳几”&#xff0c;系统却一条结果都返回不了——明明他想搜的是“蓝牙耳机”。又或者&#xff0c;你想查最近一小时内的错误日志&#xff0c;翻…

作者头像 李华
网站建设 2026/1/9 20:57:14

多模态OCR:CRNN与目标检测的联合应用

多模态OCR&#xff1a;CRNN与目标检测的联合应用 &#x1f4d6; 项目简介 在现代智能文档处理、自动化办公和视觉信息提取场景中&#xff0c;OCR&#xff08;光学字符识别&#xff09;技术已成为不可或缺的一环。传统的OCR系统多依赖于规则化图像处理流程&#xff0c;难以应对复…

作者头像 李华
网站建设 2026/1/20 2:16:23

模型加载慢?优化Image-to-Video启动时间的3种方法

模型加载慢&#xff1f;优化Image-to-Video启动时间的3种方法 &#x1f680; 背景与痛点&#xff1a;I2VGen-XL模型的冷启动延迟问题 在基于 I2VGen-XL 模型构建的 Image-to-Video 图像转视频系统中&#xff0c;用户首次访问 WebUI 时常常面临长达 60秒以上 的模型加载等待。尽…

作者头像 李华