曾经沧海难为水,除却巫山不是云。|

Joey-Wang

园龄:4年2个月粉丝:17关注:0

随笔分类 -  算法笔记

11.8 动态规划专题总结
摘要:11.8 动态规划专题总结 http://codeup.hustoj.com/contest.php?cid=100000632 A 第二题 ❓ 题目解析 1️⃣ 做法一:使用DFS,搜索每一个最小于等于sum/2的子数组,并且找出其中和最接近sum/2的子数组。 一开始写得dfs代码👇时间超时5
54
0
0
11.7 背包问题
摘要:11.7 背包问题 http://codeup.hustoj.com/contest.php?cid=100000631 A 装箱问题 题目解析 这道题其实就是01背包,01背包的二维状态转移方程: 令dp[i][v] 表示前i件物品恰好装入容量为v的背包中所能获得的最大价值 dp[i][v] =
69
0
0
11.1~11.6 动态规划
摘要:11.1~11.6 动态规划 11.2 最大连续子序列 http://codeup.hustoj.com/contest.php?cid=100000626 题目解析 因为要输出序列的首尾元素,所以定义了结构体 代码 #include <cstdio> #include <cstring> #def
71
0
0
10.7 关键路径
摘要:10.7 关键路径 http://codeup.hustoj.com/contest.php?cid=100000627 A 关键路径 题目解析 这道题用了dp做,书p439页有讲解 PS:个人觉得这里输入给出的各顶点abcde没啥用,但有可能不是按照26个英文字母顺序给出的顶点 (我默认顶点是顺序
52
0
0
10.6 拓扑排序
摘要:10.6 拓扑排序 http://codeup.hustoj.com/contest.php?cid=100000623 拓扑排序的重要应用——判断一个给定的图是否是 有向无环 图 A 算法7-12:有向无环图的拓扑排序 题目解析 这道题也没啥好说的,就是注意一点: ⚠️ 用queue结果WA了,样
79
0
0
10.5 最小生成树
摘要:10.5 最小生成树 http://codeup.hustoj.com/contest.php?cid=100000622 A 还是畅通工程 题目解析 没啥可说的,常规题。 Prime算法适合稠密图,邻接矩阵O(V2);邻接表O(V2+E),采取堆优化【用priority_queue】能降低到O(V
166
0
0
10.4 最短路径
摘要:10.4 最短路径 http://codeup.hustoj.com/contest.php?cid=100000621 C 最短路径 题目解析 ❗️这道题有个大坑,一开始用Dijkstra做WA了,每条路的长度(权重)是2^K,K∈[0, 500],所以肯定不能直接存的,会爆int,所以这里用了快
61
0
0
10.3 图的遍历
摘要:10.3 图的遍历 http://codeup.hustoj.com/contest.php?cid=100000620 B 连通图 题目解析 倾向于用邻接表做所有的图题目,因为邻接图要求顶点数目不超过1000,否则内存超限 这道题就是遍历整个图,一次DFS/BFS能完成一个连通子图的遍历,BFS/
64
0
0
9.8 哈弗曼树
摘要:9.8 哈弗曼树 http://codeup.hustoj.com/contest.php?cid=100000617 C 哈弗曼树 题目解析 ⚠️ 树的带权路径长度 = 叶子结点的带权路径长度之和 求树的最小带权路径 = 求哈弗曼树的带权路径 大体思路: 使用优先队列,先将所有叶子结点都压入队列中
63
0
0
9.7 堆
摘要:9.7 堆 http://codeup.hustoj.com/contest.php?cid=100000616 A 算法10-10,10-11:堆排序 题目解析 向下调整downAdjust函数构建最大堆,则heapSort从小到大排序。 代码 #include <cstdio> #include
59
0
0
9.6 并查集
摘要:9.6 并查集 http://codeup.hustoj.com/contest.php?cid=100000615 B 畅通工程 题目解析 第一行n、m,接下来m行为相联系的各个结点。 求将n个结点都联系在一起,还需至少几条关系。 所以只需要找到目前m条联系后,n个结点内有几个并查集ans,最后答
34
0
0
9.5 平衡二叉树
摘要:9.5 平衡二叉树 http://codeup.hustoj.com/contest.php?cid=100000614 A 二叉排序树 题目解析 注意函数L、R、insert的写法,⚠️有& ❗️不要在search返回true/false,这里WA了半天,这样最终只能返回false,大概因为sea
60
0
0
9.4 二叉查找树
摘要:9.4 二叉查找树 http://codeup.hustoj.com/contest.php?cid=100000613 A 二叉排序树 题目解析 唯一的坑在于“输入中可能有重复元素,但是输出的二叉树遍历序列中重复元素不用输出。” 题目中没说。 代码 #include <cstdio> struct
64
0
0
9.3 树的遍历
摘要:9.3 树的遍历 http://codeup.hustoj.com/contest.php?cid=100000612 A 树查找 题目解析 这道题指明树是完全二叉树,依次输入结点。 对完全二叉树当中的任何一个结点(设编号为x),其左孩子的编号是2x,右孩子编号是2x+1 ❗根结点必须从1开始!!!
54
0
0
9.2 二叉树的遍历
摘要:9.2 二叉树的遍历 http://codeup.hustoj.com/contest.php?cid=100000611 D 二叉树遍历 题目解析 ⚠️这道题之所以能用先序遍历就能构造树,是因为把空结点用#表示出来了 ❗️仔细观察create函数,这里char c = pre[i++]; 然后根据
55
0
0
8.2 BFS
摘要:8.2 BFS http://codeup.hustoj.com/contest.php?cid=100000609 A Jugs 题目释义 你有两个杯子A、B和无限量的水,杯子容量是Ca、Cb,问如何通过👇操作,使第二杯中有容量为N的水。 能进行的操作是 "fill A", "empty A",
48
0
0
8.1 DFS
摘要:8.1 DFS http://codeup.hustoj.com/contest.php?cid=100000608 B 【递归入门】组合的输出 题目解析 这题实际是递归求全排列的变体 🆚 求全排列 全排列每次从n个数中选择一个没选过的,最后组成n个数的序列;此处从n个数中选择一个没选过的,最后组
48
0
0
6.9 algorithm头文件下常用函数介绍
摘要:6.9 algorithm头文件下常用函数介绍 http://codeup.hustoj.com/contest.php?cid=100000604 B 全排列 题目解析 ⚠️next_permutation不能对string使用,可对char使用 代码 #include <cstdio> #inc
58
0
0
7.1 栈的应用
摘要:7.1 栈的应用 http://codeup.hustoj.com/contest.php?cid=100000605 6.8 stack的常见用法详解与此节题目相同 A 简单计算器 题目解析 emmmmm代码注释很清楚,标注⚠️的地方都是写代码的时候漏掉的,要注意!!! 一开始没有写node结构体
64
0
0
6.5 queue的常见用法详解
摘要:6.5 queue的常见用法详解 http://codeup.hustoj.com/contest.php?cid=100000600 A C语言-数字交换 题目解析 这道题就需要注意一点⚠️ 有的数字可能要交换两次:如 9 3 4 5 6 2 2 2 2 7 最小数为2,所以若先把最小的和第一个数
129
0
0
点击右上角即可分享
微信分享提示
深色
回顶
展开