自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 最大子序列和

本文使用暴力枚举法,事件复杂度O(N^2)。

2022-05-02 16:59:43 361

原创 开心的金明 (0-1背包)

该题是0-1背包的简单变体

2022-05-02 14:42:33 179

原创 0-1背包的空间优化

0-1背包的代码有很多种,空间复杂度各不相同,

2022-05-02 09:53:38 269

原创 最长上升子序列的代码

最长上升子序列

2022-05-01 22:35:03 205

原创 数字金字塔

介绍了黄金金字塔问题

2022-05-01 21:44:51 597

转载 关于递归函数的几点经验

关于递归写法的几点经验

2022-05-01 21:19:06 108

原创 生成杨辉三角

生成杨辉三角的代码

2022-05-01 20:58:28 284

原创 杨辉三角求组合数(二维递推)

使用二维递推杨辉三角求组合数

2022-05-01 20:37:44 324

原创 错位排列问题(递推法)

递推法求解 错位排列

2022-05-01 19:42:44 593

原创 有效括号对数(递推法)

介绍了一种十分简单的查找有效括号序列的方法。

2022-05-01 16:38:39 291

原创 二分查找及其变体

二分法看着简答,但是想写出一个没有bug的版本还是不容易的。其次,二分法有各种各样的变体,本文着重介绍这些变体。

2022-05-01 15:38:03 744

原创 计数排序算法

介绍了计数排序的步骤,复杂度,代码实现

2022-04-30 19:15:12 173

原创 归并排序算法

介绍了归并排序的步骤,稳定性,复杂度,代码 和 一些实现细节。

2022-04-18 22:56:38 98

原创 快速排序算法

介绍了快排的步骤,稳定性,复杂度,代码 和 一些实现细节。

2022-04-18 18:31:46 609

原创 插入排序算法

介绍了插入排序的步骤,稳定性,复杂度,代码 和 一些实现细节。

2022-04-17 22:44:21 312

原创 冒泡排序算法

介绍了冒泡排序的步骤,稳定性,复杂度,代码 和 一些实现细节。

2022-04-17 21:34:07 449

原创 选择排序算法

介绍了选择排序的步骤,稳定性,复杂度,代码 和 一些实现细节。

2022-04-17 17:15:03 544

原创 三连击(枚举排列)

问题将 1,2,…,9 共 9 个数分成三组,分别组成三个三位数,且使这三个三位数的比例是a : b : c,试求出所有满足条件的三个三位数,若无解,输出 No!!!。输入描述:三个数,a, b, c。输出描述:若干行,每行 3 个数字。按照每行第一个数字升序排列。示例 1:输入:1 2 3输出:192 384 576219 438 657273 546 819327 654 981思路本解法采用枚9个数排列的举每一种情况, 使用 c++中的 next_permutation

2022-04-17 16:53:52 450

原创 取宝石问题

