![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CSP学习之旅
文章平均质量分 81
薛猫颚的腚
这个作者很懒,什么都没留下…
展开
-
day 5 字符串专题(详细解读+代码举例)
1 字符串hash思考一个问题:如何将一个二维整点P的坐标映射为一个整数,使得整点P可以由该整数唯一地代表。假设一个点P的坐标为(x,y),那么可以令hash函数为H(P)=x*Range + y,这样对数据范围内的任意两个整点P1和P2,H(P1)都不会等于H(P2),就可以用H(P)唯一地代表该整点P,接着便可以通过整数hash的方法来进一步映射较小的范围。字符串hash是指将一个字符串S映射为一个整数,使得该整数可以尽可能地唯一地代表字符串S。例如假设字符串由大写字母A~Z构成,在这个基础上,原创 2021-01-08 13:40:08 · 982 阅读 · 0 评论 -
day4 图论 算法专题(术语详解+图片举例+代码)
前言这里笔者了解相对较为薄弱,参考了胡凡老师编写的《算法笔记》一书的第十章,这本书是学习算法的优秀书籍,适合学习过c++语言但是对算法理解不深的同学,推荐给大家。1.图的定义和相关术语什么是图?其实就是类似地图的东西。图一般而言可以分为顶点和边,每条边的两个端点是顶点。如下图:图可以分为无向图和有向图,简单概括起来就是通过边是否有箭头标明方向来区分。有向图往往是单向的,即从A可以到B,但从B到A不一定存在边,而无向图是双向的,从A可以到B,从B一定可以到A。顶点的度是指该顶点相连的边的条数。特原创 2021-01-07 21:03:01 · 252 阅读 · 0 评论 -
day 3 广度优先搜索和深度优先搜索
深度优先搜索(DFS)深度优先搜索是一种枚举所有完整路径以遍历所有情况的搜索方法。具体含义不详细解释了,需要记住的有:使用递归可以很好地实现深度优先搜索在使用递归时往往需要调用栈拿背包问题举例:以深度优先搜索解决背包问题(回溯法解决背包问题)问题:有n件物品,每件物品的重量为w[i],价值为c[i].现在要选出若干物品放入一个容量为V的背包中使得在选入背包的物品重量和不超过容量V的前提下,让背包中物品的价值之和最大。求最大价值。分析:我们可以将这个问题化简为一颗树,#includ原创 2021-01-06 15:14:35 · 125 阅读 · 0 评论 -
day 2 数据结构-基础篇(栈,队列,链表详解+代码示例)
栈1.1栈的应用栈是一种先进后出的数据结构,如何初始化一个栈以及在day1中描述了。栈的常见操作如下:clear()清空size()获取元素个数empty()判断栈是否为空push()进栈;pop()出栈top()取栈顶指针队列2.1 队列的应用队列是一个先进先出的数据结构。就像一个队列,先来的先处理。常见操作为:clear()清空队列size()取得元素个数empty()判断队列是否为空push()入队pop()出队front()获取队首元素back()获得队尾原创 2021-01-05 15:34:26 · 119 阅读 · 0 评论 -
day1 c++STL详解(代码举例+使用模板)
前言因为前面已经在专栏写过基本的入门知识,这里就不再赘述了,主要是c和c++的基础知识,基本的输入输出,最基本的递归算法等,因此我从c++的STL入手。STL是C++中的标准库,主要是模板和函数模板,使用这些函数可以省很多事。STL简介C++中的STL分为三类,算法(algorithm),容器(container),迭代器(iterator),一共十三个头文件:<algorithm><deque><functional><iterator>&原创 2021-01-03 13:00:29 · 371 阅读 · 0 评论