- 博客(64)
- 收藏
- 关注
原创 A*搜索算法 双向A*搜索算法 Julia实现
抽象的在图GVEG = (V, E)GVE上的 BFS 过程可以看作这样:(1) 设CCC点集表示已遍历的点,∀n∈Cdn∀n∈Cdn表示源点sss到点nnn的最短距离,OOO点集表示可遍历的点,∀n∈Ogn∀n∈Ogn表示源点sss到点nnn的当前最短距离,初始状态C∅Osgs0C∅Osgs0;(2) 从OOO中取本轮遍历点nkn_knk满足nkarg min。
2024-08-04 20:16:09 675
原创 二维凸包算法 Julia实现
问题描述:给定平面上n个点的集合Q,求其子集P构成Q的凸包,即∀p∈Q∃p0p1p2∈P使得点p在以点p0p1p2构成的三角形中或边上。
2024-08-04 15:07:27 907
原创 组合优化与凸优化相关算法 Julia实现
线性规划方法有单纯形法(简单,非多项式),椭圆法(复杂,多项式,仅有理论价值),内点法(非多项式,实际效率高)。以例子说明,目标函数minz=0x1+0.1x2+0.2x3+0.3x4+0.8x5\min z = 0 x_1 + 0.1 x_2 + 0.2 x_3 + 0.3 x_4 + 0.8 x_5minz=0x1+0.1x2+0.2x3+0.3x4+0.8x5约束条件s.t.{x1+2x2+x4=1002x3+2x4+x5=1003x1+x2+2x3+3x5=100x1,x2,x
2024-08-03 18:50:57 835
原创 ID3算法 决策树学习 Python实现
此情况下信息增益过小,可以终止决策,将当前节点标签设为最高频类。未知属性值(unknown value),数据集中某些属性值不确定。输入:约束决策树生长参数(最大深度,节点最小样本数,可选),训练集(特征值离散或连续,标签离散)。对于某个连续属性,取训练集中所有属性值的相邻两点中点生成界点集,按每个界点将当前节点样本分为。过程:每次选择信息增益最大的属性决策分类,直到当前节点样本均为同一类,或者信息增益过小。类,当前节点待分类样本中每类样本的个数分别为。,可以终止决策,将当前节点标签设为最高频类。
2024-01-29 10:52:14 1389
原创 HIT 模式识别 手写汉字分类 Python实现
训练集数据 TrainSamples-400.csv,含 100 个不同汉字,每个汉字 400 个实例,每个实例均为 64*64 的二值图像;训练集标注TrainSamples-400.csv,为 40000 个 0 到 99 间的整数,表示训练集中每个实例所属汉字类别;测试集数据 TestSamples-300.csv,为 30000 个实例,每个实例格式同训练集。要求标注测试集,输出 Result.csv。
2023-11-19 15:13:03 850 2
原创 推箱子 BFS解法 C语言实现
Sample 1Input 14 4 .. .BGGB.P...Output 117DDDWAAWWDSASSDDWASample 2Input 24 5.. G.BBBG..C..P. .GOutput 221WDDDWDSAAAAWWDSASDWDDSample 3Input 35 5......BGB.GC CG.BGB.P....Output 332DDWASAWSDDDDWADWWWAASDWDSWAAAASDSample
2023-07-09 15:52:13 188
原创 多项式乘法问题的快速傅里叶变换算法简述
给定多项式 $A(x) = \Sigma_{i = 0}^n a_i x^i, B(x) = \Sigma_{i = 0}^m b_i x^i$ 的系数 $a_{0 .. n}, b_{0 .. m}$,求其多项式乘积 $C(x) = A(x) B(x) = \Sigma_{i = 0}^{m + n} c_i x^i$ 的各项系数 $c_{0 .. n + m}$
2022-12-23 16:49:55 718
原创 插头型动态规划与铺地问题的延申
1*2 密铺优化问题的处理问题:长 n 宽 m 以 1*2 铺,若干地不可铺,求最多铺数或方案数。m 极小,一般不超过 15。正解是轮廓线动态规划,一行行处理。次一点的做法是插头型动态规划,一个个处理。2*2 和 1+2 密铺优化问题的处理以插头型动态规划解决这类问题的核心是设计每个块的插头,设计理念是避免歧义,为此可能引入更多种插头。互不相邻条件和权值优化问题的处理例如,2*2 权值 3,1+2 权值 2,要求 2*2 互不相邻,优化最大权值和。引入新插头满足不相邻条件。将权值分散至每
2022-02-05 14:39:29 515
原创 HIT 信息隐藏基础 算法整理
本文是对 HIT 课程信息隐藏技术基础中出现的诸多算法的概括性总结。若无特殊说明,仅对灰度图像进行讨论。在此说明,因为嵌入算法和提取算法成对存在,所以本文在介绍二者时有意模糊其先后关系,相比在当初设计算法之时二者诞生并无先后,甚至有些嵌入算法会调用提取算法作为子步骤,在仅有载体和嵌入信息为先的现实面前实在是一对有趣的矛盾。BMP 图像和 JPEG 图像隐写BMP 图像由位图文件头(14 字节,包含文件类型,大小,偏移字节),位图信息头(40 字节,包括图像尺寸,通道,颜色位数),彩色表(即调色板,可
2021-08-26 20:20:04 1292
原创 用一条曲线遍历整个平面 浅析 Hilbert 曲线及其变种在 Turtle 上的设计与实现
本文主要介绍如何用多重递归的方法以 Turtle 实现 Hilbert 分形曲线的画法。首先给出基本的绘图函数:void Turtle::forward(Turtle turtle, int sideLength); // turtle 从当前位置前进 sideLength 距离并绘制void Turtle::turn(Turtle turtle, double angel); // turtle 从当前方向顺时针旋转 angle 度正方形迭代先从基本的 Hilbert 曲线开始说明。对于任一阶数
2021-05-24 18:53:41 944 1
原创 高斯混合模型 EM算法 聚类问题 Python实现
初始化模型参数 {(αi,μi,Σi)∣1≤i≤k}\{(\alpha_i, \mu_i, \Sigma_i) | 1 ≤ i ≤ k\}{(αi,μi,Σi)∣1≤i≤k},迭代公式如下:γji=αi⋅p(xj∣μi,Σi)∑l=1kαl⋅p(xj∣μl,Σl)\gamma_{ji} = \frac{\alpha_i \cdot p(x_j | \mu_i, \Sigma_i)}{\sum_{l = 1}^k \alpha_l \cdot p(x_j | \mu_l, \Sigma_l)}γji
2021-02-16 13:32:11 879
原创 隐马尔科夫模型 Viterbi算法 Python实现
已知初始状态概率向量 pi,状态转移概率矩阵 P,发射概率矩阵 B,求观察序列为 O 的条件下状态序列为 Q 的概率。代码如下:def HMM_ProCond(pi, P, B, Q, O): Q, O = [q - 1 for q in Q], [o - 1 for o in O] N, proNume, proDeno, proCond = len(pi[0]), - numpy.log(pi[0][Q[0]]) - numpy.log(B[Q[0]][O[0]]), 0, []
2021-02-16 12:49:29 520
原创 HIT2018春校赛 J题 略解
题目描述如下:25 个互不相等的数,每次比较 5 个数的相对大小,要求最大数和次大数,求最优策略下比较次数的期望值(是个确定的值)。T 组数据,每组输入 N,输出期望精确到小数点后 N 位。据说此题为 HIT2018 春校赛 J 题,但因笔者当时未参加,真实性未知。通过观察样例输入输出,大胆猜测期望为 6.966666…,即 209/30,于是得到满分算法。代码如下:#include<...
2020-01-27 12:14:05 215
原创 HIT2018春校赛 I题 略解
题目描述如下:甲乙丙丁四人游戏,甲有二整数 X 和 Y,四人已知 2 <= X <= Y <= N,但乙丙丁未知 X 和 Y 确值。现在,甲告诉乙 X + Y 的值,甲告诉丙 X * Y 的值,下面四人对话:乙:我不知道 X 和 Y 的确值,但我知道丙不知道 X 和 Y 的确值;丙:我原不知道 X 和 Y 的确值,但我现在知道 X 和 Y 的确值了;乙:我现在也知道 X 和...
2020-01-21 13:15:24 244
原创 NOIP2017D1T2 时间复杂度 题解
(题目描述略)注意以下情况:FE 不匹配导致 ERR,包括 F 多于 E 导致代码结束后循环未全部跳出,和 F 少于 E 导致代码执行过程中跳出代码块两种情况;循环中可能包含多个同级循环,故需栈保存当前循环变量名和当前循环复杂度,F 进栈,E 出栈;循环变量名生存期为相应循环 F 到 E,出栈后即刻销毁,不参与之后变量名同名查询;循环范围 x 到 y 有以下三种情况:(字母 n 的 A...
2019-02-09 11:21:35 436
原创 NOIP2017P4 跳房子 题解
(题目描述略)二分答案加动归,设 fif_ifi 为到达第 iii 格最大分数,则 fi=max(fj)+sif_i = max(f_j) + s_ifi=max(fj)+si,jjj 满足 j&lt;ij &lt; ij<i 且 xi−d−g≤xj≤xi−d+gx_i - d - g ≤ x_j ≤ x_i - d + gxi−d−g≤xj≤xi−d+g,为...
2019-02-08 15:21:53 626
原创 NOIP2016P4 魔法阵 题解
(题目描述略)设魔法值为 j 物品 numjnum_jnumj 个,则魔法阵 xa,xb,xc,xdx_a, x_b, x_c, x_dxa,xb,xc,xd 对于 A, B, C, D 物品贡献分别为 numxb∗numxc∗numxd,numxa∗numxc∗numxd,numxa∗numxb∗numxd,numxa∗numxb∗numxcnum_{xb} * num_{xc} *...
2019-02-07 12:37:01 357
原创 NOIP2018P4 对称二叉树 题解
(题目描述略)其实本题暴力做法 O(nlogn)O(nlogn)O(nlogn) 可过(若子树大小相等则暴力判断),可惜笔者未能想到,只能想出 O(n)O(n)O(n) 的算法。将二叉树每节点深度按中序排列,若某子树所在区间回文则该子树结构对称;将二叉树每节点权值按中序排列,若某子树所在区间回文则该子树权值对称;满足结构对称和权值对称则为对称二叉树。这样,本题转化为判断数组上 n 个区间...
2019-02-06 12:40:47 576
原创 HIT2018秋校赛 略解
A题目大意:给两个长度均为 N 数组 L1..nL_{1 .. n}L1..n 和 G1..nG_{1 .. n}G1..n,正反序比对,是否相应位置元素均有 Li≤GiL_i ≤ G_iLi≤Gi。水题,代码如下:...
2019-02-05 15:09:47 444 1
原创 平面最近点对 平方级算法 绝对值不等式
题目大意:给 n 个整点,求其最近点对距离。算法思路:第一步,将点 1 到点 n-1 按距离点 0 由近及远排序,重编号点 1 到点 n-1;第二步,设当前最小距离 answer := Distance(Point_0, Point_1),从点 1 到点 n-2 依次进行以下操作;第三步,对于点 i,从点 i+1 到点 n-1 依次查询与点 i 的距离,若更近则更新当前最小距离 answe...
2018-11-07 13:25:35 305
原创 矩阵 LUP 分解 解线性方程组 求行列式值 矩阵求逆 算法说解
本文着笔于矩阵 LUP 分解算法,以及利用矩阵的 LUP 分解来解线性方程组、求矩阵对应行列式的值、求逆矩阵。
2018-09-21 14:35:07 4933
原创 自顶而下伸展树 数据结构说解
伸展树是一棵二叉搜索树,但不保存每个节点的平衡信息,也没有特定的规则来保证伸展树的平衡性,而是在维护操作中通过将待维护的节点伸展到根来维持平衡。由于笔者在本文中实现的是自顶而下伸展树,故树上的每个节点不保存其父节点,只保存左右子节点和权值以提高效率。
2017-03-12 09:58:45 594
原创 配对堆 数据结构说解
一个配对堆是一棵满足堆序性质的树,树上每个节点保存其关键字、子节点指针、兄弟节点指针和前驱指针。当该节点为其父节点的第一个儿子,即父节点的子节点指针指向该节点时,该节点的前驱指针指向其父节点;否则该节点的前驱指针指向该节点的前一个兄弟,即该节点的前驱指针指向的节点的兄弟节点指针指向该节点。
2017-03-10 14:05:24 1276
原创 van Emde Boas 树 数据结构说解
直观上看,vEB 树保存了一个有序的集合,并支持以 O(lglgn) 的时间复杂度在 vEB 树上进行最小最大值查询、单值存在性查询、单值前驱后继查询、单值插入维护、单值删除维护的数据结构。
2017-03-04 17:23:29 4591
原创 斐波那契堆 数据结构说解
根据《算法导论》的定义,一个斐波那契堆是一系列具有最小堆序的有根树的集合。也就是说,每棵树均遵循最小堆性质:每个节点的关键字大于或等于它的父节点的关键字。
2017-02-26 21:01:21 680
原创 二项堆 数据结构说解
二项堆(binomial heap)又称二项队列(binomial queue),是由若干棵堆序树,称之为二项树(binomial tree)组成的集合,即由若干棵二项树组成的森林。在一个二项堆中,满足所有二项树的大小都是二的次幂,且任意两棵二项树的大小互不相同。
2017-01-27 22:58:13 1236
原创 红黑树 数据结构说解
红黑树是一棵二叉搜索树,它在每个节点上增加了一个存储位来表示节点的颜色,可以是 RED 或 BLACK。通过对任何一条从根到叶子的简单路径上各个节点的颜色进行约束,红黑树确保没有一条路径会比其他路径长出两倍,因而是近似于平衡的。
2016-12-31 02:11:14 503
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人