- 博客(15)
- 收藏
- 关注
原创 9*9数独求解算法(C++)
2.尝试过程优化,先用行列与九宫格约束法把能确定的格子先填上,再对未填的格子执行回溯算法,1.使用递归法实现回溯策略,依次对候选数(1-9)逐个进行合法性判定,完成数独。
2025-02-23 16:50:20
205
原创 蒙特卡洛算法(C++)
的近似估计真实值的方法,可以近似估计出圆周率π和一些被积函数比较复杂不容易求出积分的积分值。(N∈N*),则按几何概率,当N很大时,落在圆中数量为。假设在正方形内投掷随机点数量为。蒙特卡洛算法是一个基于。
2025-02-09 13:10:25
181
原创 装备合成求最大可合成数量算法题
中分别需要的每个叶子结点的count数量,最后根据当前每个叶子结点拥有的item.count数量,求出真正的。1.暴力穷举法,穷举合成过程得出结果,时间代价较大,数据量大时不可取。以下我提供2种解题代码:(该问题主要还是要对树作遍历)代价求出当前拥有的金币最多。2.枚举优化算法,①先按。可以合成的目标装备数量。可以合成的目标装备数量。可以合成的目标装备数量。不允许修改Run函数。
2023-09-14 11:50:47
519
2
原创 数字序列分组算法
例如1, 1, 2, 2, 2, 3, 3, 3, 4,可分为 123 123 234(完全分组),注意:若先把222 333分为一组,则会导致出现bug,判断为不可完全分组。的数,当所有的数都可以被分组,则为完全分组。设计一个算法,判断数组是否能完全分组。,循环查找结束之后,判断有无完全分组。(原理同上),得出可不可完全分组。查到一种,最慢指针 i 才可以右移。再将还没标记的数按连续数方式查找。若得出不可完全分组,再将该数组。循环查找相同数和连续数,
2023-08-20 23:25:59
1040
1
原创 二维数组排序(c++)
那有没有办法能减少for循环的层数呢?那就用空间换时间吧,申请一个辅助一维数组,存储该二维数组,也就是。不采用辅助数组,直接对二维数组进行排序,二维数组直接排序的最大问题是当访问到某行的最后一列时(例如。然后直接对一维数组中的数据排序,完成后还原成二维数组输出就行了。法一的行间排序用了4层for循环,也就是时间复杂度为。),下个元素也就是下一行的第一个元素的行下标为。第n行的元素必定
2023-05-21 18:56:21
4039
1
原创 c++ queue队列解约瑟夫环问题
因为总是从小到大报数,符合编号排序,所以用队列按顺序存储这m个人,按照先进先出原则,报到数的结点出队(无论是不是报到n的那个人),紧接着如果该结点不是数到的第n个结点,就立马在队尾处加上。从编号为 1 的人开始报数,数到 n 的那个人出局,他的下一个人又从 1 开始报数,数到 n 的那个人又出局,依次规律重复下去,直到全部出局,将出局的人依次显示出来。分别用编号 1, 2, ..., m 表示。
2023-05-21 00:25:33
347
1
原创 含进位规则计数器还原真实值(缝4添1)
/十进制位数存储序列,Digits[0]为第lg(x / top_digit) == 0位,Digits[1]为第lg(x / top_digit) == 1位,以此类推。
2023-03-19 18:42:10
231
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人