随笔分类 -  数据结构

摘要:前言 之前见到的一道题,现在有了更优秀的解法。 题意 有一个 n 个点的无向图,初始没有边,每次加入一条带权边后询问最小生成树权值,无生成树输出 0,加边共计 m 次。 n500,m2000。 解法 如果对于每次询问都直接做 Prim 最小生成树是可以通过 阅读全文
posted @ 2022-02-18 13:57 AstatineAi 阅读(799) 评论(0) 推荐(0) 编辑
摘要:前言 研究一下堆。 什么是堆 堆是一种点带权的树,每个节点的权都小于/大于其父亲节点的权。 以下为了方便就只说小根堆了。 堆通常需要支持以下几种功能 : 插入(insert) 查询最小值(min) 删除最小值 (extracy min) 合并(merge) 减小一个元素的值(decrease key 阅读全文
posted @ 2022-02-17 13:30 AstatineAi 阅读(190) 评论(0) 推荐(0) 编辑
摘要:堆 满足父节点权值总是大于/小于两个子节点的特殊的二叉树. 左偏树 一种能在 O(logn) 时间内合并的堆,优势是稳定且码量小于 Fibonacci堆。 模板题 将结点封装为结构体 : struct Node { int val,ch[2],dist; }T[N]; 阅读全文
posted @ 2022-01-26 21:38 AstatineAi 阅读(29) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
主题色彩