自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 进制转换!

a - (-2) * b + 2 = c + 2,这里加2是因为进制是-2进制,可以通过分配率将2放进b中。便于后续推广到-n进制。通过上述公式推到,可以看到,在除n取余的过程中需要对商和余数做一定的转换就可以继续应用标准方法了。针对大于10的进制,在添加进result数组时转换成A、B......等就可以。因为正数的x次方都是正数,相加也还是正数。同样对于余数小于0,即负x进制,输入十进制的数,输出二进制的数。还有返回字符串的方法。

2024-04-28 19:23:01 339

原创 小试牛刀!

java式c++解法。

2024-04-18 19:17:03 196

原创 线段树和树状数组

线段树与树状数组

2024-04-07 19:46:32 164

原创 前缀和差分

【代码】前缀和差分。

2024-03-31 19:27:34 153

原创 提高!!!

1.

2024-03-31 19:23:59 95

原创 益智!!!

【代码】益智!!!

2024-03-17 20:18:53 202

原创 map的基本使用

看题知用法,可以跟hash一起使用写hash的题。

2024-02-29 20:01:47 171

原创 动态规划纯净版

相信大家都知道,动态规划算法也是新手在刚接触算法设计时很苦恼的问题,有时候觉得难以理解,但是真正理解之后,就会觉得动态规划其实并没有想象中那么难。网上也有很多关于讲解动态规划的文章,大多都是叙述概念,讲解原理,让人觉得晦涩难懂,即使一时间看懂了,发现当自己做题的时候又会觉得无所适从。我觉得,理解算法最重要的还是在于练习,只有通过自己练习,才可以更快地提升。话不多说,接下来,下面我就通过一个例子来一步一步讲解动态规划是怎样使用的,只有知道怎样使用,才能更好地理解,而不是一味地对概念和原理进行反复琢磨。

2024-02-29 19:55:34 269

原创 C++动态规划之最长上升子序列

例如序列1,2,4,5,3就,他含有的最大上升子序列为1,2,4,5。可以更方便的找到和删除自己想要的和不想要的数,例如序列1,2,4,3,5,2,他的最大上升子序列就是1,2,4,5,单调递增。转化成数组就是1,2,3,2,4,2,分别代表数组长度为i(i为下标)时的最大上升子序列长度。例如序列A={1,3,5,4,2},删除其中的第3项和第5项,得到序列B={1,3,4},删除其中的第3项和第4项,得到序列C={1,3,2},此时序列B和C是序列A的子序列。动态规划,单调队列都可以。

2024-02-29 19:30:33 311

原创 长脑子的hash

字母就是ascll码,ascll码可以转化成整数的,而且范围不会超过一个字节的,也就是256,所以可以用一个hash数字计数,最后统计是否为0的字母,如果存在则返回false,否则返回true。其中num数值为输入,hash数值为我们需要用到的新定义数组。其中num数值为输入,hash数值为我们需要用到的新定义数组。其中num数值为输入,hash数值为我们需要用到的新定义数组。其中num数值为输入,hash数值为我们需要用到的新定义数组。其中num数值为输入,hash数值为我们需要用到的新定义数组。

2024-02-22 19:25:33 345 1

原创 困难的KMP

1.处理kmp 数组。

2024-02-21 17:12:37 208 1

原创 最短路径

转变后是这样的,外面的数字分别表示i和j,是坐标,1到1,所以是0,输入中有(1 2 2),所以1到2,是2。**3.**定义一个curr变量,visit[current]=1(访问过),代表现在的位置,初始值为起点。列举所有没有过的的点,找到ans值最小的点,赋值给curr,visit[current]=1(访问过)有n个地方,m条从x到y的路线,距离为z,这是有向图,有箭头的,只限与x到y。**1.**定义ans[100000],ans[i]代表到达i点的最小花费。那就看看其他大佬写的优化版本!

2024-02-19 18:42:12 370 1

原创 23级寒假预备役第四次测试

1到6是按难度排序的正常题目(也可能不正常吧),7和8是算法题,第7题要用到最小生成树和并查集,第8题要用到。直接遍历,注意x1,y1那里是累加,不是回溯的那种搜索。写给自己看的(错的地方)。直接最大值减去最小值就好了,跳过中间步骤,省时间。说来惭愧,这题我居然卡了一个小时!

2024-02-18 18:36:51 352 1

原创 最小生成树

有3个站,第二行分别是第1站到第2站的花费,第1站到第3站的花费,第三行是第1站到第3站的花费,而且题目说是下游,所以第2站在第1站的下游,第3站在第2站的下游。而且用了点dp思想。,但铺设光缆的费用很高,且各个城市之间铺设光缆的费用不同,因此另一个目标是要。要在n个城市之间铺设光缆,主要目标是要使这 n 个城市的。一个图中可能存在多条相连的边,我们。这仅仅是生成一棵树,还未满足最小,

2024-02-13 16:56:49 374 1

原创 c++常用知识

使用sort函数需定义的自建函数(这里的a,b可以换成其他的数,别忘了加地址符,通过排序sb[i].z来排序结构体sb[i])0x3f3f3f3f:代表的数值1061109567 10的九次方多。0x3f3f3f:代表的数值4144959 10的六次方多。0x3f3f:代表的数值16191 10的四次方多。正式使用(cmp目的旨在告诉按什么方式排序)0x3f:代表的数值63。

2024-02-12 16:16:44 180 1

原创 23级寒假预备役第三次测试

1dfs。

2024-02-06 16:53:11 359 1

原创 头文件之algorithm

