自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Floyd算法求每对顶点之间的最短路径,C++详解

Floyd算法,也称为Floyd-Warshall算法,是一种用于求解图中所有顶点对之间的最短路径的经典算法。它适用于有向图和无向图,并且可以处理带负权边的情况(但不能处理包含负权回路的图)。Floyd算法的时间复杂度为O(n^3),其中n是图中顶点的数量。

2025-04-04 10:30:00 615

原创 广场上一队士兵,蛮力法和数学建模法

系数是9×5×7=315,需要计算315 mod8的值:315 ÷8=39×8=312,余3,所以315≡3 mod8。系数是8×9×7=504,504 mod5:504 ÷5=100×5=500,余4,所以504≡4 mod5。求4的逆元mod5,因为4×4=16≡1 mod5,所以逆元是4。分析了一下题目,也就是说最少的可能人数,它被10除以余下a,被9除以余下b,依次类推被2除以余下j,也就是说这个人数它减去a之后能被10整除,减去b后能被9整除,进行蛮力枚举,就能得到最小的这个人数。

2025-04-04 10:00:00 280

原创 蓝桥杯python练习——数字串个数

使用容斥原理,不含3或7的总种类数即为不含3的8^10000加上不含7的8^10000减去不含3也不含7的7^10000种。请问满足题意的数字字符串有多少个?这个数字会很大,你只需要输出其对 109+7109+7 取余后的结果。小蓝喜欢数字 33 和 77,所以数字字符串中必须要有 33 和 77 这两个数字。逆向思维一下,可以用总的可能种类数9^10000减去不含有3或7的种类数。小蓝不喜欢数字 00,所以数字字符串中不可以出现 00;不出现0,即每一位可能是1到9。

2025-03-24 10:30:00 286

原创 蓝桥杯python练习——穿越时空之门

作为小蓝的助手,你的任务是帮助小蓝计算出,在这 20242024 位勇者中,有多少人符合穿越时空之门的条件。我们可以联想一下在计算机组成原理或者是c语言课程里面讲过的进制转化,题目给我们一个十进制,如果要转化为二进制,可以不断除以二,有余数则写1,没有就写0,最后得到二进制结果。可以先让5%2,结果为1,然后5//2后变为2,2%2结果为0,然后2//2结果为1,1%2结果为1。在四进制的领域里,力量的转换规则相似,变成了力量数值的四进制表示中各数位之和。对于5来说,二进制为101,各位数之和怎么求呢。

2025-03-24 10:00:00 455

原创 简单背包问题详解——炼码92 · 背包问题

但对于二维dp来说,先遍历背包容量,再遍历物品也是OK的,因为dp是由它上面那个元素和它左上角的元素得到的,无论是按行逐行遍历,还是按列逐列遍历,都可以得到正确的dp数组。首先先思考这道题的一个暴力解法,对于一个物品,它只有取或者不去两种可能,这样进行dfs进行递归,记录下每种情况的最大值,总的时间复杂度就为2的n次方。所以递推公式为:dp[i][j] = max(dp[i-1][j],dp[i - 1][j - weight[i]] + value[j])不放物品i表示的最大价值为dp[i-1][j]

2025-03-09 10:30:00 767

原创 链表求和问题——炼码221 · 链表求和 II

