![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
菜鸡学算法
大鳄梨12138
这个作者很懒,什么都没留下…
展开
-
树的扩充
檀黎斗社长在开发神极限卡带的过程中出现了问题,他发现了图论意义上一棵有N个节点的树,但他觉得还不够好,打算动用神之才能增加若干条边,使得N个节点中任意两点都有直接相连的边,并满足新图的唯一极小连通子图仍然一开始的树。 社长知道这样有很多种增加策略,但为了公司经营,需要消耗尽量少,即新增的边权值和的最小值。 Input 第一行包含整数t,表示共有t组测试数据。 对于每组测试数据,第一行包含整数N。 ...原创 2019-12-09 09:20:42 · 205 阅读 · 0 评论 -
完全背包
题目链接:完全背包模板题 有 N 种物品和一个容量是 V 的背包,每种物品都有无限件可用。 第 i 种物品的体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。 输出最大价值。 输入格式 第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。 接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 种物品的体积和价值。 ...原创 2019-11-29 08:26:34 · 61 阅读 · 0 评论 -
01背包
题目连接:01背包模板题 有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。 第 i 件物品的体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。 输出最大价值。 输入格式 第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。 接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。 输...原创 2019-11-28 20:02:06 · 59 阅读 · 0 评论 -
最小生成树
最小生成树是一副连通加权无向图中一棵权值最小的生成树。 解决最小生成树一般有两种算法,克鲁斯卡尔算法(Kruskal Algorithm)和普利姆算法(Prim Algorithm)。 克鲁斯卡尔算法的核心就在带权连通图中,不断地在边集合中找到最小的边,如果该边满足得到最小生成树的条件,就将其构造,直到最后得到一颗最小生成树。用并查集来判断当前路径是否出现过。 普利姆算法的核心步骤是在带权连通图中...原创 2019-11-16 20:06:35 · 910 阅读 · 0 评论 -
并查集
并查集是树形的数据结构,用于处理一些不交集的合并及查询问题。 并查集模板题:https://vjudge.net/problem/19354/origin 通过合并子集将所有相关联的元素归并到一棵树上。 通过递归查找元素的根节点。 #include<cstdio> #include<algorithm> #include<string> #include<...原创 2019-11-15 19:58:49 · 63 阅读 · 0 评论