是,它。因为所有的算法都是通过迭代器进行操作的,所以算法的运算实际上是和具体的数据结构相分离的 ,也就是说,具有低。因此,。下面来说说他的常用函数,不是所有的。max():求两个数最大值min():求两个数最小值abs():求一个数的绝对值abs()函数用于求整型变量的绝对值,而中的fabs()函数还可用于求浮点型变量的绝对值,不要搞混~。另外,还要第3行也不能少,少了就会报错,用不了了。用来交换x和y的值。

2024-02-06 15:39:37 632 1

原创 并查集

并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题(即所谓的并、查)。比如说,我们可以用并查集来判断一个森林中有几棵树、某个节点是否属于某棵树等。

2024-02-03 15:32:47 347 1

原创 函数的选择性使用

【代码】函数的选择性使用。

2024-02-02 19:11:13 116

原创 二叉树

1.树的基本概念树是有n个结点的有限集(一种递归定义的数据结构)当n=0时,说明这个树是一个空树有且只有一个根节点.没有后继的结点是叶子结点(终端结点).有后继的结点(除了根结点)都称之为分支结点(非终端结点).除了根结点外,其余结点都有且仅有一个前驱每个结点都有0个或者多个后继子树的概念:子树的概念是相对于某一个结点而言的,子树也是树。比如说,B延伸所形成的树就是A的子树,E延伸所形成的树,就是B的子树,所以说,子树没有绝对的概念,只不过是相对的树的图解。

2024-02-01 17:30:05 374 1

原创 二叉树之堆排序

有没有发现什么特点,就是所有的父子点都要比子节点要小,(注意圆圈里面的数是值,圆圈上面的数是这个节点的编号),符合这样的特点的完全二叉树,我们称为最小堆,反之,如果所有的父子点都要比子结点要大,这样的完全二叉树,我们称之为最大堆,那么,这一特性究竟有什么用呢?例如,我们要从14个数里面找出最小值,时间复杂度就是O(N),那如果我们还要把它删除,再加一个新的数,再排序呢?那时间复杂度就是O(N^2),但是如果掌握了对于排序的话,他的时间复杂度就是O(NlogN),时间大大缩减,并且他的时间复杂度确实是跟。

2024-02-01 16:49:16 197 1

原创 23级寒假预备役第二次测试

这个还是有讲的必要,差不多意思就是找到踩着冰块的最长路径,都是不可以回头,即每个冰块只能踩一次,可以用dfs解决,下面上代码。他说只要其中正确的一种就可以,直接找规律,套一个正确的呗。可以自己尝试理解一下,都挺不错的。

2024-01-29 21:07:50 141

原创 23级寒假预备役第一次测试

这个也是一天之内拿下了好吧,但是下面用的是zjy的代码,他的更加简洁明了,那我也浅浅证明一下我自己写对了吧。这波我也是小丑,以为挺难的,看一眼就走了,结果考完了,10分钟不到就出来了,一遍过,非常小丑。英文翻译过来的,题目怪怪的很正常,一开始我也没看太懂,但还是能勉勉强强看懂的。我觉得挺简单,并且我也是第一个写出来的,小装一下。考试的时候,没准备纸,笔,没动手去找规律,诶。感觉都不是很难,只要方法找对了,其实感觉都还好。这个问了别人一点点,当然也就一点点。小结:方法用得好,事半功倍!

2024-01-26 16:06:12 237 1

原创 bfs广度优先搜索

最小生成树算法分层。

2024-01-25 10:37:13 1217 1

原创 栈和队列

栈顶(Top):线性表允许进行插入删除的那一端。栈底(Bottom):固定的,不允许进行插入和删除的另一端。空栈:不含任何元素的空表。栈又称为后进先出(Last In First Out)的线性表,简称LIFO结构2、栈的常见基本操作InitStack(&S):初始化一个空栈S。StackEmpty(S):判断一个栈是否为空,若栈为空则返回true,否则返回false。Push(&S, x):进栈(栈的插入操作),若栈S未满,则将x加入使之成为新栈顶。Pop(&S, &x):出栈(栈的删除操作),若

2024-01-24 16:03:42 300 1

原创 动态规划混合版

这个递归的时间复杂度是O(2^n),随着n的增大,呈指数级别增长。比如在计算fib(5)的时候,fib(5) = fib(4) + fib(3)。接下来计算fib(4),fib(4) = fib(3) + fib(2)。fib(4)计算完后就会再计算fib(3)。然而我们之前在计算fib(4)的时候已经算出fib(3)了。为了避免重复计算,我们可以在计算的过程中将已经计算过的值保存下来,等到再一次遇到的时候就可以直接使用。1、根绝问题所求的那一项和变量的个数,确定是一维数组,二维数组或者多维数组。

2024-01-24 15:52:15 304 1

原创 (dfs)(深度优先搜索算法)

深度优先搜索。

2024-01-23 10:27:57 479

原创 大一第十周学习总结

思路:看距哪边要走的距离长短来写,一个答案选择长的,一个答案选择短的。本周写题26道,排名基本无变化。思路:直接代入2,3,5因子进行求解。思路:定义数组,减少计算量,防止输出超限。链接:关于前缀和与差分.

2023-11-20 21:02:20 24

原创 大一第九周学习总结

解题思路:求每一行和每一列的最小值,然后判断是否相等,最后排序即可。思路二:在思路一的基础上升华一点 ,即直接使用头文件,引用所需函数。解题思路:函数,递归,镶嵌函数(一个函数里面包括另一个)思路一:定义函数并使用。

2023-11-12 18:17:25 52 2

空空如也

空空如也

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

TA关注的人

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