- 博客(14)
- 收藏
- 关注
原创 洛谷P4017 最大食物链计数
要知道题目需要用到什么样的算法,首先得捋清楚题目的意思比如这个题目,我们读题后可以获得这样的信息:(1)节点之间构成有向边(2)所有边不会构成环(3)需要求的所有的边没有边权而且一定是从入度为零的节点到出度为零的节点基于以上三点我们基本可以确定可以尝试用拓扑排序解决问题。
2024-05-30 20:51:47
647
原创 力扣2891每日一题题解
给你一个仅由小写英文字母组成的字符串s。如果一个字符串仅由单一字符组成,那么它被称为字符串。例如,字符串"abc"不是特殊字符串,而字符串"ddd""zz"和"f"是特殊字符串。返回在s中出现的的长度,如果不存在出现至少三次的特殊子字符串,则返回-1。是字符串中的一个连续字符序列。
2024-05-29 20:07:57
1115
原创 0/1背包问题(动规经典之一)
给一个能承重V的背包,和n件物品,我们用重量和价值的二元组来表示一个物品,第i件物品表示为(Vi,Wi),问:在背包不超重的情况下,得到物品的最大价值是多少?
2024-03-22 20:24:28
406
2
原创 洛谷P1032字串变换
规则的含义为:在 A 中的子串 A1 可以变换为 B1,A2 可以变换为 B2⋯。例如:A=abcd,B=xyz,共进行了 3 次变换,使得 A 变换为 B。
2024-03-20 21:43:40
930
1
原创 洛谷P1019单词接龙
单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合部分合为一部分,例如beast和astonish,如果接成一条龙则变为beastonish,另外相邻的两部分不能存在包含关系,例如at和atide间不能相连。
2024-03-20 21:15:14
476
1
原创 洛谷P1101单词方阵
给一 n×n 的字母方阵,内可能蕴含多个yizhong单词。单词在方阵中是沿着同一方向连续摆放的。摆放可沿着 8个方向的任一方向,同一单词摆放时不再改变方向,单词与单词之间可以交叉,因此有可能共用字母。输出时,将不是单词的字母用代替,以突出显示单词。
2024-03-20 20:43:23
1570
1
原创 洛谷P1433题吃奶酪
这个题目是要遍历所有的结果,所以我们基于全排列去做深度优先搜索,而其中用到的一个很神奇的技巧就是状态压缩,即把一个数组压缩成一个整型,这个技巧个人觉得很值得学习和练习。
2024-03-19 20:32:15
735
1
原创 洛谷P1036选数
这个题看着好像有点不好入手,其实把它想成k层循环就是一个玩具题目,O(∩_∩)O,事实上就是几步:(1)从n个数中选取不同的k个数并求和(2)判断当前sum是否为素数,是的话结果就加一好了, 这个题题解就说到这,希望对你们有点帮助~
2024-03-19 11:24:25
410
1
原创 洛谷P1135题奇怪的电梯
遇到类似求最短补偿的问题, 最优解肯定是用队列去实现层序遍历, 但是如果习惯用dfs去解决问题也可以用记忆化剪枝的技巧去解决这些问题,不过效率肯定不如直接bfs快。
2024-03-19 00:32:54
498
1
原创 洛谷P1219N皇后问题
其实这个八皇后问题本身并不难理解,这里主要是想分享一下位运算来进行状态压缩的神奇之处,也帮自己加深一下印象,本身位运算又比数组取值要快一些,在dfs过程中需要大量计算取值,这样我们巧妙地运用位运算就可以既减少空间小耗又减少时间消耗。如果觉得有点帮助的话帮忙点个小赞,让更多人可以看到吧~
2024-03-18 22:51:20
2052
3
原创 根据中序遍历和后序遍历求二叉树的先序遍历
此题考查的是对于二叉树三个遍历的还原操作,根据中序遍历与先序遍历和后序遍历任何一个都能还原出一个唯一的二叉树(当然也就可以还原出另外一个遍历),用深度优先搜索来解决的话就是不断去把大问题化成小问题的过程,本题求的是先序遍历,所以我们在递归寻找左右子树根节点之前需要先把根节点输出(或者存储),然后再递归遍历左右子树即可。
2024-03-18 17:04:41
610
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人