算法学习
mzj_betty
这个作者很懒,什么都没留下…
展开
-
C++中的堆栈和队列
堆栈C++stl中需要的头文件#include <stack>定义方式:stack<元素属性>变量名函数:top( ) 返回栈顶push( ) 入栈,在栈顶添加元素pop( ) 出栈,移除栈顶元素size( ) 返回栈内元素的个数empty( ) 堆栈为空返回真队列C++stl中需要的头文件#include <queue>定义方式:queue<元素属性>变量名函数:qush( ) 将元素添加到队列末端po原创 2020-07-18 23:38:06 · 253 阅读 · 0 评论 -
2020暑假算法学习(8)——多校第三场A题Clam and Fish
题意:0阶段是没有鱼也没有蛤,1阶段是没有鱼有蛤,2阶段是有鱼没有蛤,3阶段是有鱼也有蛤。蛤可以制作成鱼饵,来获取鱼,但是在有蛤的时候需要制作成鱼饵在下一阶段才能使用,且直接有鱼的情况下,不需要用鱼饵也可以获取鱼。制作鱼饵和直接钓鱼在一个阶段只能选择一项来进行。求最多可以获得多少条鱼。题解:2和3是可以直接进行钓鱼不需要鱼饵,0是有鱼饵就进行钓鱼,1是可以制作鱼饵也可以钓鱼。那情况就变成只需要考虑1的处理。可以对1进行一个记录,在遇到0时,前面有1的话减去一个1,最后对1的个数/2。代码:#inc..原创 2020-07-18 21:06:46 · 170 阅读 · 0 评论 -
2020暑假算法学习(4)——dfs
棋盘问题——DFS棋盘问题 OpenJ_Bailian - 1321在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。Input输入含有多组测试数据。每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n <= 8 , k <= n 当为-1 -1时表示输入结束。随后的n行描原创 2020-07-06 21:25:11 · 272 阅读 · 0 评论 -
2020暑假算法(3)
DFS——马走日OpenJ_Bailian - 4123马在中国象棋以日字形规则移动。请编写一段程序,给定n*m大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点。Input第一行为整数T(T < 10),表示测试数据组数。每一组测试数据包含一行,为四个整数,分别为棋盘的大小以及初始位置坐标n,m,x,y。(0<=x<=n-1,0<=y<=m-1, m < 10, n < 10)Output原创 2020-07-06 14:07:49 · 97 阅读 · 0 评论 -
2020暑假算法学习(2)
竞标赛——水题链接:https://ac.nowcoder.com/acm/problem/13223来源:牛客网题目描述组委会正在为美团点评CodeM大赛的决赛设计新赛制。比赛有 n 个人参加(其中 n 为2的幂),每个参赛者根据资格赛和预赛、复赛的成绩,会有不同的积分。比赛采取锦标赛赛制,分轮次进行,设某一轮有 m 个人参加,那么参赛者会被分为 m/2 组,每组恰好 2 人,m/2 组的人分别厮杀。我们假定积分高的人肯定获胜,若积分一样,则随机产生获胜者。获胜者获得参加下一轮的资格,输的人被淘原创 2020-06-27 13:20:41 · 381 阅读 · 0 评论 -
2020暑假算法学习(1)
音乐研究——枚举链接:https://ac.nowcoder.com/acm/problem/13222来源:牛客网题目描述美团外卖的品牌代言人袋鼠先生最近正在进行音乐研究。他有两段音频,每段音频是一个表示音高的序列。现在袋鼠先生想要在第二段音频中找出与第一段音频最相近的部分。具体地说,就是在第二段音频中找到一个长度和第一段音频相等且是连续的子序列,使得它们的 difference 最小。两段等长音频的 difference 定义为:difference = SUM(a[i] - b[i])2原创 2020-06-26 22:27:18 · 114 阅读 · 0 评论