算法题题解(复习用)
文章平均质量分 53
主要是对日常刷算法题的题解的记录。
King Rat
I am the Rat King
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
马走日--dfs
马在中国象棋以日字形规则移动。请编写一段程序,给定 n∗m 大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点。输入格式 第一行为整数 T,表示测试数据组数。每一组测试数据包含一行,为四个整数,分别为棋盘的大小以及初始位置坐标 n,m,x,y。输出格式 每组测试数据包含一行,为一个整数,表示马能遍历棋盘的途径总数,若无法遍历棋盘上的所有点则输出 0。原创 2023-01-10 00:29:15 · 721 阅读 · 0 评论 -
迷宫--dfs解法以及迷宫问题要不要回溯
同时当Extense处在某个格点时,他只能移动到东南西北(或者说上下左右)四个方向之一的相邻格点上,Extense想要从点A走到点B,问在不走出迷宫的情况下能不能办到。一天Extense在森林里探险的时候不小心走入了一个迷宫,迷宫可以看成是由 n∗n 的格点组成,每个格点只有2种状态,.和#,前者表示可以通行后者表示不能通行。再接下来一行是 4 个整数 ha,la,hb,lb,描述 A 处在第 ha 行, 第 la 列,B 处在第 hb 行, 第 lb 列。能办到则输出“YES”,否则输出“NO”。原创 2022-12-14 00:11:17 · 947 阅读 · 0 评论 -
格子游戏(并查集)
一共输出nn行数据,每行有一个小于等于66的整数,它表示对于输入数据中对应的游戏状态最少需要几步才能使所有灯变亮。游戏者改变一个灯的状态会产生连锁反应和这个灯上下左右相邻的灯也要相应地改变其状态。给定一些游戏的初始状态,编写程序判断游戏者是否可能在66步以内使所有的灯都变亮。对于某一个游戏初始状态,若66步以内无法使所有灯变亮,则输出−1−1。每一个灯都有一个开关,游戏者可以改变它的状态。每一步,游戏者可以改变某一个灯的状态。每组数据描述了一个游戏的初始状态。各组数据间用一个空行分隔。.........原创 2022-08-01 19:58:40 · 212 阅读 · 0 评论 -
装箱问题(01背包模型)
题意:示例:输入样例:输出样例: 题解:解法一:二维动态规划首先理解题意,题目要求剩余空间最小,则要求物品组成的空间和最大,但同时不超过箱子,可以将物品的体积看作价值,只不过价值等于体积,这样就是价值等于体积的01背包模型。dp[i][j]:前i个物品,容量为j时,可以得到的最大值。状态转移方程:dp[i][j]=max(dp[i][j],dp[i-1][j-a[i]]+a[i]); 解法二,一维的动态规划思想是相同的,只是为了节省空间dp[j]:容量为j的时候,拥有的最大价值状态转移方程:dp[原创 2022-07-07 19:14:01 · 669 阅读 · 0 评论 -
算法提高课之合唱队x形
N 位同学站成一排,音乐老师要请其中的 (N−K) 位同学出列,使得剩下的 K 位同学排成合唱队形。合唱队形是指这样的一种队形:设 K 位同学从左到右依次编号为 1,2…,K,他们的身高分别为 T1,T2,…,TK, 则他们的身高满足 T1…>TK(1≤i≤K)。你的任务是,已知所有 N 位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。输入格式 输入的第一行是一个整数 N,表示同学的总数。第二行有 N 个整数,用空格分隔,第 i 个整数 Ti 是第 i 位同学的身高(...原创 2022-06-13 15:40:34 · 136 阅读 · 0 评论
分享