news 2026/6/9 21:28:06

逆向处理|并查集

作者头像

张小明

前端开发工程师

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/6/10 11:54:34

生成视频为何不流畅?帧率与编码设置详解

生成视频为何不流畅&#xff1f;帧率与编码设置详解 引言&#xff1a;从图像到视频的动态转化挑战 在深度学习驱动的多模态生成领域&#xff0c;Image-to-Video&#xff08;I2V&#xff09;技术正迅速成为内容创作的新范式。基于 I2VGen-XL 模型构建的“图像转视频生成器”&…

作者头像 李华
网站建设 2026/6/10 11:55:08

数据集标注效率翻倍:用Sambert-Hifigan批量生成语音样本用于训练

数据集标注效率翻倍&#xff1a;用Sambert-Hifigan批量生成语音样本用于训练 &#x1f3af; 业务场景与痛点分析 在语音合成&#xff08;TTS&#xff09;模型的训练过程中&#xff0c;高质量、多样化的语音数据是决定模型表现的关键因素。尤其是在中文多情感语音合成任务中&…

作者头像 李华
网站建设 2026/6/10 11:33:55

零基础入门LCD Image Converter图像数据制作方法

从一张图片到屏幕显示&#xff1a;手把手教你用 LCD Image Converter 打通嵌入式图像链路你有没有遇到过这样的场景&#xff1f;设计师发来一个精美的PNG图标&#xff0c;你想把它放在STM32驱动的TFT屏上&#xff0c;结果发现——MCU根本“看不懂”这张图。没有文件系统、没有解…

作者头像 李华
网站建设 2026/6/10 11:40:09

学术论文AI工具推荐:8大平台功能评测,聚焦智能降重与自动改写技术

基于Transformer架构的智能学术写作工具在文本重构与逻辑连贯性方面表现卓越&#xff0c;其深度优化的语义适配算法能精准保留专业术语&#xff0c;同时通过动态调整句法结构和语义密度&#xff0c;将AI生成内容的重复率控制在8%以下。实测数据显示&#xff0c;集成实时协作与多…

作者头像 李华
网站建设 2026/6/10 11:20:47

图解说明 es面试题:Elasticsearch 8.x 聚合查询原理

深入浅出 Elasticsearch 8.x 聚合查询&#xff1a;从面试题到生产实践你有没有遇到过这样的场景&#xff1f;在一次技术面试中&#xff0c;面试官轻描淡写地问了一句&#xff1a;“说说 terms 聚合为什么可能不准&#xff1f;”你脱口而出“分片多了会丢数据”&#xff0c;然后…

作者头像 李华
网站建设 2026/6/10 11:40:38

新手入门必备的multisim14.0安装教程详解

Multisim 14.0 安装全攻略&#xff1a;从零开始&#xff0c;避开99%新手踩过的坑你是不是也曾在搜索引擎里输入“multisim14.0安装教程”&#xff0c;结果下载了一堆压缩包、补丁、注册机&#xff0c;点开后却卡在激活界面&#xff1f;提示“License not found”、“Evaluation…

作者头像 李华