- 博客(3)
- 收藏
- 关注
原创 c++算法问题——种树
这段代码旨在解决一个种树规划相关的问题,具体功能是接收若干种树建议(包含种树区间和种树数量),通过合理安排种树位置,计算出满足所有种树建议最少需要种多少棵树。它通过定义结构体来表示种树建议,使用动态数组来记录种树的实际位置,并且经过一系列的合法性检查、排序以及遍历操作来实现最终的计算。Node结构体int start;int end;int num;} Node;用于表示每条种树建议,其中start表示种树区间的起始点,end表示种树区间的结束点,num表示在该区间需要种的树的数量。结构体。
2024-12-12 23:18:34
1004
原创 回溯算法基础
它采用深度优先搜索(DFS)的方式,在搜索过程中,当发现当前路径不可能达到目标解(例如违反了某些约束条件等)时,就回退到上一步,尝试其他的选择,如此反复,直到遍历完所有可能的情况或者找到目标解为止。如果在某个位置发现所有元素都已经尝试过了但还没得到完整的排列,就回溯到上一个位置(撤销上一次的选择),换另外的元素继续尝试,直到生成所有可能的排列为止。位置与后续位置的元素,做出选择后递归进入下一层,处理完下一层后再通过再次交换元素来撤销之前的选择,实现回溯,继续尝试其他可能的排列。函数中,定义了测试用的数组。
2024-12-12 22:44:41
556
原创 让所有学生保持开心的分组方法数(解题思路)
往后(也就是后缀部分)没有元素可以和前面构成特定分组了,这种情况符合要求,所以将。数组进行升序排序,方便后续按照顺序去比较元素和索引的大小关系。之前(即前缀部分)不存在元素来参与分组,这种情况也符合要求,同样将。用于记录满足条件的分组方式数量,后续会根据不同情况进行累加。和其后面部分可以构成一种满足条件的分组方式,将。的值,也就是统计出的满足条件的分组方式的总数量。,如果这两个条件同时满足,说明当前区间。,如果满足这个条件,意味着从索引。,若满足此条件,则说明在索引。通过判断数组中最后一个元素。
2024-12-12 22:31:26
506
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