- 博客(8)
- 收藏
- 关注
原创 差分前缀和
所以c[1]+c[2]+c[3]+...+c[i]=(a[1]-a[0])+(a[2]-a[1])+(a[3]-a[2])+...+(a[i]+a[i-1])也就是c[1]+c[2]+...+c[i]=a[1]-a[0]+a[2]-a[1]+a[3]-a[2]...+a[i]-a[i-1]那么c[1]=a[1]-a[0],c[2]=a[2]-a[1],c[3]=a[3]-a[2]......举个例子:a[4]=c[1]+c[2]+c[3]+c[4],可a[4]跟c[5]和后面的值没有任何关系。
2024-05-09 21:02:48 771 1
原创 数据结构:栈
栈(stack)是一种先进后出的数据结构,如果说队列是大家排队,那么栈就相当于一个很窄的(窄的连两个人并排站都不行)、只有一个出入口的观景台,一个人进去后,只可以等后面进来的人出去以后再出去。栈只能访问栈顶元素,要访问栈内的元素,需要不停的进行出栈操作直到访问到相应的元素为止。栈可以用在深度优先搜索中。
2024-05-08 13:07:38 292 1
原创 数据结构:队列
队列是不能直接访问中间的元素的(这点跟栈一样),它只能访问队头或队尾的元素,需要访问队列中的元素,只可以一直执行出队操作直到访问到该元素为止。队列(queue)是一种先进先出的数据结构,和栈相反。队列好比排队,先来的就可以很快的完成然后出去,但后来的就只能排在后面慢慢等了。C++有专门的队列库,记得导入queue头文件。希望这篇文章对您有帮助。
2024-05-02 13:23:31 603 2
原创 红与黑题目详解
一名男子站在黑色的瓷砖上,由此出发,可以移到四个相邻瓷砖之一,但他不能移动到红砖上,只能移动到黑砖上。首先是搜索到男子所在的点(设其为点(x,y)),再向上(x,y-1)、下(x,y+1)、左(x-1,y)、右(x+1,y)搜索,如果出界或搜索到红砖则返回0,否则点数加一,继续上述搜索。从一个点开始,所有与这个点连在一起的点统称连通块(具体的连接要求看题目,有的题是有8个方向,此题只有四个方向,即上、下、左、右)。输入包含多个数据集。这道题是一道搜索题,实际上就是求男子所在的点所在的连通块的点的数量。
2024-05-01 11:44:05 459
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人