- 博客(132)
- 收藏
- 关注
原创 2025春新生培训——动态规划
动态规划(Dynamic Programming)这一算法并不能望文生义,如果你说动态规划使用动态数组写的,那么就太离谱了,实际上,动态规划往往指在解决问题时发现大问题可由小问题解决,而小问题存在最优解,进而可以优化掉大量不必要的计算。这一点与贪心类似,然而贪心往往是基于当前状态做出的最优解,而动态规划需要根据之前状态做出调整。
2025-03-09 07:46:48
512
原创 2025春新生培训数据结构(树,图)
邻接表会用节点数目的平方的空间,因此这往往并不适用于节点数目较多而边数较少的情况,所以我们往往会采用另一种方式:仅仅去记录关系。大家试想一下,我们现在已知的几种数据结构:栈,队列,链表......这些结构都有一个特点,就是线性的。有许多的人,我们知道a比b年龄大,a比c大,d比c大,d比e大......该如何记录这样的信息呢?这就是一个邻接表, 我们可以从中看出 a 比 b 大, a 比 c大, b 比 c 大。已知有三个人a, b, c, 已知a > b, b > c, a > c。
2025-03-01 00:16:56
1087
原创 codeforces 986 B Alice‘s Adventures in Permuting
当 b == 0, 那么就会出现无法全排列的情况,即最后有两个以上的数在末尾。可以把情况分为两类,b == 0,b >= 1。
2024-11-15 18:36:26
299
原创 2024NENU新生培训_排序_习题
上节课我们说 cin 在各方面优于 scanf,但是在某些情况,cin 没有 scanf 好用。1,如果输入输出达到几十万,cin,cout慢,需要优化。2,如果输出几位小数。3,如果输入某种格式。
2024-11-05 12:33:33
170
原创 AcWing 1074 二叉苹果树 树形dp(有依赖的背包问题简化版)
【代码】AcWing 1074 二叉苹果树 树形dp(有依赖的背包问题简化版)
2024-11-04 20:15:56
77
原创 AcWing 1073 树的中心 树形dp (详解)
这道题目非常有新意,在过去,我们通常先访问子节点去更新父节点的状态,但是这道题我们还需要从父节点去更新子节点。我们可以想象为向上和向下两个方向,我们任取一点,先向下走,再回来更新上面的点,这样我们就能得出向下的最长距离和次长距离,同时记录最长距离是走哪个点获得的。然后我们再次深搜,对每个点用这个点去更新他所有子节点,因为他的子节点的最大向上值就是他的最大向上值或者向下最长距离或者次长距离加上这两点间的距离。
2024-11-04 13:57:48
332
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人