最开始我的想法是将两个链表转化为数字,然后相加,最后再将相加的那个值转化为字符串,但是当链表过长时,会导致溢出,链表转化出来的数字超过了int和longlong的范围。然后进行了更改,不将链表转化为数字,而是转化为字符串然后再进行大数相加,再将最后得到的字符串转化为链表即可。假定用链表表示两个数,其中每个节点仅包含一个数字。直接遍历链表,将每个节点的值拼成字符串,保留原始高位顺序(例如。排列,请设计一种方法将两个数相加,并将其结果表现为链表的形式。按照字符串顺序直接创建链表,保持高位在前。

2025-03-09 10:00:00 134

原创 蓝桥杯python练习——卡片,跑步锻炼

现在小蓝手里有 00 到 99 的卡片各 20212021 张,共 2021020210 张,请问小蓝可以从 11 拼到多少?思路为,从1开始不断加一,计算每个值1的数目,当累计到2021的数目时,就退出循环,输出此时循环到的数就是答案。小蓝准备用这些卡片来拼一些数,他想从 11 开始拼出正整数,每拼一个,就保存起来,卡片就不能用来拼其它数了。例如,当小蓝有 3030 张卡片,其中 00 到 99 各 33 张,则小蓝可以拼出 11 到 1010,小蓝有很多数字卡片,每张卡片上都是数字 00 到 99。

2025-02-26 10:30:00 377

原创 蓝桥杯python练习——数字三角形

尝试后发现,当行数为偶数时,只有最后一行中间那两个数才能走到,而当行数为奇数时,只有中间的那个值才能走到,所以设置一个flag数组,最初将最后一行能走到的设置为1,相加时只有存在一个1才相加,否则设置为0简化运算,详情见代码。从倒数第二行开始往上遍历,从左往右,让当前位置的值为它下面和下面右边的最大值加上它自己,依次类推,最后dp【1】【1】就是所求值。输入的第一行包含一个整数 N (1≤N≤100)N (1≤N≤100),表示三角形的行数。数字三角形上的数都是 0 至 100 之间的整数。

2025-02-26 10:00:00 818

原创 快速排序、大根堆排序比较,C++详解

具体的过程为:先将数组的第一个元素作为pivot,然后使得low指针指向数组中的第一个元素,hight指向数组中的最后一个元素,然后看hight指向的元素,如果小于pivot则与hight指向的元素交换,否则继续向左移动,如果元素发生了交换,就让low指针再向右移动比较指向的值与pivot的大小,如果更大,就与hight指向的元素交换位置,否则继续向右移动。例如,当数组已经有序,而每次选择的枢轴都是数组的第一个或最后一个元素时,会导致每次划分都极不平衡,从而时间复杂度变为O(n²)。

2025-02-22 15:19:06 788

原创 蓝桥杯python练习——单词分析,成绩统计,门牌制作

我最开始想的是使用一个字典,然后遍历字符串,将所有出现过的字符加入到字典中然后设置初始值为0,再第二次遍历,检测到一个字符就将该字符对应的字典数加一,然后设立max为0,遍历字典找到出现次数最多的值,最后再遍历一次字典,发现次数为max则放入ans列表,排列ans列表后,输出列表的第一个值和max即可。思路为,枚举1到2020,再将其强制转化为字符串类型,使用字符串里的count函数求出字符2的数目,累加起来即可,结果为624。接下来 nn 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。

2025-02-22 15:18:24 714

原创 数据库,DCL语句详解

DCL 代表 Data Control Language(数据控制语言),是 SQL 的一部分,用于控制数据库的访问权限和安全性。

2024-12-08 09:00:00 520

原创 二叉排序树的建立,查找,插入,删除,C++详解

删除操作也按预期执行,当删除具有两个子节点的节点15时,算法选择了右子树中的最小节点来替代被删除的节点,确保了树的结构仍然满足二叉排序树的要求。而对于二叉排序树来说任何节点的键值一定大于其左子树中的每一个节点的键值,并小于其右子树中的每一个节点的键值。2如果要插入的数比当前结点大,就往当前结点的右子树走,否则就往当前结点的左子树走,直到末端,如果比末端的这个元素小,就成为它的左孩子,否则就成为它的右孩子。如果当前结点比要找的数小,就往当前结点的右子树找,否则就往当前结点的左子树找。

2024-12-08 08:30:00 1768

原创 数据库,DQL(select)语句详解(基本,条件,聚合,分组,排序,分页)

DQL 代表 Data Query Language(数据查询语言),是 SQL(Structured Query Language,结构化查询语言)的一个子集,主要用于从数据库中检索数据。DQL 的主要语句是。where是分组之前就进行过滤,不满足where不分组,having是分组后对结果进行过滤。语句,它允许用户从一个或多个表中查询数据,并可以使用各种子句来过滤、排序和聚合数据。where不对聚合函数进行判断,having对聚合函数进行判断。ASC是升序,DESC是降序。将每列数据作为一个整体。

2024-12-07 09:00:00 290

原创 拓扑排序,C++详解

由于用的是邻接表存储,所以有三个结构体,一个是头结点,一个是单位结点(也就是跟在头结点后面的)还有一个我命名为额外信息,存储的是顶点个数,边的个数,以及用一个数组存下来了所有的头结点,由于本题比较特殊需要用到每个顶点的入度,所以添加一个入度数组。4每次出栈的时候count都会加一,最后比较count与顶点数的大小,如果count更小,说明没有让所有顶点都入栈,即图中存在回路。3出栈栈顶元素,然后根据邻接表遍历它的后续结点,让这个顶点指向的顶点入度减一,此时如果入度为0则让它入栈。再根据邻接表初始化。

2024-12-07 08:30:00 591

原创 数据库,DML(insert,update,delete)语句详解

DML是SQL(Structured Query Language,结构化查询语言)的一部分,主要用于对数据库中的数据进行操作。语句用于向表中插入新记录。你需要指定要插入的列及其对应的值。如果省略列名,则需要提供所有列的值。

2024-12-06 10:00:00 389

原创 深度优先生成树,广度优先生成树,C++详解

由于用的是邻接表存储,所以有三个结构体,一个是头结点,一个是单位结点(也就是跟在头结点后面的)还有一个我命名为额外信息,存储的是顶点个数,边的个数,以及用一个数组存下来了所有的头结点。我这里使用的比较笨的办法,一个头结点一个头结点的初始化,由于有10个结点所以代码量比较大。2访问当前结点的下一个结点,如果没走过(visit为false)就对它进行dfs。2只要队列不为空,先拿出队头元素,访问它的每一个单位结点,只要那个结点没走过就入队。按照教材里给的图的形状将树输入到程序中,从而生成一个图。

2024-12-06 09:30:00 1252

原创 稀疏矩阵的转置详解(三元组表)

在m×n 的矩阵中,有t个非零元。,将原始三元组表里j最小的那组数据存入转置后的那个三元组表,随着循环不断进行,转置后的三元组表就完成了,具体过程可以看我的代码(有详细注释)稀疏矩阵的应用:设计算法并编程实现用三元组顺序表解决稀疏矩阵的转置问题,用2种方法实现并分析比较2种算法的时间和空间复杂性。进行这个矩阵的转置,难点在于,转置前三元组表从上到下行数不断增加,转置后也应当是从上到下行数不断增加。cpot[nu]:初始值表示矩阵A中某列的第一个非零元素在B中的位置。转置后矩阵B的行数为转置前矩阵A的列数。

2024-11-22 09:00:00 547

原创 非递归实现二叉树的后序遍历,详解

若栈顶结点的标志flag=1,则表明栈顶结点的左子树已遍历完毕,将flag修改为2,并遍历栈顶结点的右子树;若栈顶结点的标志flag=2,则表明栈顶结点的右子树也遍历完毕,输出栈顶结点。2.如果当前结点为空,就返回上一个结点,如果此时右结点为空就表示这是个叶子结点,我们就可以直接输出它的data。4.如果右结点不为空,就更新当前结点的flag为2,入栈,然后进入它的右节点。,当flag为2时也可以输出当前结点,这时输出的结点不是叶子结点,是已经被遍历过一次的结点。二叉树后序遍历的非递归算法。

2024-11-22 08:30:00 1547

原创 求二叉树结点总数,求ASCII码最大的结点的层次,详解

(1)假设一棵二叉树为A(B(D,E(G,)),C(,F(,H))),设计一个算法求此二叉树中结点总数并实现。由于先序遍历是一个递归的遍历,如果要找里面的最大值,那么使用一般局部变量和全局变量都不太合适,于是我使用了静态局部变量,确保不会出现定义模糊的情况。同样是一个递归的思路,但没上一个好理解,可以边看代码边理解。遍历上述二叉树,求出二叉树中结点ASCII码值最大的结点和该结点的层次(假设根结点层次为1)。这里使用的是赋值的方法,朴素的搭建起题目要求建的那棵树。采用递归的方法求出二叉树的结点总数。

2024-11-19 09:00:00 297

原创 DFS(深度优先遍历)邻接表 详解

最后就是关键的DFS了,题目要求为从结点3开始遍历,所以先输出3,由邻接表,结点3后一个为结点0,因为0结点尚未走过,于是转化到v0头结点,输出0,v0头结点的后一个1,恰好1也没走过,于是转换到v1,输出1,v1头结点之后为0,已经走过,于是往后到2,尚未走过,于是转换到v2,输出2,v2之后为1,已经走过,于是往后到3,也走过,继续到4,没有走,于是转换到v4,输出4,再遍历v4后的结点发现都走过了,于是结束dfs。结合图片模拟过程理解邻接表的DFS。dfs的结果就为:30124。

2024-11-19 08:30:00 802

原创 表达式求值问题(中缀转后缀,对后缀求值)详解

表达式求值问题。这里限定的表达式求值问题是: 用户输入一个包含“+”、“-”、“*”、“/”、正整数和圆括号的合法数学表达式,计算该表达式的运算结果。算术表达式求值过程是: STEP 1:先将算术表达式转换成后缀表达式。STEP 2:然后对该后缀表达式求值。在设计相关算法中用到栈,这里采用顺序栈存储结构。

2024-11-15 09:00:00 913

原创 火车车厢重排问题,C++详解

火车车厢重排问题实验说明:转轨站示意图如下:火车车厢重排过程如下: 火车车厢重排算法伪代码如下: 这是一看就是一道模拟题,主要是根据题目给出的伪代码实现对应的过程,要求比较强的代码复现能力与调试能力。 一共需要4个队列,一个是入轨的队列。还有三个缓冲队列,具体过程为先拿出入轨队列的第一个元素,如果是1的话就说明要出队作为结果,如果不是就要放入缓冲队列,然后再从入轨里拿队员。 关键来了,后面要找出缓冲队列中队尾元素小于我们拿出来的这个值的元素,然后找到这几个元素的最

2024-11-15 08:30:00 643

原创 实现一元多项式求和(数据结构实验项目2)

输入数据时会先输入p和q有的项数,然后输入p和q每项的系数和指数。q为:7+x+3x2+6x3。第二组数据:p为:3+4x+6x2+3x3。输入计算机,计算它们的和并输出计算结果。第一组:p为:5+3x+4x2+3x3。这里尝试两组一元多项式作为示例。把任意给定的两个一元多项式。

2024-11-08 09:30:00 420

原创 队列实现约瑟夫环(数据结构实验报告1)

约瑟夫环问题:设编号为1,2,3,……,n的n(n>0)个人按顺时针方向围坐一圈,m为任意一个正整数。从第一个人开始顺时针方向自1起顺序报数,报到m时停止并且报m的人出列,再从他的下一个人开始重新从1报数,报到m时停止并且报m的人出列。要求设计一个程序模拟此过程,对任意给定的m和n,求出出列编号序列。有n个人,围绕一圈循环报数,报到m的人出列,剩余人继续循环报数,直到所有人都出列。从队头开始报数,报数到m的人就出队,报数不是m的人就移动到队尾。输入n和m,输出报到m的人的编号。输入8个人,报到4的人出列。

2024-11-08 09:00:00 436

原创 SQL 数据定义语言(DDL语句)

对于这个char,定长字符串,即使只有第一位存放数据,他也会占用10个空间,另外的9个位置会使用空格进行补位。ALTER TABLE 表名 ADD字段名类型(长度)[COMMENT注释] [约束]MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。字段1 字段1类型[COMMENT 字段1注释],字段2 字段2类型[COMMENT 字段2注释],字段3 字段3类型[COMMENT 字段3注释],字段n字段n类型[COMMENT 字段n注释],

2024-10-30 10:00:00 729

原创 数据库基本概念,SQL通用语法与分类

(数据库,表,字段)

2024-10-30 09:00:00 677

原创 HTTP协议基础

HTTP请求头(Request Headers)和响应头(Response Headers)是HTTP消息的一部分,它们携带了客户端和服务端之间的元信息,这些元信息有助于控制请求或响应的行为。返回HTTP响应:服务器返回一个HTTP响应,包括状态码(如200表示成功,404表示页面未找到等)、响应头(如Content-Type指明响应内容的类型,如text/html代表HTML文档)以及响应主体(即实际的网页内容)。由于这样的重定向是临时的,客户端应当继续使用原有地址进行以后的请求。

2024-10-22 10:00:00 692

原创 使用递归找所有迷宫路径,求二维数组的存储量与地址(数据结构作业06)

从入口(1,1)到出口(4,2)的路径。,使用递归思想,找出。

2024-10-22 09:30:00 238

原创 使用队列走出迷宫,BF算法与KMP算法(数据结构作业05)

有目标串s=“bbcgabcdabgabcdabcdabde”和模式串t=“abcdabd”。用KMP算法进行模式匹配,共经过几次比较?上机实现完整程序代码和运行结果。用BF算法进行模式匹配,共经过几次比较?上机实现完整程序代码和运行结果。利用顺序队求一个从指定入口(1,1)到出口(4,2)的路径。有一个迷宫如下图所示。

2024-10-15 09:00:00 292

原创 PHP代码调试(vscode+xdebug+phpstudy)

第一步是配置php的环境变量,csdn里有很多文章可以直接搜索即可了解怎么配置,大概就是将phpstudy里的php文件位置复制到环境变量里,最后使用cmd检查是否配置成功。将php的路径放到此处,该路径就在小皮的Extensions里面。在vscode左侧的拓展处搜索可下载这个php debug。创建这个文件,注意端口号要与小皮里的一致。使用记事本打开配置文件里的php.ini。再点开phpdebug里的json。再点击它设置里的扩展组件。点开文件,首选项里的设置。点开vscode里的调试。

2024-10-09 09:00:00 2368 2

原创 PHP简单登录系统

这是注销过程的第一步,确保会话中的所有数据都被清除。函数会删除服务器端与会话相关的文件或数据库记录,但不会删除客户端的Cookie(这就是为什么前面需要使用。:这是一个属性,用来关联标签与具体的表单控件。函数创建一个过期的Cookie,其名称与会话名称相同,有效期设置为过去的某个时间点(函数开始一个新的会话或者重新启动一个已存在的会话。:这是一个标签元素,用于为表单中的输入字段提供描述性的标签。这行代码开始一个新的会话或者恢复一个已经存在的会话。:定义了两个输入字段,一个是用户名,一个是密码。

2024-10-08 10:00:00 1365

原创 PHP 表单基础

当处理 HTML 表单时,PHP 能把来自 HTML 页面中的表单元素自动变成可供 PHP 脚本使用。预定义的 $_REQUEST 变量包含了 $_GET、$_POST 和 $_COOKIE 的内容。1.使用 PHP trim() 函数去除用户输入数据中不必要的字符 (如:空格,tab,换行)。预定义的 $_POST 变量用于收集来自 method="post" 的表单中的值。预定义的 $_GET 变量用于收集来自 method="get" 的表单中的值。首先,我们需要在HTML中创建一个下拉菜单。

2024-10-08 09:30:00 890

原创 利用顺序栈输出对应的二进制数,找迷宫出口详解(数据结构作业04)

键盘输入一个十进制正整数89,用C语言设计一个算法,利用顺序栈输出对应的二进制数。利用顺序栈求一个从指定入口(1,1)到出口(4,4)的路径。

2024-10-07 10:30:00 198

原创 PHP基本语法总结

PHP 脚本以 <?php 开始,以?

2024-10-07 10:00:00 2317

原创 CSS选择器 快速入门

CSS 选择器用于选择你想要的元素的样式的模式。可以用于调节字体,字体宽度大小颜色。例如,可以选择所有的<p>标签,并改变它们的颜色;或者选择具有特定类名的元素,应用特定的边距和填充等等。

2024-10-05 16:57:59 451

原创 使用JavaScript写一个网页端的四则运算器

如果用户点击了button,就将输入的num1赋值给num1,输入的num2赋值给num2,输入的运算符赋值给operator,将result使用performCalculation函数计算出,并将结果更新到页面的结果显示区域。检测不同的运算符,如果是加减乘就进行对应的运算,如果是除法要特判一下除数不能为0,如果为0就使用alert弹出警告。: 输入框,类型为数字(number),要求必填(required)。: 输入框,类型为数字(number),要求必填(required)。: 标签(num1)。

2024-10-05 16:47:51 764

原创 使用html写一个能发起请求的登录界面

这是文档类型声明,告诉浏览器这是一个 HTML文档。这是 HTML 文档的根元素,lang="en" 表明文档的主要语言是英语。

2024-10-03 22:12:17 1682 1

原创 关系数据库标准语言SQL(11,12)

EXISTS谓词代表存在量词,带有EXISTS谓词的子查询只返回逻辑真值“true”或逻辑假值“false'”

2024-10-03 15:31:12 767

原创 关系数据库标准语言SQL(9,10)

SELECT Sno ,Sname FROM Student WHERE Sno IN(SELECT Sno FROM SC WHERE Cno IN(SELECT Cno FROM Course WHERE Cname=·信息系统));在嵌套查询中,子查询的结果往往是个集合,用IN谓词表示父查询的条件在子查询结果的集合中。④外层查询(父查询)、内层查询(子查询)

2024-09-27 10:00:00 493

原创 关系数据库标准语言SQL(7,8)

【例】查询年龄不在20~23岁之间的学生,姓名、系别和年龄 SELECT Sname,Sdept,Sage FROM Student WHERE Sage NOT BETWEEN 20 AND 23;【例】查询信息系数学系和计算机科学系学生的姓名和性别 SELECT Sname,Ssex FROM Student WHERE SdeptIN('IS','MA','CS');

2024-09-27 09:30:00 911

空空如也

空空如也

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

TA关注的人

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