自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【线段树】线段树概念与基本使用

一. 线段树介绍线段树的概念异常得简单。他本身也是一个用数组来表示树的结构(类似的还有堆和树状数组)。线段树的特点:线段树不是由用户手动输入的,它是由一个数组构造而来的。 线段树这种数据结构中,包含着一个数组,这个数组的每个元素,都保存着原来数组连续区间上的信息(可能是和或者最大最小值等等)。众所周之树状数组也保存着原数组区间的信息,那么线段树的区间和树状数组的区间有什么区别呢?看一张图你就懂了(来自OI wiki):首先,根元素是对应的区间是整个数组的区间。其次,对于每个父节点

2020-12-02 15:12:00 277

原创 【树状数组】树状数组概念与基本使用

做算法题目的时候经常会遇到一些求区间和的内容。比如给你一个数组a[0..100],要你计算哪个区间的元素和为100这类的。这种题目往常都是采用前缀和数组来解答的。设有数组a[0..100]对应的前缀数组b[0..100],则b元素的值为:这样我们要求a[m..n]这个区间的内容,原本需要,现在只要计算这样的操作即可。之所以前缀和数组计算区间和需要常数级别的复杂度,是因为我们在构建前缀和数组的时候,已经产生了的复杂度了。有没有其它更好的方法来计算区间和呢?答案是有的。这就是树状数组。.

2020-11-30 19:36:05 374

原创 【Angular实战/网易云】轮播图

一. 选择正确的组件库选用正确的组件库能让你的开发事半功倍,material里面是没有carousel的,所以我选择ng-zorro。ng-zorro中的nz-carousel已经非常好了,但是我这里还是选择封装一下。二. 封装nz-carousel我主要是想给原来的轮播图加上左(<)右(>)两个按钮,同时切换的dot也得变一下。我们可以写一个新的组件,使用这个组件的时候把<nz-carousel>嵌套在内部,在实现这个组件的时候,使用<ng-cont.

2020-08-21 15:59:27 937

原创 【Angular实战/网易云】验证码注册

一. 模板内容思路如下:先让用户输入自己的手机号和密码,然后点击注册按钮跳转到输入验证码的界面。 在验证码的界面输入正确的验证码之后,点击注册即可成功注册。按照这个思路,“输入手机号和密码”视图以及“输入验证码”视图是两个完全不同的视图,需要用两个组件来实现。但是,当用户输入完验证码以后,我们需要拿着用户之前输入的手机号和验证码发送到后台,看看这个验证码是否正确。所以我们需要组件之间的数据通信,这个如果要靠非父子组件来实现稍微啰嗦了一点,又要往store里面加入新的内容。所以我们把注..

2020-08-21 14:08:16 539

原创 【Angular实战/网易云】用户签到(interceptor使用)

一. 用户签到的难点为什么这么简单的东西也要单独拿出来讲一讲?主要还是跨域的问题。如果不考虑跨域的话,只要给click绑定以下事件就行了: onSignin() { this.memberSerice.signIn().subscribe( res => console.log(res), error => console.log(error) ); }但是大家都知道,http是无状态的,如果人家没给你一个标识符,人家就无法认出你。

2020-08-20 19:03:21 204

原创 【Angular实战/网易云】登录组件

一. 表单的基础知识<form>和</form>之间包裹起来的内容就是表单。其中,内部的<input>啊,<button>啊,<textarea>这些,都叫做表单控件。其中<button>的默认type为submit,这个意味着你点击这个button就会自动帮你提交,你如果强行绑定(click)事件就会引发错误。相似的type还有reset, 这个也不能绑定事件。二. ng-zorro表单这里我使用的框架是ng.

2020-08-20 17:20:53 308 1

原创 【Angular实战/网易云】模态框(二)

