自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 资源 (3)
  • 收藏
  • 关注

原创 最小生成树算法:Kruskal算法 真香

说明:CSDN和公众号文章同步发布,需要第一时间收到最新内容,请关注公众号【比特正传】。之前的图论合集文章中讲了图的存储遍历、最短路等算法,文章链接如下。

2024-04-10 10:11:26 227

原创 CSP-S 真题:格雷码

说明:CSDN和公众号文章同步发布,需要第一时间收到最新内容,请关注公众号【比特正传】。题目来源:CSP-S 2019年 T1题目考察点:递归、搜索题目链接:https://www.luogu.com.cn/problem/P5657。

2024-03-24 21:06:49 294

原创 拓扑排序 很简单

Step2:针对Step1中找出的节点,依次访问这些节点的相邻结点,并将其相邻结点的入度-1(相当于删除了当前入度为0的点,所以相邻结点的入度会-1),然后判断相邻结点的入度,如果-1后等于0,那么将其加入队列。这道模板题呀,很简单,由于题目没有说,因此不需要考虑一些异常情况,比如图的连通性,如果在拓扑排序中有冲突怎么办等等,因此我们只需要考虑它的正常情况就行了,非常适合新手练习拓扑排序,自己动手完成吧。理解了这道题的意思,就很容易理解拓扑排序是什么意思了。入度:在有向图中,指向自己的箭头的个数。

2024-03-13 07:40:57 336

原创 Trie树(字典树)就是这么简单

说明:CSDN和公众号文章同步发布,需要第一时间收到最新内容,请关注公众号【比特正传】。任何一种数据结构或者算法都是为解决某一个问题而诞生的,Trie树也是如此;比如:给n个字符串,需要查询q个字符串,判断这q个字符串是否存在于n个字符串中,或者q个字符串是n个字符串中多少个字符串的前缀。如下图所示:最简单的办法就是遍历n个字符串,然后依次判断,如果满足要求,数量+1,最终输出结果。但是看看题目数据范围,这样做肯定会超时,因此可以用Trie树来解决该问题。

2024-02-26 09:28:52 792

原创 CSP-S 2023 密码锁

说明:CSDN和公众号文章同步发布,需要第一时间收到最新内容,请关注公众号【比特正传】。

2024-02-11 10:07:38 384

原创 贪心 模拟:CSP-J 2023 公路

说明:CSDN和公众号文章同步发布,需要第一时间收到最新内容,请关注公众号【比特正传】。上篇文章发布后,收到公众号后台私信,让我多写一些第2、3、4题的题解,读者如此合理的要求,必须满足。今天来看一篇2023年的普及组的第二题:公路。

2024-01-29 20:58:10 929

原创 洛谷 P9748 [CSP-J 2023] 小苹果

即现有苹果3个一组,划分完后,还剩1个苹果,那么此次取走的苹果数量为n/3+1,剩余的最后一个苹果在本次就会被取走,哎等等,那我们想知道最后一个苹果(即编号为n的苹果)什么时候被拿走,不就是第一次出现mod为1的情况下嘛。有了上面三种情况,我们就可以不停更新剩余的苹果数量,直到为0即可,在更新过程中,也要找出第一次出现上面的【情况2】,即为第n个苹果拿走的时间。即现有苹果个数刚好为3的倍数,那么此次取走的苹果数量为n/3(每3个一组,一组取一个,共n/3个);

2024-01-26 10:37:33 434

原创 洛谷 P2415 集合求和

思考一下:对于所有长度为m的子集而言,任意一个元素出现的次数和是相等的,比如,m为1时(即子集长度为1),每个元素只出现一次;:假设必选a1, 那么因为子集大小只有1,所以其他【n】个元素选【0】个即可,即元素a1在子集大小为【1】的集合中,出现了。:假设必选a1, 那么在剩余的【n】个元素中可以再选【m-1】个元素即可,即元素a1在子集大小为【m】的集合中,出现了。:假设必选a1, 那么在剩余的【n】个元素中可以再选【1】个即可,即元素a1在子集大小为【2】的集合中,出现了。这个答案等于多少呢?

2024-01-18 20:11:26 402

原创 洛谷 P9868 [NOIP2023] 词典

思考一下,如果需要比较两个字符串的字典序大小,不需要比较整个字符串,比如当前用单词word1和其他n-1个单词比较的时候,只需要使用word1的最小的字母和其他单词的最大的字母比较,如果word1的最小字母大于等于其他某个单词wordx的最大字母,那么word1的最优字典序一定大于wordx的最优字典序,直接输出0,结束比较,否则word1的最小字母小于wordx的最大字母,那么可以让word1的最小字母排最前面,wordx的最大字母排最前面,即可满足题目所说的性质。本题考察点:【贪心、枚举、模拟】

2024-01-16 20:45:12 363

原创 NOIP2017 提高组 奶酪(DFS、BFS、并查集)一题三解

