摘要:
前置知识:最小生成树算法(Kruskal/Prim) 例题 算法分析: 这一道题中给出一个无向图,求从任意一点开始经过每一点的最短路径。 既然要经过每一个点,还要求最短路径,算法就是最小生成树了。 我用的是 Kruskal 算法。 有一点需要注意:每条路的长度需要如何计算? 约翰需要经过每一条道路两 阅读全文
posted @ 2022-04-12 21:29
Plozia
阅读(44)
评论(0)
推荐(0)
摘要:
这道题是一道搜索题,一种思路是直接对每一个数做出选与不选的判断,时间复杂度 \(O(2^n)\) 。在这种时间复杂度下,只能通过 \(n \leq 30\) 的数据。 如何进行优化呢?以下是我的优化: 改变搜索顺序。这一道题的输入数据是一个不下降序列,如果我们把小的数放在前面,而 \(C\) 又比较 阅读全文
posted @ 2022-04-12 21:28
Plozia
阅读(60)
评论(0)
推荐(0)
摘要:
题目大意: 给出 \(N\) 个数,分别为 \(a_1,a_2,...,a_n\) 。将其中任意两个数进行首尾相接组合,每个数只能使用一次,求最大能获得3的倍数的个数。 题解: 此题出现了“3的倍数”,根据数学知识,易得如果一个数的各位数字之和是3的倍数,那么这个数是3的倍数。反过来也成立。 那么, 阅读全文
posted @ 2022-04-12 21:28
Plozia
阅读(83)
评论(0)
推荐(0)
摘要:
这道题就是并查集的练手好题QAQ 如果对并查集不熟悉的同学可以做一下这道题 来看一下题目: 给出A地区的村庄数N,和公路数M,公路是双向的。并告诉你每条公路的连着哪两个村庄,并告诉你什么时候能修完这条公路。问最早什么时候任意两个村庄能够通车,即最早什么时候任意两条村庄都存在至少一条修复完成的道路(可 阅读全文
posted @ 2022-04-12 21:27
Plozia
阅读(80)
评论(0)
推荐(0)
摘要:
题意简化: 有$N$个数,第i个数为$a_{i}$,你需要选出至多$M$个子序列,使得每一个子序列的和都<=k,并且这些子序列在原序列里面必须连续且靠右。问能选出多少个数。 1.暴力 我们可以枚举一个数$i$(1<=$i$<=$N$),表示前i个数不选,选第$i+1$到第$N$个数,再利用如下的代码 阅读全文
posted @ 2022-04-12 21:26
Plozia
阅读(49)
评论(0)
推荐(0)

浙公网安备 33010602011771号