之前的内容我们已经简单介绍了如何生成模态框,以及用状态管理插件管理状态,并把批量的action封装成service。下面我们正式来给我们的模态框添加特性。一. ESC键退出简单地来说就是监听键盘上的keydown事件,如果keyCode对应的是ESC键,那就隐藏模态框。 private createOverlay() { this.overlayRef = this.overlay.create(); this.overlayRef.overlayElement.append

2020-08-20 16:25:32 300

原创 【Angular实战/网易云】模态框(一)

一. 生成模态框当用户点击登陆或者注册的时候,就会跳出来一个对话框,要求用户输入用户名和密码等信息。这个对话框说专业点就是模态框,要生成这个模态框我们得借助Overlay实例,这个之前在讲解搜索组件的时候已经提到过了。 private createOverlay() { this.overlayRef = this.overlay.create(); this.overlayRef.overlayElement.appendChild(this.elementRef.na

2020-08-20 15:57:18 603

原创 【Angular实战/网易云】搜索组件

一. 显示和隐藏搜索组件显示搜索组件就是在原来的界面上又跳出一个新的组件,这个可以用material cdk中的overlay来实现。简单地来说就是:用注入的Overlay实例的create方法创建OverlayRef实例。 利用ComponentPortal创建动态组件,赋值给panelPortal对象。 最后把panelPortal和overlayRef用attach方法结合起来。 showOverlayPanel() { this.hideOverlayPanel();

2020-08-20 11:39:52 247

原创 【基于VP的消失点标注】摄像头标定原理

摄像头标定的主要目的就是在真实世界和我们像素世界中建立一个映射关系,这样我们就可以利用像素之间的距离得到真实世界的距离了。是不是很神奇呢?下面就跟作者来了解一下吧!一. 四大坐标系在讲解摄像头标定原理的时候(这里先不涉及畸变),通常会涉及到四大坐标系,如下图所示:其实本图中只涉及到了三个坐标系:世界坐标系:用来描述真实世界中点的坐标的。标定中主要用于确定摄像头位姿。 摄像头坐标系:以摄像头为视角的坐标系。 图片坐标系:以图片中点为原点的2D坐标系。还剩下一个坐标系,那就是像素...

2020-05-16 22:17:45 1287

原创 【基于VP的消失点标注】线性代数与仿射变换

一. 仿射变换的定义和种类仿射变换,affine transform。主要由线性变换和平移变换两部分组成。平移变换比较好理解,那么什么是线性变换呢?下面给出线性变换的几个特征:变换之前是直线的,变换之后依然是直线。 变换前后比例不会变。也就是说,一开始某个点是线段的中点,在变换之后,依然还是重点。旋转变换就是一个非常重要的线性变换,大家请思考:一条线段经过旋转之后,是不是仍然是一条线段?一条线段上的中点,在旋转之后是不是还是中点?类似旋转变换这类的线性变换还有很多,总的来说,仿射变换可以

2020-05-16 18:35:28 362

原创 【Bootstrap】Bootstrap速成指南

Bootstrap是一款非常优秀的移动端优先的前端架构。我甚至认为,那些做back-end的码农,前端只要掌握HTML5/CSS3, JS/JQ和bs就行了。bs的学习也非常快,过一遍official documentation就好了,以后使用的时候来老地方copy就行了。先说说我对bs的理解:首先bs基本上都是已经给你写好的css,js,你下载下来离线引用,或者直接使用CDN也行。 C...

2020-03-05 12:51:21 492

原创 【HTML/CSS】常见的5种布局方法解释

一. 静态布局静态布局就是每一个元素都用px写死。这种布局方法毫无疑问是最简单(因为不用考虑不同分辨率的情况),同时也是最糟糕的。不过,现代大多数企业的PC站点先使用一个静态布局,然后移动端再单独设计一个布局。二. 弹性布局弹性布局采用高级的度量单位(如em, rem)来度量文字的大小,其它采用px来进行度量。这样做得好处是,在其它元素不变的情况下,我们的文字可以根据具体...

2020-03-04 20:42:11 360

原创 【RL】从on-policy到off-policy

1. 什么是on-policy,什么是off-policy其实这个概念我们之前已经提到了,这里不妨再提一下:on-policy就是获取数据的动作和最终策略的动作是一致的,比如Sarsa。 off-policy就是获取数据的动作和最终策略的动作不一致,比如QLearning。从这种定义我们也可以得知:我们的强化学习流程中涉及到两个关键流程:一个是选择用来获取数据的动作,另一个则是我们...

2020-02-11 19:13:31 710

原创 【RL】强化学习另一种思路:policy-based方法

之前我们所介绍的,都是所谓value-based方法,它的中心思想是:既然我们要求的策略,是在给定状态的基础上选择动作。那么我通过研究动作的价值,就可以得到最优的策略。接下来要讲的是另一种所谓的policy-based的方法,他所研究的,并不是相同状态下各个动作的价值,而是相同状态下,选择各个动作的概率。但是他这个概率,也是要根据所谓的价值进行更新的。所以这二者并没有什么太大的差别。0....

2020-02-11 16:05:47 1987

原创 【RL】DQN及其各种优化算法

上一篇博文的末尾,我们介绍了传统QLearning的劣势——那就是需要维护一个Q表,而对于很多状态,连续动作的情况,我们Q表的大小将会爆炸性地增长。我们微小的内存必然存不下这么大的Q表。所以我们要转换我们的思路。其实,Q表在之前的QLearning中,只是扮演了一个函数的角色——这句话怎么理解?给定动作和状态,他会给你返回一个价值。所以我们为什么不直接建立一个函数呢? 这样我们既可以完成Q...

2020-02-10 00:40:31 3663

原创 【RL】深入TD:基于QTable的SARSA和QLearning

之前的一篇博文提到TD是我们现在用得非常多的一种算法。它的公式如下:之前一片博文讲到就讲到这里为止。我们并没有具体地提到我们该如何计算G。只讲了,我们的G跟我们的下一个状态有关。这一个状态肯定是指我们的动作状态,也就是Q(st, ?)。问题是,我们的动作应该怎么选择呢?1. TD算法的分类根据之前讨论的结果,TD主要可以分为两类——一类叫做on-policy,另一类叫做off...

2020-02-09 22:25:13 372

原创 【RL】策略迭代法的DP, MC和TD三种实现

在第一篇博文的时候,我们已经把强化学习的目标给介绍了,基本上就是围绕两个价值函数和策略。但是求解这个问题并没有那么简单,一个显然的困难就是我们在改变策略的时候,价值函数也会发生变化,如何处理这个问题就是我们今天算法的核心。0. 关于这两个价值函数为了更深入地了解这个问题,我们应该更深入地思考这两个价值函数,下面我直接给出他们的性质:(1)q函数和v函数互转:q转v: v转q...

2020-02-09 21:23:14 1440

原创 【RL】前言和强化学习基本概念

0. 前言不得不说Github确实是一个社交网站,我在这个上面follow了其他人以后,就可以看到其他人最近的动向。这不,我在GitHub上follow了一个大三的学长,发现他正在搞这个,所以我也萌生了搞强化学习的主意。经过一比对,我发现他的代码都是借(chao)鉴(xi)Morvan Zhou的。然而现在,2020年为止,Morvan Zhou的强化学习是使用tensorflow框架实现...

2020-02-09 15:24:18 428

原创 【FE】处理Categorical Features

之前的文章介绍了Numerical features,今天来介绍Categorical features。Categorical features 在我们的生活中也很常见,小到一年四季,一周七天,色彩颜色种类;大到用户id,CTR中的广告对象,这些都是属于Categorical features。区别Numerical和Categorical的方法比较简单,那就是看数值的magnitude是否...

2020-01-28 15:35:01 1917

原创 【FE】处理Numerical Features

最近在看Feature Engineering for Machine Learning。这本书给了我很大的启发。它引入了一些很新颖的观点,比如:所谓Data,是我们对真实世界现象的一种观测。 所谓Feature,是我们对raw data的一种数值型表示(也就是说,raw data和feature实际上是不同的)。这个第二点说得确实有道理,因为如果我们不把哪些text转换为model可...

2020-01-27 12:58:01 956

原创 【Linux Shell】shell简介和环境配置

每次配置一次环境就要重新学一遍Linux。。这是因为很多时候我们都需要配置环境变量,然而如果对Linux不了解的话,很多指令在做什么,我们根本不清楚,这就非常难受了。而且,《鸟哥的Linux私房菜》中写的是关于Red Hat系的CentOS的环境配置,我使用的是Debian系的Ubuntu,两者在文件系统上还是有一些差别,所以这里会简单地记一下关于Ubuntu的各种环境配置,顺便简单介绍一下She...

2020-01-06 14:51:36 601

原创 【Linux shell】grep,sed,awk介绍

今天要讲的东西是文件的格式化处理,说实话我感觉这个就是Linux比Windows要强大的地方。Linux中的许多文件,许多命令的输出,都是高度格式化的。在了解了相应的内容之后,我们就能通过一些命令,讲我们想要的内容提取出来,下面就要介绍这么几个命令:命令 作用 grep 查询对应字符串所在的行 sed 格式化标准输出流 awk 处理field 一. ...

2020-01-05 18:57:12 205

原创 【Linux Shell】Linux下查找命令或者文件

在Windows中我们可以方便地在资源管理器内查找相应的文件,在Linux GUI下确实也做得到(比如GNOME的“文件”中就可以查找相应的文件),那么我们能不能通过命令行的方式进行查找呢?当然可以。一. 查找Bash Shell内置的命令为了方便shell的操作,Bash shell其实已经集成了很多命令,比如:cd,ls,history,umask等。这些命令不是以脚本文件的...

2020-01-05 17:39:28 280

原创 机器学习——过程概览

最近几天一直在学习Machine Learning的只是,自从知道Kaggle这个网站以来,成为Grand Master的计划也被提到了日程上来。做了几个Get Started的competitions之后逐渐总结了一下机器学习的一个例程。首先,在Data Science的时候,有下面三个点非常重要:对数据的认识特别重要。通过研究数据本身的特点,数据与数据之间的关系,往往会给我们之后...

2020-01-01 14:11:41 265

原创 【实验楼/Seaborn】Seaborn概览

Seaborn简介matplotlib可能是基于Python最优秀的绘图库了。但是它的api数目比较多,较为复杂。Seaborn基于matplotlib的核心库进行了更高级的封装。可以绘制出更高级的图形。Seaborn的基本使用由于Seaborn是基于matplotlib进行开发的。因此我们使用seaborn时只需正常使用matplotlib的api。外加简单的几句Seaborn函数即可:...

2019-12-08 10:02:56 217

原创 【matplotlib】进一步的了解以及在你的图上添加必要的部分

一. 进一步了解figure和axes之前我在实验楼中了解到,figure和axes相当于是画画的时候画板和画布的关系。一般而言,你只能创建一个画板,但是一个画板上可以有多个画布。此外还有一种理解方法,我们需要对axes这个对象做更加深入的解释。大家都知道坐标轴的英文是axis,axes其实就是这个单词的复数形式。matplotlib使用axes来表示你的画图区域——换而言之,使用...

2019-11-23 23:21:42 130

原创 【实验楼/pandas】pandas概览

关于pandaspandas是基于numpy开发,和numpy,matplotlib共称为python数据领域分析的三巨头, 更加重要的是,他们共享接口。pandas数据类型pandas数据类型共有以下几种:Series——一维数组DataFrame——二维数组Panel——三维数组Panel4D——四维数组其中我们Series和DataFrame用得最多。与numpy不同的...

2019-11-10 14:07:34 369

原创 【实验楼/matplotlib.pyplot】绘制笛卡尔坐标系+注释+图例

一. 问题描述二. 问题分析做这种问题我们应该先把图的大致模样画出来,然后再去考虑细节。这里一个比较难的点是笛卡尔直角坐标系的绘制,因为我们默认的图都是使用矩形状的坐标系的。稍微总结一下,大概可以分这么几步走:绘制直角坐标系 绘制两个三角函数 绘制两条直线 绘制annotation 绘制图例下面,我就一步一步来实现它。三. 绘制直角坐标系这里...

2019-11-10 09:20:19 3080

原创 【实验楼/matplotlib.pyplot】matplotlib画图初览

matplotlib的使用方法先导入相应的模块from matplotlib import pyplot as plt再使用plt中特有的方法来进行画图。柱状图——plt.bar(专门用来比较大小)直方图——plt.barh(专门用来查看分布)饼状图——plt.pie(专门用来查看比例)折线图——plt.plot(专门用来绘制相应函数图像)散点图——plt.scatter等高...

2019-11-09 22:28:53 116

原创 【实验楼/NumPy】numpy基本概念+基本操作

Numpy支持的数据类型Numpy只支持数值类型的变量如bool, int类,uint类,float类,complex类。这些都是我们的数据类型dtype我们要利用这些东西构造我们的数组类型ndarray创建有规律数组的方法arange方法创建,用法同range。linspace方法创建,arange是规定步长,在linspace中是规定区间中数据的数目。ones——指定数组的形...

2019-11-09 18:44:47 277

原创 【计网/负载均衡】负载均衡概览

一. 什么是负载均衡负载均衡——load balance, 正如它的名字一般,是把负载给均衡了。通俗地讲,就是把原本交给一台服务器的工作内容,分摊给多台服务器。通过负载均衡,我们就能扩展我们网络设备的带宽,就能增加我们的吞吐量。(注意带宽和吞吐量的区别:带宽是链路的属性,吞吐量是网络设备单位时间内传输/接受的数据量, 一般而言我们网络设备的吞吐量一定是小于我们链路的带宽的)...

2019-11-07 23:53:58 338

原创 【luogu/贪心】排座椅(求出现频率前k个的元素)

题目描述上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情。不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同学上课时会交头接耳。同学们在教室中坐成了MMM行NNN列,坐在第i行第j列的同学的位置是(i,j)(i,j)(i,j),为了方便同学们进出,在教室中设置了KKK条横向的通道,LLL条纵向的通道。于是,聪明的小雪想到...

2019-11-03 13:25:49 109

原创 【luogu/字符串】多项式输出(所有情况一起处理)

问题描述:题目描述一元nnn次多项式可用如下的表达式表示:f(x)=anxn+an−1xn−1+⋯+a1x+a0,an≠0f(x)=a_nx^n+a_{n-1}x^{n-1}+\cdots +a_1x+a_0,a_n\ne 0 f(x)=an​xn+an−1​xn−1+⋯+a1​x+a0​,an​≠0其中,aixia_ix^iai​xi称为iii次项,aia_iai​ 称为ii...

2019-11-03 10:22:41 377 1

原创 【luogu/递归】烤鸡(多重循环转为尾递归)

问题描述:题目描述猪猪Hanke特别喜欢吃烤鸡(本是同畜牲,相煎何太急!)Hanke吃鸡很特别,为什么特别呢?因为他有10种配料(芥末、孜然等),每种配料可以放1—3克,任意烤鸡的美味程度为所有配料质量之和现在,Hanke想要知道,如果给你一个美味程度,请输出这10种配料的所有搭配方案输入格式一行,n<=5000输出格式第一行,方案总数第二行至结束,10个数,...

2019-11-03 00:04:01 206

原创 【luogu/字符串】计算器的改良(表达式的解析与计算)

问题描述:题目背景NCLNCLNCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能。实验室将这个任务交给了一个刚进入的新手ZL先生。题目描述为了很好的完成这个任务,ZLZLZL先生首先研究了一些一元一次方程的实例:4+3x=84+3x=84+3x=86a−5+1=2−2a6a-5+1=2...

2019-11-02 20:54:27 225

原创 【luogu/并查集】修复公路(查看并查集是否包含所有元素)

问题描述:题目背景AAA地区在地震过后,连接所有村庄的公路都造成了损坏而无法通车。政府派人修复这些公路。题目描述给出A地区的村庄数NNN,和公路数MMM,公路是双向的。并告诉你每条公路的连着哪两个村庄,并告诉你什么时候能修完这条公路。问最早什么时候任意两个村庄能够通车,即最早什么时候任意两条村庄都存在至少一条修复完成的道路(可以由多条公路连成一条道路)输入格式第111行两个...

2019-11-02 12:07:16 143

原创 【并查集】并查集模板

一. 并查集能用来干什么求一个图的连通分量的个数。二. 并查集基本操作并查集用来查询一个元素是否在一个集合中 + 合并两个不相交的集合。他就这么两个元操作;基于这两个操作的衍生操作有比较两个元素是否在一个并查集中——比较两个并查集中的代表元素是否相同 往一个并查集中添加元素——将该元素单独作为一个并查集,然后和目标集合做并集操作。三. 并查集优化——路径压缩算...

2019-11-02 10:55:35 127

原创 【LuoGu/贪心】P1478 陶陶摘苹果(升级版)

问题描述:题目描述又是一年秋季时,陶陶家的苹果树结了n个果子。陶陶又跑去摘苹果,这次她有一个a公分的椅子。当他手够不着时,他会站到椅子上再试试。这次与NOIp2005普及组第一题不同的是:陶陶之前搬凳子,力气只剩下s了。当然,每次摘苹果时都要用一定的力气。陶陶想知道在s<0之前最多能摘到多少个苹果。现在已知n个苹果到达地上的高度xi,椅子的高度a,陶陶手伸直的最大长度b,陶陶...

2019-11-01 11:32:44 339

原创 【leetcode/二分】找出第k小的对距离(预处理+夹逼二分)

问题描述:给定一个整数数组,返回所有数对之间的第 k 个最小距离。一对 (A, B) 的距离被定义为 A 和 B 之间的绝对差值。示例 1:输入:nums = [1,3,1]k = 1输出:0 解释:所有数对如下:(1,3) -> 2(1,1) -> 0(3,1) -> 2因此第 1 个最小距离的数对是 (1,1),它们之间的距离为 0。提示...

2019-10-30 18:53:27 286

空空如也

空空如也

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

TA关注的人

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