该题可以通过搜索来实现,找出所有的入口(即与下表面相切或相交的空洞)作为搜索的入口,在搜索的过程中,对已经搜过的空洞进行标记,每搜到一个空洞,判断是否为出口(即该空洞与上表面相交或相切),如果是,输出Yes,然后return,否则继续搜索,直到以所有入口为起点搜索完,还未找到出口,则说明不能从入口到出口,输出No并返回即可。A1:如果为入口,则空洞的纵坐标z小于等于半径r;题意:老鼠是否可以从下表面的空洞一直沿着空洞走到上表面,如果可以,输出Yes,否则输出No;Q1: 如何判断一个空洞为入口或出口呢?

2024-01-11 21:27:29 402

原创 二分再也不用担心搞不清楚了,一文理解透二分

有越界的风险,导致求解的mid错误,所以以后计算mid的时候,强制统一用mid = left + (right-left)/2;表示将最优解不保留在当前区间[left, right]中,因此当循环结束后,区间一定为空,即left > right,即使区间中只剩一个元素,也要判断是否为最优解,直到区间为空,因为最优解不保留在区间中,所以需要一个变量ans来保存最优解,所以一定会有right=mid-1(最大值最小问题)或者left=mid+1(最小值最大问题),没有风险,对于两类问题均可使用;

2024-01-07 21:32:46 954

原创 洛谷 P1873 砍树 (二分 简单)

上一部分分析了题目的求解方法并可以通过暴力的方法依次从maxH到0遍历,找到第一个满足题目要求的高度即可,试想一个问题,如果某个高度hi砍树不能满足砍掉的树的高度和大于等于M,那么对于大于等于hi的高度hj来说也无法满足题意,理解了上面这个特性就可以通过二分来快速求解高度h了。也很简单,给你一个高度mid,遍历所有树木的高度,用sum记录砍掉的树的高度和,则如果当前树的高度小于mid,则没有得到树木,否则,在当前树上可以砍下树的高度减掉mid的差值的高度的树木,最终只需要判断sum是否大于M即可。

2024-01-05 13:08:31 494

原创 一文搞懂 归并排序及求解逆序对 真简单

试想在归并排序的合并数组的时候,如果出现左子数组中的a[i]大于右子数组中的a[j]时,由于左子数组是有序的,因此左子数组中a[i]后面的元素都大于a[j],因此以a[j]为y的逆序对有(a[i], a[j]), (a[i+1], a[j]),...,(a[mid], a[j]), 共mid-i+1个;Step1:通过递归的方式,将数组进行划分(每次将一个数组从中间一分为二,左子数组和右子数组),直到子数组的长度小于等于1停止,此时子数组一定是有序的(长度小于等于1的数组一定有序);

2024-01-04 12:45:19 372

原创 洛谷 P1077 [NOIP2012 普及组] 摆花

NOIP真题第二讲:摆花

2023-12-21 09:34:20 339

原创 洛谷 P1087 [NOIP2004 普及组] FBI 树

NOIP 真题第一讲:FBI 树

2023-12-18 21:56:56 352

原创 洛谷P1036 [NOIP2002 普及组] 选数

洛谷P1036 [NOIP2002 普及组] 选数 题解

2023-12-16 22:46:39 322

原创 快速幂 很简单 一文秒懂

数学知识第二讲:快速幂

2023-12-15 08:12:19 317

原创 Bellman-ford算法与SPFA算法求最短路

图论第三讲:Bellman-ford与SPFA求最短路

2023-12-07 10:12:08 347

原创 BFS 洛谷P1443 马的遍历

广度优先搜索BFS第一讲:马的遍历

2023-12-05 14:12:37 369

原创 一文看懂Dijkstra 算法求最短路

图论第二讲:Dijkstra求最短路

2023-12-04 16:13:08 333

原创 深搜DFS 洛谷 P1706 全排列问题

深度优先搜索DFS(第一讲):全排列问题

2023-12-04 16:12:28 398

原创 树形DP 洛谷P1352 没有上司的舞会

树形DP-没有上司的舞会

2023-12-04 16:11:41 334

原创 状态压缩DP 洛谷P2622 关灯问题

状态压缩动态规划-关灯问题

2023-12-04 16:11:09 320

原创 状态压缩DP 洛谷P1441 砝码称重

https://mp.weixin.qq.com/s?__biz=MzkwODU5NzU5Mw==&mid=2247483831&idx=1&sn=49b5cd7e003458e8f7d6ae204b30dbf4&chksm=c0c6c181f7b14897e0606e38dde3dfe79561dc37ddbdc0b1b16e802ace496fa9ff23f542482a&token=219447487&lang=zh_CN#rd

2023-12-04 16:10:15 327

原创 完全背包问题

背包专栏(二)-完全背包

2023-12-04 16:09:24 312

原创 挖地雷 洛谷 P2196

线性动规-挖地雷(洛谷 P2196)

2023-12-04 16:08:52 333

原创 01背包问题

背包专栏(一):01背包

2023-12-04 16:08:16 296

原创 最长上升子序列 洛谷B3637

