- 博客(17)
- 收藏
- 关注
原创 LeetCode1857[困难].有向图中最大颜色值(拓扑+dp详解)
这道题就是在拓扑排序的主循环中加入一个更新最大值的逻辑,最大值的更新恰好依赖于拓扑排序老节点->新节点的路径特性。
2025-05-26 10:52:54
281
原创 Leetcode 19 删除链表倒数第n个节点(递归解法)
第一想法就是递归,思路来源于206.反转链表。题解用了栈,从某种程度来说跟递归思路差不多。
2025-05-21 12:00:27
132
原创 洛谷P1149 火柴棒等式
这道题做麻烦了,我挨个算了1,2,3.....n根火柴能拼出来的所有的数,其实枚举数然后看需要多少火柴更简单。我的思路是逆向的。
2023-01-04 14:02:51
167
原创 洛谷P1103 书本整理(c语言 详解)
这道题是一道dp,难点在于:1.如何定义dp。2.如何写状态转移方程。我们将dp[i][j]定义为:从前i本书中选出j本书,其中,第i本书是必选的(后面会考虑不选第i本的情况)在我们假设了第i本必选的情况下,前i本选j本的不整齐度就变成了:前t本选j-1本(其中第t本必选)的不整齐度+第t本书与第i本书的宽度差。t是什么?——是一个用于枚举的变量。因为我们在选定第i本书的情况下,不知道前面的书怎么选,所以我们借助t,把i前面的书所有选法都枚举出来!
2023-01-04 12:39:15
712
1
原创 排列组合之——全组合(c语言)
因此,我们选择的策略是:选择一个数放在第一位,然后选择这个数之后的一个数据放在第二位,然后再选第二个数之后的一个数放在第三位,以此类推,通过循环依次选择数据,我们可以实现不重复地列出所有组合。
2022-11-09 22:52:57
2185
1
原创 排列组合之——全排列(c语言)
从第一位数开始排列。我们先取第一个数,它可以是1 2 3 4 5中任何一个,假如我们选择了2,那么第一位为2的全排列即为1345的全排列,然后第二位可以取1345中任何一个数,那么这四个数的全排列又成了后三个数的全排列,如此每次取一个数来简化问题,直到最后一个数。
2022-11-09 22:31:51
9380
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人