自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

原创 ID3算法 决策树学习 Python实现

此情况下信息增益过小,可以终止决策,将当前节点标签设为最高频类。未知属性值(unknown value),数据集中某些属性值不确定。输入:约束决策树生长参数(最大深度,节点最小样本数,可选),训练集(特征值离散或连续,标签离散)。对于某个连续属性,取训练集中所有属性值的相邻两点中点生成界点集,按每个界点将当前节点样本分为。过程:每次选择信息增益最大的属性决策分类,直到当前节点样本均为同一类,或者信息增益过小。类,当前节点待分类样本中每类样本的个数分别为。,可以终止决策,将当前节点标签设为最高频类。

2024-01-29 10:52:14 1182

原创 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 734 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 161

原创 区间修改区间查询问题的基于树状数组数据结构的算法简述

数据结构:树状数组

2023-01-05 16:32:13 361

原创 多项式乘法问题的快速傅里叶变换算法简述

给定多项式 $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 642

原创 插头型动态规划与铺地问题的延申

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 488

原创 HIT 信息隐藏基础 算法整理

本文是对 HIT 课程信息隐藏技术基础中出现的诸多算法的概括性总结。若无特殊说明,仅对灰度图像进行讨论。在此说明,因为嵌入算法和提取算法成对存在,所以本文在介绍二者时有意模糊其先后关系,相比在当初设计算法之时二者诞生并无先后,甚至有些嵌入算法会调用提取算法作为子步骤,在仅有载体和嵌入信息为先的现实面前实在是一对有趣的矛盾。BMP 图像和 JPEG 图像隐写BMP 图像由位图文件头(14 字节,包含文件类型,大小,偏移字节),位图信息头(40 字节,包括图像尺寸,通道,颜色位数),彩色表(即调色板,可

2021-08-26 20:20:04 937

原创 用一条曲线遍历整个平面 浅析 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 804 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 838

原创 隐马尔科夫模型 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 467

原创 HIT2018春校赛 J题 略解

题目描述如下:25 个互不相等的数,每次比较 5 个数的相对大小,要求最大数和次大数,求最优策略下比较次数的期望值(是个确定的值)。T 组数据,每组输入 N,输出期望精确到小数点后 N 位。据说此题为 HIT2018 春校赛 J 题,但因笔者当时未参加,真实性未知。通过观察样例输入输出,大胆猜测期望为 6.966666…,即 209/30,于是得到满分算法。代码如下:#include<...

2020-01-27 12:14:05 191

原创 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 203

原创 NOIP2017D1T2 时间复杂度 题解

(题目描述略)注意以下情况:FE 不匹配导致 ERR,包括 F 多于 E 导致代码结束后循环未全部跳出,和 F 少于 E 导致代码执行过程中跳出代码块两种情况;循环中可能包含多个同级循环,故需栈保存当前循环变量名和当前循环复杂度,F 进栈,E 出栈;循环变量名生存期为相应循环 F 到 E,出栈后即刻销毁,不参与之后变量名同名查询;循环范围 x 到 y 有以下三种情况:(字母 n 的 A...

2019-02-09 11:21:35 387

原创 NOIP2017P4 跳房子 题解

(题目描述略)二分答案加动归,设 fif_ifi​ 为到达第 iii 格最大分数,则 fi=max(fj)+sif_i = max(f_j) + s_ifi​=max(fj​)+si​,jjj 满足 j&amp;lt;ij &amp;lt; ij&lt;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 582

原创 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 325

原创 NOIP2018P4 对称二叉树 题解

(题目描述略)其实本题暴力做法 O(nlogn)O(nlogn)O(nlogn) 可过(若子树大小相等则暴力判断),可惜笔者未能想到,只能想出 O(n)O(n)O(n) 的算法。将二叉树每节点深度按中序排列,若某子树所在区间回文则该子树结构对称;将二叉树每节点权值按中序排列,若某子树所在区间回文则该子树权值对称;满足结构对称和权值对称则为对称二叉树。这样,本题转化为判断数组上 n 个区间...

2019-02-06 12:40:47 520

原创 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 389 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 278

原创 矩阵 LUP 分解 解线性方程组 求行列式值 矩阵求逆 算法说解

本文着笔于矩阵 LUP 分解算法,以及利用矩阵的 LUP 分解来解线性方程组、求矩阵对应行列式的值、求逆矩阵。

2018-09-21 14:35:07 4796

原创 HDU1693 Eat the Trees 题解

算法:轮廓线动态规划(递推)

2017-04-14 09:13:21 631

原创 HDU2167 Pebbles 题解

算法:轮廓线动态规划

2017-04-14 09:12:38 335

原创 HDU1565 方格取数(1) 题解

算法:轮廓线动态规划

2017-04-14 09:11:48 848

原创 POJ2411 Mondriaan's Dream 题解

算法:轮廓线动态规划(递推)

2017-04-14 09:09:34 423

原创 HNOI2012D1T3 排队 题解

算法:组合数学,高精度

2017-04-04 23:09:40 354

原创 HNOI2016D1T3 树 题解

算法:倍增求 LCA 数据结构:划分树,树分块/树套树

2017-04-04 20:40:05 545

原创 线性规划与网络流 24 题 题解

算法:最大流 Dinic,费用流 SPFA 第八题 机器人路径规划问题 未解决

2017-03-26 15:52:08 731

原创 自顶而下伸展树 数据结构说解

伸展树是一棵二叉搜索树,但不保存每个节点的平衡信息,也没有特定的规则来保证伸展树的平衡性,而是在维护操作中通过将待维护的节点伸展到根来维持平衡。由于笔者在本文中实现的是自顶而下伸展树,故树上的每个节点不保存其父节点,只保存左右子节点和权值以提高效率。

2017-03-12 09:58:45 572

原创 后缀数组倍增构造算法说解

算法:倍增数据结构:后缀数组

2017-03-10 16:31:09 708

原创 配对堆 数据结构说解

一个配对堆是一棵满足堆序性质的树,树上每个节点保存其关键字、子节点指针、兄弟节点指针和前驱指针。当该节点为其父节点的第一个儿子,即父节点的子节点指针指向该节点时,该节点的前驱指针指向其父节点;否则该节点的前驱指针指向该节点的前一个兄弟,即该节点的前驱指针指向的节点的兄弟节点指针指向该节点。

2017-03-10 14:05:24 1241

原创 BZOJ1251 序列终结者 题解

数据结构:伸展树

2017-03-10 13:15:28 651

原创 BZOJ3223 文艺平衡树 题解

数据结构:伸展树

2017-03-10 12:20:33 393

原创 van Emde Boas 树 数据结构说解

直观上看,vEB 树保存了一个有序的集合,并支持以 O(lglgn) 的时间复杂度在 vEB 树上进行最小最大值查询、单值存在性查询、单值前驱后继查询、单值插入维护、单值删除维护的数据结构。

2017-03-04 17:23:29 4491

原创 BZOJ3685 普通 van Emde Boas 树 题解(vEB 树模板题)

数据结构:van Emde Boas 树

2017-03-04 14:53:49 1079

原创 斐波那契堆 数据结构说解

根据《算法导论》的定义,一个斐波那契堆是一系列具有最小堆序的有根树的集合。也就是说,每棵树均遵循最小堆性质:每个节点的关键字大于或等于它的父节点的关键字。

2017-02-26 21:01:21 637

原创 二项堆 数据结构说解

二项堆(binomial heap)又称二项队列(binomial queue),是由若干棵堆序树,称之为二项树(binomial tree)组成的集合,即由若干棵二项树组成的森林。在一个二项堆中,满足所有二项树的大小都是二的次幂,且任意两棵二项树的大小互不相同。

2017-01-27 22:58:13 1168

原创 红黑树 数据结构说解

红黑树是一棵二叉搜索树,它在每个节点上增加了一个存储位来表示节点的颜色,可以是 RED 或 BLACK。通过对任何一条从根到叶子的简单路径上各个节点的颜色进行约束,红黑树确保没有一条路径会比其他路径长出两倍,因而是近似于平衡的。

2016-12-31 02:11:14 473

原创 希尔排序增量序列简介

希尔排序可谓是时间复杂度较难分析的一类排序算法之一,其原因在于其增量序列的多样性和构造的复杂性。下面笔者将对几种流传较广的希尔排序的增量序列进行简单的介绍并给出它们的实现代码。

2016-12-27 00:15:42 13486 1

原创 浅析基数排序的基数选取引起的效率问题

在大多数情况下,我们直觉性的将基数取 10 而不去探究其中的原因,其原因也是显而易见的,因为我们早已习惯使用十进制,而基数取 10 的结果便是每一轮计数排序就是对待排序元素的各个数位从低到高进行计数排序的过程。这样更便于我们理解什么是基数排序。但是,基数就一定要选 10 吗?基数选 10 的方法又是最优的吗?

2016-12-19 00:45:39 1795

原创 NOIP2016 游记

NOIP2016 结束已过了一个月之久,此时再写游记也未免太晚了些。但是,考虑到省内名次名单发布的时间较晚,故此篇游记虽然在 KikiDMW 大神一再催促下一拖再拖,也终于迎来了获奖证书发布的时节。省略去长篇的废话之后,我们直接进入正题。

2016-12-16 23:53:15 560

原创 最小最大堆 数据结构说解

数据结构:最小最大堆

2016-12-14 00:56:18 735

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除