动态规划-最长上升子序列

2023-12-04 16:07:31 408

原创 线性筛质数,一文必看懂

数学知识第一讲:线性筛质数

2023-11-30 10:28:55 338

原创 洛谷P1775 石子合并

欢迎关注公众号【比特正传】,后期会分享更多c++、数据结构和算法相关内容。

2023-11-02 17:33:18 81

原创 洛谷 P1435 [IOI2000] 回文字串

欢迎关注公众号【比特正传】,后期会分享更多c++、数据结构和算法相关内容。

2023-11-02 17:23:44 70

原创 快速幂应用之剪绳子问题

快速幂的讲解与应用

2023-06-14 10:54:44 459

原创 RocketMQ 闪退问题

第一次使用RocketMQ的时候,傻傻的跟着别人的博客走,一切正常,然后通过配置文件/conf/broker.conf启动broker的时候开始出问题了nohup mqbroker -c conf/broker.conf执行上面的语句,开始闪退,通过查阅日志文件,发现在broker.conf中配置的保存数据的路径没有创建(我以为rocketmq通过检查目录,如果没有会自动创建),然后我手动创建了目录文件,再次运行,成功了。broker.conf 配置信息如下#集群名称brokerC.

2021-06-25 13:57:32 1262

原创 轻松理解内核态与用户态

学习目标:提示:这里可以添加学习目标例如:一周掌握 Java 入门知识学习内容:提示:这里可以添加要学的内容例如:1、 搭建 Java 开发环境2、 掌握 Java 基本语法3、 掌握条件语句4、 掌握循环语句学习时间:提示:这里可以添加计划学习的时间例如:1、 周一至周五晚上 7 点—晚上9点2、 周六上午 9 点-上午 11 点3、 周日下午 3 点-下午 6 点学习产出:提示:这里统计学习计划的总量例如:1、 技术笔记 2 遍2、CSDN 技术博客

2020-08-22 17:32:21 405

原创 利用telnet登录SMTP服务发送邮件的demo

再一次复习(预习)计算机网络,看的是《计算机网络 自顶向下方法》,做了本书的一个小实验,用telnet登录邮件服务器发送邮件,下面做一个记录。第一步:首先打开命令端,输入telnet第二步:输入o smtp.qq.com 25o是open的简写,打开qq邮箱的smtp服务器,25为专用端口号下面将后面的命令截图全部展示出来,然后一条一条解释如上所示,箭头...

2019-11-24 18:48:05 1508 1

原创 多层神经网络实现反向传播

from planar_utils import *import matplotlib.pyplot as pltimport numpy as npimport copydef layer_build(): layer = [2, 4,1] return layerdef data_preprocess(X): X = (X-np.mean(X)/np.st...

2019-08-02 14:31:28 394

原创 堆排序

# 堆排序'''1,.从倒数第二层到第一层,对每一个非叶子结点,调整为大根堆2.交换,调整,交换,调整...'''def maxHeapSort(arr, start, end): cur = start l = 2 * cur + 1 while l<=end: if l<end and arr[l+1]>arr[l]: ...

2019-07-29 15:12:20 128

原创 快速排序

快速排序是对冒泡排序的一种改进,选定一个基元素,将所有小于基元素的元素移动到左边,大于基元素的元素移动到右边,这样的话,基元素的位置则是最终的位置,通过递归算法对左右分别进行排序。快速排序是一种不稳定的排序算法,平均时间复杂度为O(nlogn),代码如下:# 快速排序'''每次选择一个元素,比这个元素大的元素移动到这个元素的右边,小的移动到此元素的左边即此元素处于自己排好序的位置,递...

2019-07-29 14:13:29 238

原创 逻辑回归实现多分类(Logistics Regression)

一、简介 线性回归大家都知道,通过训练数据集拟合出一条线性函数,预测函数为Y= θ.T*X,那么线性回归的问题在哪呢?如果有离群点或者自变量比较大的点,它会很大程度上影响拟合函数,所以将线性的预测函数加一层衣服,变为非线性,这样,离群点也就基本不会影响我们的预测函数了。通过数学家的研究,选定的非线性化函数为sigmod函数,,这个函数的值域为(0,1),接下面我们直接结合代码给大家讲...

2019-06-28 18:43:16 8687 3

转载 mnist 数据集加载并显示

import osimport structimport numpy as npimport matplotlib.pyplot as pltdef load_mnist(path, kind='train'): """Load MNIST data from `path`""" labels_path = os.path.join(path, ...

2019-06-15 11:38:11 2893

LinearRegression.rar

利用python代码手动实现线性和二次函数的反向传播,利用梯度下降算法实现参数更新

2019-06-03

模拟进程调度(GUI实现)

操作系统上机作业,模拟实现进程创建,进程调度,进程阻塞,进程唤醒和进程撤销,从文件读取初始化进程,将过程存入文件均已实现,用pyqt5实现GUI界面,有良好的用户交互性

2019-05-17

空空如也

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

TA关注的人

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