自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 用一个菜问秒杀若干伽刚特尔的概率

起因我玩 pvz2 的砸罐子的时候,非要刷新到伽刚特尔在相邻三行内的时候,才开始打。今天就来算一下这个事件的概率。问题定义假设草坪有五行,有若干个伽刚特尔均匀随机地出现在任意一行上,而菜问的大招能秒杀三行以内的伽刚特尔(假设它们足够近,在3*3的格子范围内),求菜问能秒杀的概率。即,僵尸出现在123行,事件发生,124行则未发生。这里假设僵尸出现在任意一行是等概率的,即此处的 1/5。草坪行数 row = 5,菜问大招范围 m = 3 都暂且定为常数,只考虑僵尸的数量 gn 是变量。换个场景重新定

2021-06-01 22:44:38 312

原创 Effective C++学习笔记:shared_ptr 析构剖析

例子是这样的,使用 shared_ptr 创建一个链表:class Node {public: int x; Node(int xx):x(xx){} ~Node() { cout << "Node destructor " << x << endl; } shared_ptr<Node> next;};void main() { shared_ptr<Node> sp1(new Node(1)); shared_ptr&lt

2021-06-01 16:40:03 1103

原创 拷贝构造函数以及运算符重载函数参数形式分析

先来看看它们的标准形式,类名为Test。拷贝构造函数:Test(const Test &t) { /* ... */ }赋值运算符重载函数:// 如果想要支持连续赋值(A=B=C) 返回值类型改为 Test&void operator=(const Test &t) { /* ... */ }不禁让人产生这样一个疑问,一定得是 const Test& 吗?这样行不行呢:// 假设编号1~4Test(const Test &t) { /* ... *

2021-05-29 16:14:54 191

原创 Effective C++学习笔记:编译器默认生成的赋值运算符重载函数被删除的三种情况

以下代码测试了编译器默认生成的赋值运算符重载函数被删除的三种情况,并测试了这时候可以人为地声明。为什么创建了namespace,可以看笔者的另一篇博客,C++学习过程中的代码/文件结构推荐namespace del_copy_assign { class Data1 { public: const int a; Data1(int aa=2) :a(aa){} void operator=(const Data1 &d1) { cout << "assign oper

2021-05-29 15:45:49 353 2

原创 C++学习过程中的代码/文件结构推荐

在学习C++的过程中,常常遇到这样一个场景,需要写很多简单的测试代码。这些测试代码通常比较短小,百行以内。下面介绍几种代码/文件结构。1. 每段测试代码都新建一个文件这种方式很容易创建数十个文件。这样运行代码的时候不太方便(编译和运行需要重设),而且不容易进行对比。但好处是代码之间不会相互影响,不存在重名的问题。2. 全部写在同一个文件内部这种方式会慢慢形成一个很大的文件,省去了多个文件带来的不便,而且比较容易进行对比,main函数里可以调不同代码统一测试。但这种方式有一个缺点,那就是重名的问题。写

2021-05-29 15:27:01 290

原创 char **和char* []区别,char *和char []区别

起因今天敲代码想获取一下 linux 系统的环境变量。拍脑袋瓜一想,平常char *argv[], char **argv都写过啊。于是乎,就写了一个extern char *environ[];#include <stdio.h>#include <stdlib.h>//extern char *environ[];extern char **environ;int main(int argc, char *argv[]){ int i = 0; while (

2021-02-27 23:53:47 4333

原创 傅里叶变换学习笔记

在学习3Blue1Brown关于傅里叶变换的视频后,想要尝试重复他所进行的实验。本文中的代码仅使用了numpy库和matplotlib库信号的波形图先从最简单的信号波形图开始。时间区间以及信号向上平移的默认值采用了视频中相应的近似值。fl 是频率的列表,表示这些频率的余弦信号的叠加;b 是每个余弦信号向上平移的距离;l,r 为时间范围。def drawSignal(fl, b=1.1, l=0, r=4.5): x = np.linspace(l, r, 1000) y = np.ze

2020-12-02 23:11:24 482 2

原创 卷积积分性质证明

性质证明两个连续信号的卷积积分定义如下:∫−∞∞f(τ)g(t−τ)dτ\int_{-\infty}^\infty f(\tau) g(t-\tau)d\tau∫−∞∞​f(τ)g(t−τ)dτ卷积积分满足交换律、结合律以及分配律,其证明如下:交换律f(t)∗g(t)=g(t)∗f(t)f(t)*g(t) = g(t)*f(t)f(t)∗g(t)=g(t)∗f(t)即 ∫−∞∞f(τ)g(t−τ)dτ=∫−∞∞g(τ)f(t−τ)dτ\int_{-\infty}^\infty f(\tau) g

2020-12-01 14:06:26 11387 3

原创 利用goto语句实现for循环以及break和continue

起因在体会 break 和 continue 的跳转的时候,突发奇想,能不能利用 goto 语句实现 break 和 continue 的功能,而不使用 break 语句和 continue 语句思考首先梳理一下for, break, continue的语法,然后再考虑使用goto语句转换for 循环的语法:for (init-statement; condition; expression) statementnextlinebreak 语句直接跳出了循环体,不再执行 express

2020-11-15 18:55:25 1814

原创 XPS15 9550 win10使用镭凌X显卡坞 识别到显卡但驱动异常 问题解决

问题描述笔者在使用显卡坞时遇到了bug,设备管理器中能识别到设备,但是驱动安装有问题。解决方法百度上述问题,给的方案是重装驱动。然而试过若干版本的驱动(最新、最老,英伟达官网驱动、显卡附赠光盘里的驱动),以及使用驱动精灵、鲁大师等软件都不能解决这个问题。几番百度,最多也就是在贴吧发现有人“同病相怜”,却没有好的解决方案。但也让我意识到可能雷电3接口有问题。我试过更新BIOS,但好像也没...

2020-03-22 11:00:46 1699 1

原创 抛硬币1000次,至少连续10次正面朝上的概率 详细解答

1. 起因看论文的时候,论文里简单提了一下。大概意思是,抛硬币1000次,至少连续10次正面朝上的概率比较大。我无聊就算了一下(后来就想拍死这个无聊的自己T^T)。2. 问题陈述一开始没什么思路,查了很多资料,答案五花八门。但是有一个观点让我很惊喜,他强调了一下问题本身。这个问题到底什么意思?角度1抛硬币1000次,如果至少连续10次正面朝上,则称事件A发生。(连续11次、12次,或...

2019-12-04 16:00:08 12746 1

原创 Python Turtle绘图 Circular Tree

起因一开始看到这张图片,觉得很好看,于是用示例代码跑了跑。NetworkX包的example里有此实例。自己动手用turtle也画出来了,这篇博文将介绍如何用turtle库来画这个Circular Tree分析可以很明显地看出来图形是递归生成的,可以无限画下去。这意味着可以用深度来控制图形每一层结点都在同一个圆上,且这些圆构成了一组等距同心圆。每层结点个数为&ThickSpa...

2019-07-01 14:36:25 421

原创 tr AB = tr BA的证明

突然忘记这个怎么证明,于是自己推导了一遍。记录下来,强化记忆。####开始证明首先给定A=(a11a12⋯a1na21a22⋯a2n⋮⋮⋱⋮an1an2⋯ann)A=\begin{pmatrix}{a_{11}}&amp;{a_{12}}&amp;{\cdots}&amp;{a_{1n}}\\{a_{21}}&amp;{a_{22}}&amp;{...

2019-05-08 20:27:06 5534

原创 决策树算法中基尼指数与信息增益的比较

问题提出在自己实现决策树算法的时候,发现生成的id3树和cart树一模一样。竟然每个决策节点都选择了同一属性的同一划分。这让我很意外,于是改变了随机种子值,改变训练集的大小,结果发现无一例外它们都是一样的。由此我提出了一个疑问:基尼指数和信息增益是等价的吗?如果等价,那干嘛还要两个算法?如果不等价,为什么生成的树总是一样的呢?二者比较直接取iris数据集中的一部分作为训练集,并指定一个属性...

2019-05-02 20:03:05 5638 3

原创 维数灾难的简单验证

上数据挖掘课的时候,有点好奇为什么数据维数高时最近邻无意义,现在简单验证了一下数据模拟假定所有数据的每一维特征都在[0,1)[0,1)[0,1)内,利用numpy能方便地生成这样的数据:def generate_data(size, d): return np.random.random((size,d))开始验证距离计算方式采用欧氏距离:def compute_distan...

2019-04-27 22:14:15 334 1

空空如也

空空如也

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

TA关注的人

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