- 博客(11)
- 收藏
- 关注
原创 蒙德里安的梦想究极5000字解析——手把手带你想出题解(附究极详细注释代码以及代码分块解析)
求把 N×M的棋盘分割成若干个 1×2的长方形,有多少种方案。例如当 N=2,M=4时,共有 55 种方案。当 N=2,M=3时,共有 33 种方案。
2024-03-22 17:21:48
888
1
原创 整数划分的背包做法原理解释(附代码)
一个正整数 n可以表示成若干个正整数之和,形如:n=n1+n2+…+nk,其中 n1≥n2≥…≥nk,k≥1。我们将这样的一种表示称为正整数 n的一种划分。现在给定一个正整数 n,请你求出 n 共有多少种不同的划分方法。
2024-03-21 15:47:08
356
1
原创 通俗解释为什么kruskal是对的——适合菜鸡的自我说服(附详细注释并查集实现kruskal代码)
kruskal通俗解释附并查集实现kruskal详细注释代码
2024-03-14 17:44:03
201
1
原创 关于python中定义函数的全局变量问题
定义函数时,如果对全局变量进行操作,即使在函数先执行的语句中定义的变量中含有全局变量,其值也会根据全局变量的变化而变化。返回值不为[[2]] 而是[[2],[]]
2023-03-29 14:15:50
45
原创 通过BFS扩展到dijkstra的思路[Python](B站灯神细致版)
若pqueue有值,从pqueue中弹出最小值进行遍历,先遍历A,若A没有出现在seen中,继续,将A放入seen中,记录A到源点的距离(0),依次判断与A相连的节点i,若i没有出现在seen中,继续,记录该点i经过A到源点的距离disi(A到源点的距离+A到该点的距离),把(disi,i)从后往前放入pqueue中(heappush)。因为遍历后源节点会被标为已访问,即已经得到到此点最近的距离,所以我们要在保证得到此距离时进行遍历,且遍历时存储的是此节点最近的距离(点,最短距离)
2023-03-25 13:43:54
188
原创 python算法学习 2023.3.19
找一个有子问题的问题,看看子问题解决后是否会变简单,如果是的,那么就可以用动态规划问题。小偷发现了n个商品,第i个商品价值vi元,重wi千克。也就是说,只切一刀,将问题分为两个子问题,而子问题曾经解决了,并且存储了,看哪个最多即可。即一边切一边不切,也就是分别设最优解中有长度为i的钢条,因为最后的钢条长度一定为1到n中的一个,不会漏掉情况。长度为n的钢条有n-1个切割位置,每个位置都可以选择切或者不切,所以是2^(n-1)最长公共子序列(LCS)问题:给定两个序列X和Y,求X和Y长度的最大的公共子序列。
2023-03-19 16:35:48
63
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人