- 博客(8)
- 收藏
- 关注
原创 带通配符的数 CCF程序设计实训
传参了,发现那个参数是=的情况,有两个分支,大于的那个不说了,接下来说等于的情况,我们还是要判断下剩下的数是大于还是小于等于,如果是大于的话就说明可以取等,得return 1,这个和我们之前说过的递归主体语句一样,但是我在写边界条件甚至是造数据的时候也没有发现这种问题,一定要记住,到了底,一定还要再判断一次!现在知道了,我们之前对于事物的认识不完全准确,马克思主义告诉我们,人民对事物的认识是螺旋上升的,是发展的,通过对数据的研究和穷举,还有之前的失败,我们扩充了现有的方法论。如果取得4,后面那个?
2024-08-26 17:26:07 408 1
原创 最少钱币数 DP,暴力搜索解法
这里讲一下剪枝,对于我们的DFS的搜索,大家其实很想知道它的搜索路径是什么,很明显,深度优先形成一个茎,然后回溯,继续深度优先,那么最后就会形成一颗树,我们为了使这棵树看上去精干一点,就要剪去那些明显是错误的枝条,在这个题目中,如果我们使用的钱币的数量都大于我们之前搜索到的答案了,那么肯定就不得行了,无论它进行到什么程度,反正可以退出了,还要就是,搜素到的值都比要找的m都大的了,哪再怎么凑也不行了,所以说,也要去掉。代码写的有点冗余,其实可以更简洁的,顺带一提,动态规划这里其实也可以剪枝哦。
2024-05-27 21:41:21 1032
原创 多路径问题的几种解决方法
这利用了栈的先进后出LIFO的特性来实现的,那么,如果一条路走到它自己了,那不就证明有环了嘛。本人使用的是双DFS算法,一次DFS的时间代价为O(V+E),设有m个环,接下来还要进行m次DFS,因此时间复杂度为O(m(V+E)),由渐进分析法可知后面遍历全图的时间复杂度可以忽略不计,因此双DFS的时间复杂度是O(m(V+E))剩下的步骤就好办了,我们已经得到所有节点1的极大连通子图和所有成环的节点了,接下来遍历这个极大连通子图,如果这个子节点的状态不是-1(成环),并且入度大于等于2,那么它就是连通的了。
2024-05-19 21:47:56 808
原创 BFS判断方法
对于这道题,我们发现,决定bfs正确与否的关键就是它的顺序,我们一般做图的bfs的时候,并不重视所谓的入队顺序,直接就是图的编号升序排列(如果用的是邻接矩阵的话,遍历行元素所在的列),如果是邻接表的话,广度优先搜索的顺序就是你链表增加的顺序,所以说,我们要在之前并不重视的入队顺序下面下功夫,给一个入队的规则,这个规则如何制定呢?它题目不是会给你一个那个顺序嘛,你就拿那个顺序作为存储邻接表的顺序,只要这样,你每一次入队的顺序都和他题目的一样(只要题目给的序列是对的话)。),代表待检验的顶点序列。
2024-05-14 00:48:29 469 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人