题目取宝石问题假设在一个大房间有n个宝石,每一处宝石用一个坐标(x, y)表示。如果你从任意一处宝石的地方出发,依次经过每个放宝石的地方并取走宝石,最终要求回到出发地点,问最短需要走的距离是多少。本题允许走直线。思路采用枚举法,在这个情境里,经过不同地点的顺序会改变最终的行走距离。所以,我们要枚举的就是经过1~n一共n个位置的顺序。枚举n个位置的顺序其实是一个排列问题, 那么可以直接用 C++ 中的 next_permutation 函数来快速获得下一个排列,获得下一个排列的时间复杂度为 O(n

2022-04-17 11:40:33 822

原创 珠心算测验

题目[NOIP2014普及组] 珠心算测验珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术。珠心算训练,既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及。某学校的珠心算老师采用一种快速考察珠心算加法能力的测验方法。他随机生成一个正整数集合,集合中的数各不相同,然后要求学生回答:其中有多少个数,恰好等于集合中另外两个(不同的)数之和?最近老师出了一些测验题,请你帮忙求出答案。输入描述:共两行,第一行包含一个整数𝑛,表示测试题中给出的正整数个数。第二行有𝑛个正整数

2022-04-17 10:23:19 432

转载 比特枚举子集

题目描述枚举n个数字组成集合的所有子集,输出子集和。下面给出的暴力解法虽然时间复杂度极高,但是写法极其优雅。暴力枚举假设有n个数,遍历0 ~ 2^n - 1 ,遍历到第i个数时,用第i个数的n个二进制位表示取不取数组中的第i个元素。// 输入int a[] = {2, 1, 3, 6, 5};int n = 5;// 计算int tot = 1 << 5; // 相当于求2的5次方for (int i = 0; i < tot; ++i) { // 变量i的

2022-04-16 21:04:37 91

原创 大整数乘法

思路解决大整数乘法,需要理解一个核心概念: 被乘数的第i位 乘以 乘数的第j位, 将贡献到答案的第i+j 位 。如下图 :2 . 容易得到,若乘数有m位,被乘数有n位,那么两数的乘积最多有 m + n 位。因此,可以把乘积的位数预设为两乘数的位数和。细节1.因为同一个答案位k可能对应着多种情况的 i + j, 即,一个答案位可能加上多个乘积,所以答案位的赋值应该用 += 而不能用 =。2.同样的道理,因为同一个答案位可能加上多个乘积,那么可以把进位操作放在累加循环之后做,这样可以减少操作次数

2022-04-16 19:39:28 388

原创 简化版大整数减法

前言在大整数减法中,被减数和减数的符号可以为正负两种情况,被减数和减数谁大谁小也未可知,所以若要完整的考虑大整数减法,情况是很复杂的。本文考虑仅仅考虑大整数减法的一种特殊情况,规定减数和被减数都为正数,且被减数大于减数。思路1 . 实现大整数减法,同样也要实现大整数的输入和输出,这里对输入进行了简化,存储仍然采用小端存储。2 . 因为只考虑 被减数大于减数的情况,因此可以直接进行相减。若相减的结果小于0,从前位借1,本位加10。3 . 减完以后,需要确定结果的长度。 可以先预设长度等于被减数,

2022-04-16 16:56:25 327

原创 大整数加法

概述在C/C++中,long long 的长度一般为 64bit 整形, 大概能处理绝对值小于 8 * 10^18 的加法。若加法的结果或操作数的绝对值大于这个范围,那么系统就不能处理了。此时需要用到大整数的技巧,用两个数组来存储操作数,一个数组来存储结果,模拟竖式加法来完成大整数的加法。需要实现的操作要实现一个大整数加法,需要实现的操作不仅仅是加法操作,还要实现大整数的存储和输入输出,这样才算完整。不要觉得输入输出简单,这里面也蕴含着一些技巧需要掌握。存储方式大小端序 :大端序:数字的高

2022-04-16 12:24:39 1318

原创 生成扫雷矩阵

题目扫雷是Windows自带的游戏。游戏的目标是尽快找到雷区中的所有地雷,而不许踩到地雷。如果方块上的是地雷,将输掉游戏。如果方块上出现数字,则表示在其周围的八个方块中共有多少颗地雷。你的任务是在已知地雷出现位置的情况下,得到各个方块中的数据。输入描述:输入有多组数据,每组数据的第一行有两个数字,m, n (0 < m, n< 100)表示游戏中雷区的范围为m×n。接下来m行每行有n个字符。*表示有地雷,.表示无地雷。最后一组数据m = 0, n = 0表示输入结束,不需要处理。输出

2022-04-15 21:50:36 1821

原创 解析xml——五分钟上手xml.etree.ElementTree

本文快速帮你建立xml.etree.ElementTree的基本概念,并介绍几种简单用法。看完这篇博文,再去学习xml.etree.ElementTree的其它方法就很容易了。

2020-12-30 21:26:04 1224 1

原创 matplotlib——绘图样式

本文介绍如何一次性修改绘图的风格,而不用每绘制一张图都单独设置。随后介绍了绘图库中各种颜色的表达方式。此外,还大致的介绍了一些颜色的知识,最后引出了colormap的概念

2020-12-24 23:31:02 859

原创 SSD的损失函数设计

这篇博客介绍SSD的损失函数设计。想要理解损失函数,需要从锚框与Ground truth box 的匹配策略讲起,此外,本文还阐述了SSD中描述的难负例挖掘(hard negative mining)。

2020-12-22 22:46:26 4891

原创 目标检测基本概念

本篇博客的目的时介绍一些目标检测的入门知识,它们包括:何为目标检测,目标检测的简要发展史,目标检测的主流方法以及目标检测任务的评价(IOU)。

2020-12-21 23:35:43 1809

原创 Matplotlib——绘制多个子图(Axes)及其布局

本文介绍如何用matplotlib绘制多个子图,并介绍控制它们布局的方法。

2020-12-20 23:27:20 30830 2

原创 锚框(anchor box)/先验框(prior bounding box)概念介绍及其生成

一.锚框(anchor box)/先验框(prior bounding box)在众多经典的目标检测模型中,均有先验框的说法,有的paper(如Faster RCNN)中称之为anchor(锚点),有的paper(如SSD)称之为prior bounding box(先验框),实际上是一个概念,特此说明。1.锚框的作用对于目标检测任务,有这样一种经典解决方案:遍历输入图像上所有可能的像素框,然后选出正确的目标框,并对位置和大小进行调整就可以完成目标检测任务。这些进行预测的像素框就叫目标框。这些目标框通

2020-12-19 23:32:43 38251 8

原创 Matplotlib——各级artist容器详解(Figure,Axes,Axis,Trick)

matplotlib里面有很多容易混淆的概念例如axes和axis,也有很多相似的方法,例如plt.plot()和ax.plot(x,y)。本文将彻底理清这些概念。

2020-12-18 23:56:30 880 2

原创 Python——逗号(,)解包

在python代码中,有时会在赋值表达式的左边出现逗号,本文解释这种用法

2020-12-18 20:07:56 668 2

原创 解决pycharm换国内源仍然安装失败

如果你换了国内的源仍然很慢,那么这篇博客可以解决你的问题

2020-12-15 22:36:27 4741

原创 pip命令详解

现有的pip博客,要么太简单;要么太复杂,没有可读性。所以自己写一个

2020-12-14 23:39:21 15730 2

原创 小白向——如何理解python环境

看到网上所有的博客讲python环境就是把python安装成功,我内心其实是很奔溃的。。。。。。

2020-12-14 21:25:36 3274

原创 靠谱 conda 命令

有各种minconda\conda的命令博客,但是你真的无法确定那个靠谱,这个痛苦,我真的受够了。所以,相信我,不会有错的

2020-12-13 20:39:55 73

原创 pycharm 导航中的简易快捷键

alt + Enter 猜测意图Ctrl + Shift + A 查找一些功能/选项/设置,如 显示行号 设置Ctrl + W\ Ctrl + Shift + W 扩选\缩选Ctrl + / 把选中行设为评论Ctrl + D 复制选中行Ctrl + Shift + ↑\uparrow↑ \ ↓\downarrow↓ 向上\向下移动选中行(当光标在方法头中时,会移动整个方法)Ctrl + -+ 收起\展开当前代码块Ctrl +Shift + -+ 收起\展开全部代码块Ctrl

2020-12-12 19:40:40 229

原创 详解BP算法之链式求导法则

BP算法的文章很多,但是详解BP算法中的链式求导法则应该只此一家了。包括Hinton关于BP网络的原始论文,对链式求导法则也只是一带而过。文章先从简化版本的链式法则讲起,再将其应用到BP算法中。简化版本的链式法则两层嵌套(复合)函数如上图所示,E是A1,A2,A3的函数,A1,A2,A3都是B1函数。此时,简单的运用链式求导法则即可求得E关于B1的偏导:dEdB1=dEdA1∗dA1dB1+dEdA2∗dA2dB1+dEdA3∗dA3dB1\frac{dE}{dB_1}=\frac{dE}{dA

2020-12-11 22:57:01 3958

原创 原始论文拾遗之BP算法

首先献上BP算法的论文名《Learning representations by back-propagating errors》需要的同学可以谷歌自取啦~首先声明,这篇文章不讲BP算法或者MLP的机理,仅记录总结一些Hinton在论文中提到的重要技巧,这些技巧在视频或者其它博客是不容易看到的。记录在此,一是为了自己归纳总结,二是基于开源精神,希望能帮大家在自学的路上少一些苦难。正文:...

2020-12-10 15:20:11 1181

空空如也

空空如也

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

TA关注的人

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