最小生成树两连 并查集优化的克鲁斯卡尔算法和优先队列+链式前向星优化的普利姆算法 Kruskal Kruskal是常用的最小生成树算法,算法利用贪心思想,每次选择没用过且不构成环的边的最小边,直到选择了n 1条边,通常我们用并查集这个数据结构去优化,优化后的Kruskal算法复杂度是$O(mlogm ...
分类:
其他好文 时间:
2020-04-07 12:27:31
阅读次数:
86
题目大意: mhy住在一棵有n个点的树的1号结点上,每个结点上都有一个妹子。 mhy从自己家出发,去给每一个妹子都送一台电脑,每个妹子拿到电脑后就会开始安装zhx牌杀毒软件,第i个妹子安装时间为。 树上的每条边mhy能且仅能走两次,每次耗费1单位时间。mhy送完所有电脑后会回自己家里然后开始装zhx ...
分类:
其他好文 时间:
2020-04-07 12:21:13
阅读次数:
77
"智力大冲浪" 翻了翻题解发现没有并查集解法(眼瞎勿怪),于是水一发题解。(貌似跑得比某些题解快) 首先肯定是尽量做减少价格大的任务,所以就按照价值从大到小排个序。 然后就有并查集的玄学操作了: 1. 找到商品 $i$ 的祖先 $find(i)$。 2. 倘若 $find(i)!=0$ ,加上 $i ...
分类:
其他好文 时间:
2020-04-06 21:03:56
阅读次数:
81
题目描述: 如果字符串中不含有任何 'aaa','bbb' 或 'ccc' 这样的字符串作为子串,那么该字符串就是一个「快乐字符串」。 给你三个整数 a,b ,c,请你返回 任意一个 满足下列全部条件的字符串 s: s 是一个尽可能长的快乐字符串。 s 中 最多 有a 个字母 'a'、b 个字母 ' ...
分类:
其他好文 时间:
2020-04-06 09:41:14
阅读次数:
87
树的直径指树上距离最远的两点间的距离,它在树上问题上有许多应用,往往通过树的直径的性质可以将一个高时间复杂度的解法变为线性求解。对于树上两点间距离通常有三种定义,我们根据这三种情况分别讨论一下它的性质 树的直径的求法: 树的直径有两种求法,时间复杂度都是O(n) ①贪心求法: 贪心求直径的方法是任意 ...
分类:
其他好文 时间:
2020-04-06 00:02:27
阅读次数:
131
一个经典的通过增长减小大小来求使得序列单调性的最小代价。 对于这道题,有一个前置题是不要求要严格单调,而是不严格单调 这样的话,我们可以得到一个性质,最后所有的值都是在原序列当中的,这其实用贪心的想法想一想就好,因为一旦通过加减与左边或右边相等,就没必要再加减了 但是本题要求严格,这就很难说了,因此 ...
分类:
其他好文 时间:
2020-04-05 18:13:38
阅读次数:
132
Dreamoon likes coloring cells very much. There is a row of nn cells. Initially, all cells are empty (don't contain any color). Cells are numbered from ...
分类:
其他好文 时间:
2020-04-05 09:27:58
阅读次数:
78
贪心算法 算法描述 什么是贪心算法呢?贪心算法可以认为是动态规划算法的一个特例,相比动态规划,使用贪心算法需要满足更多的条件(贪心选择性质),但是效率比动态规划要高。 比如说一个算法问题使用暴力解法需要指数级时间,如果能使用动态规划消除重叠子问题,就可以降到多项式级别的时间,如果满足贪心选择性质,那 ...
分类:
编程语言 时间:
2020-04-05 00:45:41
阅读次数:
78
题目直接链接 分析一下: 这题题意还是比较明白的(少见的一道中文题),他的意思就是:有这么一个无向图:保证联通且点与点直接有唯一的简单路径(说白了就是棵树,根节点是1),每个节点有一个权值(有正有负)和最多经过的次数(>=2),求从根到根的走法中能拿到的最大权值(每个权值只能拿一次,根没有权值,且不 ...
分类:
其他好文 时间:
2020-04-04 18:42:21
阅读次数:
69
题意:给出n个格子,按顺序进行m种操作,每种操作能把l [ i ] 个格子涂成一种颜色。 现要求每种颜色至少出现在一个格子上,切所有格子都要涂上颜色。求每种操作开始涂的位置。 先把所有操作长度加起来,如果小于n则一定不成立。 贪心的涂格子,保证前面的操作尽可能的小且要满足涂满格子。 把每一种颜色的长 ...
分类:
其他好文 时间:
2020-04-04 15:02:17
阅读次数:
93