自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 acwing单调栈

优化的方法主要是通过单调栈来解决问题,因为题目要求的是要找到当前数字前最近的小于他的数字,,所以说后插入进来的数字如果小于栈之前的数字 就可以直接把栈之前的数字删除。简单来说就是将原本栈里面所有比当前插入进去的数字大的数字全部删除 以此来减少比较的次数 优化了时间复杂度。共一行,包含 N 个整数,其中第 i 个数表示第 i 个数的左边第一个比它小的数,如果不存在则输出 − 1。给定一个长度为 N 的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出 − 1。1≤数列中元素≤10^9。

2024-10-14 19:27:35 376

原创 B3631 单向链表

实现一个数据结构,维护一张表(最初只有一个元素1需要支持下面的操作,其中x和y都是1到106范围内的正整数,且保证任何时间表中所有数字均不相同,操作数量不多于1051 x yyx2 xxx03 xx。

2024-10-13 15:19:01 1259

原创 acwing排列数字、n皇后

每个解决方案占 n行,每行输出一个长度为 n的字符串,用来表示完整的棋盘状态。其中 . 表示某一个位置的方格状态为空,Q 表示某一个位置的方格上摆着皇后。每个方案输出完成后,输出一个空行。n−皇后问题是指将 n个皇后放在 n×n的国际象棋棋盘上,使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行、同一列或同一斜线上。给定一个整数 n,将数字 1∼n排成一排,将会有很多种排列方法。现在给定整数 n,请你输出所有的满足条件的棋子摆法。现在,请你按照字典序将所有的排列方法输出。共一行,包含一个整数 n。

2024-10-12 05:00:00 221

原创 dfs复习版

DFS即Depth First Search,深度优先搜索。简单地理解为一条路走到黑。即可以吧dfs看成是一个很执着的人 一条路走到头以该图为例:先走A,然后到B,到了B有三种情况,意味着这条路还没走完,那我就接着走,从B走到E,走到E之后没路了。那我就回溯到B,为什么呢?因为我原本走到B的时候就有三种情况,但是刚刚只走了一种情况,因此我要回到B再去尝试第二条路,于是我们就从E回到B,然后从B去F。到了F,又没路了,那我们就回到B走第三种情况,从B到G。这样我们就走完了从A->B的三种情况。

2024-10-11 20:14:37 1198 1

原创 每日算法题一:

例如操作过程中一共插入了 n 个数,则按照插入的时间顺序,这 n 个数依次为:第 1 个插入的数,第 2 个插入的数,…例如操作过程中一共插入了 n 个数,则按照插入的时间顺序,这 n 个数依次为:第 1 个插入的数,第 2 个插入的数,…I k x,表示在第 k 个插入的数后面插入一个数 x(此操作中 k 均大于 0)。D k,表示删除第 k 个插入的数后面的数(当 k 为 0 时,表示删除头结点)。IL k x,表示在第 k 个插入的数左侧插入一个数。在第 k 个插入的数左侧插入一个数;

2024-10-11 19:33:58 498

原创 acwing用数组实现单双链表

实现一个单链表,链表初始为空,支持三种操作:​ 向链表头插入一个数;​ 删除第 k 个插入的数后面的数;​ 在第 k 个插入的数后插入一个数。现在要对该链表进行 M 次操作,进行完所有操作后,从头到尾输出整个链表。注意:题目中第 k 个插入的数并不是指当前链表的第 k 个数。例如操作过程中一共插入了 n 个数,则按照插入的时间顺序,这 n 个数依次为:第 1 个插入的数,第 2 个插入的数,…第 n 个插入的数。

2024-10-09 09:51:55 537

原创 用数组实现双联链表

在这里没有定义head,直接让0号点是head,下标为1的点是最右边的点//e[i] 表示节点i的值为多少//l[i] 表示节点i指向左边的指针//r[i] 表示节点i的指向右边的指针//idx 相当于一个指针 表示当前已经用到了哪个点。

2024-10-09 09:49:46 426

原创 用数组实现单链表

/head 表示头节点的下标//e[i] 表示节点i的值为多少//ne[i] 表示节点i的next指针是多少//idx 相当于一个指针 表示当前已经用到了哪个点。

2024-10-06 17:24:16 315

原创 django分发路由

1、创建app2应用,在app2文件夹下创建“urls.py”文件,在“urls.py”文件中增加路由信息。1、在每个 app 目录里都创建一个 urls.py 文件,记录该应用的路由信息。让Django项目的每个app都单独拥有自己的 urls,减少混淆,容易维护。2、在项目的 urls.py 文件里,统一将路径分发给各个 app 目录。2、在app2 、app1的“views.py”文件中添加视图函数。3、在myshop项目的“urls.py”文件中添加路由分发信息。

2024-09-13 23:18:34 507

原创 P1427 小鱼的数字游戏P1028 数的计算

小鱼最近被要求参加一个数字游戏,要求它把看到的一串数字ai​(长度不一定,以0结束),记住了然后反着念出来(表示结束的数字0就不要念出来了)。这对小鱼的那点记忆力来说实在是太难了,你也不想想小鱼的整个脑袋才多大,其中一部分还是好吃的肉!所以请你帮小鱼编程解决这个问题。

2024-09-13 11:10:01 1385

原创 acwing斐波那契额数列 翻硬币

现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢?桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。在一行中输出斐波那契数列的前 NN 项,数字之间用空格隔开。两行等长的字符串,分别表示初始状态和要达到的目标状态。这个数列从第 33 项开始,每一项都等于前两项之和。输入一个整数 NN,请你输出这个序列的前 NN 项。我们约定:把翻动相邻的两个硬币叫做一步操作。小明正在玩一个“翻硬币”的游戏。

2024-09-12 21:35:51 468

原创 递推(c++)

与递归相反 递归是将一个问题分成若干个子问题​ 而递推是先求出若干个子问题 再去推出那个问题。

2024-09-12 21:34:38 499

原创 递归(c++)

从 1∼n1∼n 这 nn 个整数中随机选出 mm 个,输出所有可能的选择方案。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面(例如。从 1~n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。把 1~n 这 n 个整数排成一行后随机打乱顺序,输出所有可能的次序。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面。首先,同一行内的数升序排列,相邻两个数用一个空格隔开。按照从小到大的顺序输出所有方案,每行 11 个。按照从小到大的顺序输出所有方案,每行1个。

2024-09-11 22:28:41 601

原创 vscode配置django环境并创建django项目

创建文件夹 并在vscode打开终端输入命令 “ python -m venv env ” 查看目录结构。

2024-09-11 22:23:56 1724 1

原创 P4325 Modulo P4414ABC

给出10个整数,问这些整数除以42后得到的余数有多少种。

2024-09-03 11:22:17 325

原创 dfs算法复习

深度优先算法 一条路走到黑代码模版如下 将1~n 所有的排列组合方式 列举出来。

2024-09-03 11:07:17 448

原创 洛谷 P1888 三角函数P2676 [USACO07DEC] Bookshelf B

输入一组勾股数abcabc,用分数格式输出其较小锐角的正弦值。(要求约分。

2024-09-02 14:27:47 967

原创 快速排序算法

修改代码一的短板 在代码一中quick_sort方法的最后一行 ,每次都要进行两次循环 显然提高了时间复杂度 这里直接根据题意可以使用if判断来减少时间复杂度。第一行包含两个整数 n 和 k。第二行包含 n 个整数(所有整数均在1~109范围内),表示整数数列。给定一个长度为n的整数数列,以及一个整数k,请用快速选择算法求出数列的第k小的数是多少。传统的先使用快速排序算法排好序,然后取出第k的数字。输出一个整数,表示数列的第k小数。

2024-09-02 11:14:21 212

原创 DFS与BFS

DFS即Depth First Search,深度优先搜索。简单地理解为一条路走到黑。以该图为例:先走A,然后到B,到了B有三种情况,意味着这条路还没走完,那我就接着走,从B走到E,走到E之后没路了。那我就回溯到B,为什么呢?因为我原本走到B的时候就有三种情况,但是刚刚只走了一种情况,因此我要回到B再去尝试第二条路,于是我们就从E回到B,然后从B去F。到了F,又没路了,那我们就回到B走第三种情况,从B到G。这样我们就走完了从A->B的三种情况。

2024-08-24 23:06:57 1680

原创 Dijkstra(c++)

迪杰斯特拉算法(Dijkstra)是由荷兰计算机科学家狄克斯特拉于1959年提出的,因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。迪杰斯特拉算法主要特点是从起始点开始,采用贪心算法的策略,每次遍历到始点距离最近且未访问过的顶点的邻接节点,直到扩展到终点为止。同时dijkstra算法主要用于解决单源最短路问题(边权为正数),其可以分为两种版本,两种版本各有用处,并不存在好坏之分,接下来我们用n代表点的数量,用m代表边的数量。

2024-08-24 16:18:08 935

原创 c++拓扑排序

图的拓扑序列是针对有向图来说的 无向图没有拓扑序列若一个由图中所有点构成的序列 A 满足:对于图中的每条边 (x,y),x 在 A 中都出现在 y 之前,则称 A 是该图的一个拓扑序列。举个例子:在下图中有一个序列 在该序列中 1 2 3为一个拓扑序列因为在(1,2)中 1在2前面 (1,3)中 1在3前面 (2,3)中 2在3前面所以成立并不是每个序列都有拓扑序列举个例子:如下图所示 如果存在环 一定没有拓扑序列有向无环图又被称为拓扑图在这里在介绍两个概念 : 入度和出度。

2024-08-23 22:27:47 374

原创 树与图的宽度优先遍历

大致思想请参照该篇博客主要地方的差异就是:宽度优先遍历就是一层一层的搜索。

2024-08-23 22:25:52 384

原创 acwing树的重心

给定一颗树,树中包含 n 个结点(编号 1∼n)和 n−1 条无向边。请你找到树的重心,并输出将重心删除后,剩余各个连通块中点数的最大值。重心定义:重心是指树中的一个结点,如果将这个点删除后,剩余各个连通块中点数的最大值最小,那么这个节点被称为树的重心。

2024-08-22 22:03:39 307

原创 树与图的深度优先遍历

重心定义:重心是指树中的一个结点,如果将这个点删除后,剩余各个连通块中点数的最大值最小,那么这个节点被称为树的重心。接下来 n−1 行,每行包含两个整数 a 和 b,表示点 a 和点 b 之间存在一条边。请你找到树的重心,并输出将重心删除后,剩余各个连通块中点数的最大值。输出一个整数 m,表示将重心删除后,剩余各个连通块中点数的最大值。1、邻接矩阵 g[a,b] 存储 a -> b这条边的信息。有向图(边是有方向的: a -> b);无向图(边是无方向的 : a - b )

2024-08-22 21:48:44 412

原创 acwing走迷宫

一个人位于左上角 (1,1)处,已知该人每次可以向上、下、左、右任意一个方向移动一个位置。请问,该人从左上角移动至右下角 (n,m) 处,给定一个 n×m 的二维整数数组,用来表示一个迷宫,数组中只包含 0 或 1,其中 0 表示可以走的路,1 表示不可通过的墙壁。的坐标,这里举一些特殊的情况:距离为3的点 ,最后可以得到如上图所示。数据保证 (1,1) 处和 (n,m) 处的数字为 0,且一定至少存在一条通路。接下来 n 行,每行包含 m 个整数(0 或 1),表示完整的二维数组迷宫。

2024-08-21 16:54:57 383

原创 BFS宽度优先搜索

适用于处理的问题 只有当边权都一样的时候(比如边权都是1)才可以使用BFSBFS即Breadth First Search,即广度优先搜索。如果说DFS是一条路走到黑的话,BFS就完全相反了。BFS会在每个岔路口都各向前走一步。因此其遍历顺序如下图所示:我们发现每次搜索的位置都是距离当前节点最近的点。因此,BFS是具有最短路的性质的。为什么呢?这就类似于我们后面要学习的贪心策略。这里简单地介绍一下贪心,假设我们可以做出12次选择。我们想得到一个最好的方案。

2024-08-21 16:53:31 510

原创 位运算与常用库函数

返回去重之后的尾迭代器(或指针),仍然为前闭后开,即这个迭代器是去重之后末尾元素的下一个位置。该函数常用于离散化,利用迭代器(或指针)的减法,可计算出去重后的元素个数。upper_bound 的用法和lower_bound大致相同,唯一的区别是查找第一个大于x的元素。lower_bound 的第三个参数传入一个元素x,在两个迭代器(指针)指定的部分上执行二分查找,返回指向第一个大于等于x的元素的位置的迭代器(指针)。翻转一个数组,元素存放在下标1~n: 左开右闭,左边的数字可以取到,右边的取不到。

2024-08-20 19:41:15 497

原创 c++ stl库

所有的容器都可以视作一个“前闭后开”的结构,end函数返回vector的尾部,即第n个元素再往后的“边界”。set和multiset的迭代器称为“双向访问迭代器”,不支持“随机访问”,支持星号(*)解除引用,仅支持”++”和–“两个与算术相关的操作。设x是一个元素,s.erase(x) 从s中删除所有等于x的元素,时间复杂度为O(k+logn),其中k是被删除的元素个数。​ s.count(x) 返回集合s中等于x的元素个数,时间复杂度为 O(k +logn),其中k为元素x的个数。

2024-08-20 19:40:23 820

原创 P1036 [NOIP2002 普及组] 选数

在dfs函数中,我们明显能看到一个参数 startx。比如说在6里面随便选5个数,那么选法都是什么呢?其实这里的难点是:def算法 加上 如何去重?是startx而不是start是为了避免关键字。个整数相加,可分别得到一系列的和。知道了不降原则,咱们再来see see 代码。现在,要求你计算出和为素数共有多少种。”应该是4,因为是升序排列。也就是最小的,符合不降原则的参数。就是这样的,枚举还是蛮清晰的吧。所以说,这样就可以避免判重了。咱们最主要看其中不降原则的部分。输出一个整数,表示种类数。

2024-08-19 23:28:47 809

原创 c++中stl库

所有的容器都可以视作一个“前闭后开”的结构,end函数返回vector的尾部,即第n个元素再往后的“边界”。set和multiset的迭代器称为“双向访问迭代器”,不支持“随机访问”,支持星号(*)解除引用,仅支持”++”和–“两个与算术相关的操作。设x是一个元素,s.erase(x) 从s中删除所有等于x的元素,时间复杂度为O(k+logn),其中k是被删除的元素个数。​ s.count(x) 返回集合s中等于x的元素个数,时间复杂度为 O(k +logn),其中k为元素x的个数。

2024-08-18 23:56:16 840

原创 BFS宽度优先搜索

我们发现每次搜索的位置都是距离当前节点最近的点。因此,BFS是具有最短路的性质的。这就类似于我们后面要学习的贪心策略。这里简单地介绍一下贪心,假设我们可以做出12次选择。那么我们可以在第一次选择的时候,做出当前最好的选择,在第二次选择的时候,再做出那时候最好的选择,由此积累。当我们在每次的选择面前,都做到了当前最好的选择,那么我们就可以由局部最优推出整体最优。这里也是类似的,我们可以在每次出发的时候,走到离自己最近的点,由此我们每次都保证走最近的,那从局部最近推整体最近,必有一条路是整体最近的。

2024-08-18 23:54:52 200

原创 DFS介绍

DFS即Depth First Search,深度优先搜索。简单地理解为一条路走到黑。以该图为例:先走A,然后到B,到了B有三种情况,意味着这条路还没走完,那我就接着走,从B走到E,走到E之后没路了。那我就回溯到B,为什么呢?因为我原本走到B的时候就有三种情况,但是刚刚只走了一种情况,因此我要回到B再去尝试第二条路,于是我们就从E回到B,然后从B去F。到了F,又没路了,那我们就回到B走第三种情况,从B到G。这样我们就走完了从A->B的三种情况。

2024-08-18 23:53:52 836

原创 acwing排列数字

在字典中,单词是按照首字母在字母表中的顺序进行排列的,比如 alpha 在 beta 之前。而第一个字母相同时,会去比较两个单词的第二个字母在字母表中的顺序,比如 account 在 advanced 之前,以此类推。字典序(dictionary order),又称 字母序(alphabetical order),含义是表示英文单词在字典中的先后顺序,在计算机领域中扩展成两个任意字符串的大小关系。给定一个整数 n,将数字 1∼n 排成一排,将会有很多种排列方法。现在,请你按照字典序将所有的排列方法输出。

2024-08-18 23:52:13 328

原创 acwing跳台阶、走方格

的方格阵,沿着方格的边线走,从左上角 (0,0)开始,每次只能往右或者往下走一个单位距离,问走到右下角 (n,m)一共有多少种不同的走法。下面来解释一下图上的内容 ,因为每一次可以跳一级或者两级,所以在该图中每次数字之间的差距也都是1或者是2,该图中就列举出了所有的可能性,最后只需要计算出最终数字为5的次数就可以了。该题主要运用的思想是递归的思想,也涉及到了dfs(深度优先搜索)算法。一个楼梯共有 n 级台阶,每次可以走一级或者两级,共一行,包含一个整数,表示走法数量。共一行,包含一个整数,表示方案数。

2024-08-18 23:51:33 380

原创 uniapp开发中遇到的问题

在写项目的时候前期需求要求底部导航栏中间部分凸起,样式为一个蓝色的圈圈(发布按钮),而原生的uniapp不支持自定义底部导航栏,于是需要进行自定义修改。

2024-08-17 23:32:44 974

原创 HBuilderX怎么把uni-app项目运行到微信开发者工具上

方法一:在微信开发者工具中获取APPID。方法二: 在小程序后台获取。

2024-08-17 23:25:12 361

原创 Vue中调整组件的高度及其他样式

请注意,具体的实现方法可能需要根据你的具体布局和样式需求来调整。变长,你可以使用CSS来调整它的高度。根据内容自动调整高度,确保它内部没有固定高度的元素,或者使用。:如果你需要根据Vue组件的状态来动态调整高度,可以使用。:如果你的布局使用的是CSS Grid,你可以设置。至少有某个高度,但是又不超过某个最大高度,可以使用。是在一个flex容器中,你可以设置它的。在Vue组件中,如果想让一个组件如。所在的行或列来占据更多空间。属性来让它占据更多的空间。然后在你的Vue实例的。属性来处理溢出的内容。

2024-08-16 23:30:51 599

原创 微信小程序在不同移动设备上的差异导致原因

自适应单位,但是还是出现了在不同机型上布局不统一的问题,在此记录一下在首页做一个输入框,在测试的时候,这个输入框在不同的机型上到处跑,后来排查了很久都不知道为什么会这样。给背景图片加了一个高度,之后,下面的组件就没有再乱跑,换了不同机型也没有再出现差异了。在写小程序的时候用了。

2024-08-16 23:28:20 1085

原创 微信小程序自定义弹窗

提到uniapp自定义弹窗,,估计大部分人第一个想到的都是uni-popup这个弹窗效果,今天也尝试了一下,看到人家的效果图确实好看,但是对我这种不走小程序这条路的人不太友好,,浅浅学了vue,这里介绍一个自定义的弹窗方法。

2024-08-15 23:28:06 1660

原创 微信小程序的四种弹窗使用

总而言之,这四个能处理很少一部分弹窗效果 个人感觉,因为支持的方法太少了,前几天想找个支持照片跟文字的,尝试好久都不行,

2024-08-15 23:03:45 9975

基于web3D的老年服务可视化大屏

基于Web3D的老年服务可视化大屏是一个利用三维互联网技术来提升养老服务质量和效率的项目。这个项目通过创建一个三维的、交互式的、实时的可视化界面,使得老年人的服务数据和信息能够以一种直观和易于理解的方式展现给用户。以下是该项目的一些关键特点和应用场景: 数据可视化:通过将复杂的数据集转化为图形和图表,如柱状图、饼图等,使得管理者和老年人能够快速把握服务的供需情况、服务质量和健康状况等关键信息。 实时监控:大屏可以实时展示老年人的活动数据和生活指标,及时发现异常并进行干预,确保老年人的安全和健康。 服务优化:通过分析大屏上的数据,养老服务提供者可以更好地理解老年人的需求,从而提供更加精准和个性化的服务。 智能交互:利用Web3D技术,用户可以通过简单的操作与大屏进行交互,比如点击、拖拽等,以获取更详细的信息或进行特定的操作。 适老化设计:考虑到老年人可能存在的视力、听力和认知能力下降的问题,大屏设计注重简洁性、易读性和易用性,确保老年人能够轻松使用。 多场景应用:不仅可以在养老机构中使用,还可以在监控中心、老年人家庭等多种场景中部署,提供生活辅助、健康管理、安全监测等功能。

2024-09-13

基于springboot的养老管理系统

基于Spring Boot的养老管理系统是一个为老年人提供服务和支持的软件项目。Spring Boot是一个流行的Java框架,用于创建微服务和独立、生产级的基于Spring框架的应用程序。以下是对这样一个养老管理系统项目的基本描述: 项目背景 随着全球人口老龄化的加剧,养老服务的需求日益增长。一个有效的养老管理系统可以帮助养老机构提高服务质量,优化资源配置,同时为老年人提供更加便捷和个性化的服务。 项目目标 提供一个用户友好的界面,方便老年人和护理人员使用。 实现老年人信息的数字化管理,包括健康档案、生活习惯等。 支持护理服务的预约和调度。 提供紧急情况的快速响应机制。 促进家庭成员与老年人之间的沟通。 核心功能 用户管理:注册、登录、权限控制等。 老年人档案管理:记录老年人的基本信息、健康记录等。 服务预约:护理服务、医疗咨询等预约功能。 健康监测:集成可穿戴设备,实时监测老年人健康状况。 紧急响应:一键呼叫、紧急联系人通知等。 家庭成员互动:家庭成员可以查看老年人状态,发送消息等。 数据分析:对老年人的健康数据进行分析,提供健康建议。 用户体验 简洁直观的用户界面,适合老年人使

2024-08-01

计算机语言中spring全家桶去进行简单的功能实现

内容概要:通过简化版的Spring框架去理解spring的使用以及各个组件和java类之间的联系与作用,了解spring核心原理。在逐步去写spring源码的时候去体会spring中各个注解的作用使用的位置,也要去体会整体框架的核心逻辑。从spring到springmvc再到springboot的逐步简化代码的过程,核心功能都没有改变,如::IOC、AOP、Bean生命周期、依赖的作用域、文件的上传和下载等内容实现。 适合人群:具备一定编程基础,掌握了spring全家桶或者工作1-3年的研发人员 能学到什么:①SM整合,SSM整合 spring与mybatis之间的相互关系 ②IOC、AOP、代理、切面等功能具体都是怎样实现的,都具有什么逻辑上的关系以及在框架中扮演的角色。 阅读建议:此资源主要用来开发简化版Spring的学习,去了解spring框架其原理和内核,不仅仅只是代码上的编写,也要去注重实践,要注意在内容上的需求分析和方案设计,所以在学习的过程要结合这些内容一起来实践,不要只是盲目的去编程敲代码,更要创新似的去体会spring框架的真正作用,用来达到自己想要的水平。

2023-08-22

空空如也

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

TA关注的人

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