自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 回文数(每日一题)

【代码】回文数(每日一题)

2023-04-05 21:27:55 71

原创 二叉树的遍历(每日一题)

因为我们输入的是中序遍历和按层遍历的字符串,然而按层遍历的第一个字符为二叉树的根,所以我们先序遍历的第一个就是按层遍历的第一个,然后我们就从中序遍历中可以分离出左子树和右子树,然后我们用一个left_tree,right_tree记录下来,记住。),分离出来的左子树和右子树也是二叉树且都是按层序遍历的,所以我们要先对左子树进行同样的操作,再对右子树进行同样的操作。接下来我们先把根输出,这里要用到find()函数(

2023-04-04 23:10:14 68

原创 级数求和(每日一题)

按题目的意思来做,这个题就非常容易做。

2023-04-01 21:21:16 73

原创 最大公约数和最小公倍数(每日一题)

,gcd()函数是我们用来求最大公约数的,而且我们要输入的第一个值n为最大公约数,第二个值m为最小公倍数,还有就是我们会碰到2种情况:(1)当n==m时,只有1种,我们直接输出1即可。=m时,那么我们就得想一些判断条件,我们这个值域可以再1到n*m之间,但是我们可以对它们积开根,这样缩小循环次数减少时间复杂度,只要把最后输出的那个数乘以2就行了。这个题我一定要知道gcd()函数(

2023-03-30 22:40:03 64

原创 棋盘方格(每日一题)

当边长为1的正方形有n*m个,边长为2的正方形有(n-1)*(m-1),边长为3的正方形有(n-2)*(m-3),以此类推正方形有。宽为1的长方形和正方形有m个,宽为2的长方形和正方形有m-1个,┉┉,宽为m的长方形和正方形有1个;长为1的长方形和正方形有n个,长为2的长方形和正方形有n-1个,┉┉,长为n的长方形和正方形有1个;

2023-03-30 21:47:28 47

原创 比赛安排(每日一题)

如果有n个球队进行单循环比赛,比赛需要进行n-1天内完成。所以我们首先要知道自己不能和自己比,而且一个球队除了自己这个球队外与其他球队都要打一场,而且只能打一场。因为这里要用到pow()函数,所以我们需要使用#include<cmath>这个头文件,然后我们定义一个sum来储存n的pow(2,n),nmb用来储存sum-1也就是需要比赛的天数。再定义2个数组a[70],b[70][70]并把它们初始化为0,然后我们为了不重复所以双重循环可以写成。当然还要写一些条件判断,这样我们就能避免重复了。

2023-03-29 21:51:23 94

原创 剪绳子(每日一题)

这个题考查浮点二分,用二分在0到数组最大值的区间内进行操作,用取中间值进行判断,判断若取长度为mid,在N根绳子能取多少根,一定得是等于M,则这个就是我们需要的值。

2023-03-28 21:45:49 32

原创 回文平方(每日一题)

怎么判断一个数为回文数,就是一个数不管是你倒着数或顺着数还是这个数,那么这个数就是回文数,那么我们可以用一个数组把它每个位数上的数都储存起来,假如我现在有一个数并知道它的长度为n,那么我用这么个。

2023-03-25 18:37:28 35

原创 蛇形矩阵(每日一题)

这个蛇形矩阵其实是有规矩可循的,左 -> 下 -> 右 -> 上,首先有一个点我们是完全可以确定的那就是第一个点永远都是1,然后我们永远都是先把最外层然后依次向内访问,直到所有点都被访问为止,也就是当这个点为n*m时。

2023-03-24 22:21:59 31

原创 数字三角形(每日一题-3)

我们从最底层开始往上走,然后推出该公式a[i][j]+=max(a[i+1][j],a[i+1][j+1])。就是我们向斜左下或斜右下走,然后我们要走出一个路径,我们要求出所有路径距离最大的那条,并把它输出来。

2023-03-22 22:49:46 40

原创 货仓选址(题目名称)

从这个题我们可以用以前学的数学知识,就是把这个题换成求这个数组的中位数,然后把数组的每个数减去这个中位数的绝对值,我们一定要用abs()这个函数,再定义一个ans来储存数组的每个数减去这个中位数的绝对值的和,最后把他输出来就行了。这个题目要我们求到达个商店的距离之和最短,所以我们的起点就是我们的选的货仓地址。

2023-03-21 22:35:02 45

原创 拼写正确(题解)

我们可以用一个数组来储存我们要用到的数字英文单词,我们一定的用String来定义这个要输入的数,因为这个题的数据范围非常大,不管是long long 或 int 的数据范围都太小了,所以只能用String,这样我们就不用担心这个数据范围了,记得定义一个sum来储存我们每个计数单位的和。题目的意思就是让我们把每个计数单位上的数一个一个的分离出来,然后再把它们全部加起来,然后再把这个和同样的把每个计数单位上的数一个一个的分离出来,然后用对应的数字英文单词表示出来。

2023-03-21 19:15:12 35

原创 数字三角形(洛谷)

我们设m[i][j]来表示点i,j到达底部的最大数之和。则m[i-1][j-1]=a[i-1][j-1]+max(m[i][j],,m[i][j-1])和m[i-1][j]=a[i-1][j]+max(m[i][j],m[i][j+1]),最后直接输出m[1][1]就可以得到最优解。首先从上到下坐标x递增,从左到右坐标y递增。假如最底层和最高层的最大数字之和已知,倒数第二层到达底层最大数字之和可以通过本层和最后一层推出,如此往复推,等我们到达顶部时,就是最优解。

2023-02-22 22:08:31 168

原创 宠物小精灵之收服(洛谷)

个精灵中选择精灵收服,且收服所用的精灵球为。我们用f[i,j1,j2]表示从前。个精灵中选择精灵收服,且收服所用的精灵球为。收服第i个小精灵或者不收服。个精灵球,皮卡丘的体力为。

2023-02-22 21:44:56 229

原创 分组背包(洛谷)

假如我们有n组物品,背包的容量是m,然而每组物品我们只能选一种物品或者不选,但是总容量不能超过m,而且要总价值最大。f[i,j]表示:n组物品中选,每组物品最多选一种或者不选,且总容量不能超过m的所有选法的集合。我们所以做的事情就是在f[i,j]的所有子集中选出价值最大的那个子集。

2023-02-22 21:04:10 171

原创 多重背包(洛谷)

表示,从i件物品中选,且所选物品的总体积不超过j的所有选法的集合,然后我们再选出这些方案中最有价值的一个方案我们用。种物品,每种物品有多件,而且每种物品的体积和价值不变。枚举i种物品中选几个,假如我们选。多重背包链接(洛谷)

2023-02-22 20:30:15 278

原创 寒假数据结构(五)

(2)其余节点可分为m个互不相交的非空集合T1,T2,...,Tm其中每个集合本身又是一颗树,称为根的子树。定义:是有n个点的有限集合,它或者为空集合,或者由一个跟节点及两个不相交的分别称为左子树和右子树组成的非空树,且左子树和右子树都是二叉树。完全二叉树:除了最后一层,其他层都是满的,而最后一层要么是满的,要么就是缺少右边连续的若干个节点。满二叉树:当树的深度为k时,而且有2^k-1个节点的二叉树(深度与最大层数相等)。当n>0时,为非空树。特点:(1)在第n层上最多有2^(n-1)个点(n>=1)。

2023-02-18 00:18:21 48

原创 寒假数据结构(四)

任意两点都含有边(含n个结点的完全有向图,有n*(n-1)条边;含n个结点的完全无向图,有n*(n-1)/2条边)。如果途中结点U、V之间存在一条从U通过若干条边、点到达V的通路,则称U、V是连通的。定义:是由一个非空的顶点集合和一个描述顶点之间关系(边)的有限集合组成。定义:先用一个数组将定点保存,然后采用矩阵来表示结点于结点之间的关系。定义:每一个和顶点i关联的顶点j依次构成一条链表,需要改变结点元素。出度:指向该点的顶点的边数目。有向图:有方向的边组成的图。无向图:无方向的边组成的图。

2023-02-05 11:55:53 49

原创 寒假数据结构基础(三)

map是键值对形式,一个key对应一个value。(2)Vector是最常用的一个集合,相当于一个动态数组。(3)Vector是向量类型,可以容纳许多类型的数据。栈是先进后出,而且插入,删除就只能在末端进行。队列只能在前端进行删除操作,后端进行插入操作。(1)Vector是一种简单的数据结构。Set里面不允许出现重复的值。(4)可以最大节约空间。

2023-02-05 10:57:59 54

原创 寒假数据结构基础(二)

定义:是一种特殊的线性结构,它的插入,删除只在一端进行,就比如一个栈S=(a1,a2,...,an),按a1,a2,...,an的顺序进栈,按an,...,a2,a1的顺序出栈。定义:假如有一个队列为Q=(a1,a2,...,an),队列元素按a1,a2,...,an的顺序入队后,入队的第一个元素a1为队头,最后一个元素an为队尾按先进先出的原则进行。(2)它的插入是限定在表的一端进行,删除限定在表另一端进行。定义:是将顺序储存的队列的一维数组首位相接形成环状。储存结构:顺序储存,链式储存。

2023-02-05 03:09:56 73 1

原创 寒假数据结构基础(一)

由于在开发程序的过程中会出现一些报错,这个时候我们就可以用断点调试,一步一步的看源代码执行过程中,发现代码的错误所在。一般都是在某一行设置一个断点,调试时,程序运行到这一行就会停止,然后就可以一步一步往下调试,调试过程中可以看各个变量当前的值,出错的话,调试到出错的代码即可,然后进行找到和分析处理这个Bug。线性表的2种储存方式,各有各的优点,首先是顺序表,最大的优点就是随机存取,节约空间,缺点是扩充困难,插入,删除需要大量移动数据;(2)只要知道第一元素的地址,我们就可以对线性表中的任意元素随机存取。

2023-02-05 01:59:11 77 1

原创 寒假集训第一节课后作业(时间复杂的的分析)

这一节让我学会了对算法时间复杂度的分析有了更深一步的了解,学会对时间复杂度的运用,首先要了解基本操作认为时间复杂度O(1),顺序结构时间复杂度按加法计算,循环结构时间复杂度按乘法计算,分支结构按最大值计算。所以本题只能用long long或unsigned long long,本人更喜欢用long long 因为long long敲起来更简单,所以在定义的时候要使用long long。,所以我们可以在循环里面使用二分优化,让其数据最大范围约为2*,因为暴力尝试的数据最大范围为。题目要求的数据范围为。

2022-12-25 19:59:50 145 2

空空如也

空空如也

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

TA关注的人

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