摘要: 两个排列的最长公共子序列 luogu链接:https://www.luogu.com.cn/problem/P1439 两个序列的公共序列,可以考虑用传统动态规划的方法 我们可以假设一个dp[i][j],它的意思是: 只考虑序列 A 的第 i 个元素(即 A[1] 到 A[i]),和序列 B 的第 阅读全文
posted @ 2026-08-05 14:36 kozeki_ui 阅读(1) 评论(0) 推荐(0)
摘要: 求最长单调上升子序列 对于此类问题,可以使用动态规划+枚举来解决,时间复杂度O(n^2) 但还有O(n log n)的方法: 二分查找 我们可以举个例子: 你有一手打乱的扑克牌,你现在要将它们分类成若干堆,分类的方法 1. 每一堆按你分类的时间从左到右排列成行 2. 如果你现在要分类的一张牌比第一堆 阅读全文
posted @ 2026-08-04 16:22 kozeki_ui 阅读(3) 评论(0) 推荐(0)
摘要: 原题链接:https://www.luogu.com.cn/problem/P3916 这一题如果在 \(n\le 1000\),的情况下是很简单的,只需要顺向建图再一个个暴力遍历再维护最大值就行了 (弱化版链接:https://www.luogu.com.cn/problem/B3862 ) 但, 阅读全文
posted @ 2026-05-30 11:49 kozeki_ui 阅读(11) 评论(0) 推荐(0)
摘要: dfs的思路 核心思想: 我们走到每一个格点上时,都要对上下左右四个方向进行判断,若这个点为合法,那么这个点的坐标放进下一个递归了,否则跳过 细节内容: 1.关于合法的判断:因为你当前这个格点是由上一个格点坐过来或所在的路线,所以你要使用一个bool标记你走过的路,走过的坐标标 记为1(初始化为0) 阅读全文
posted @ 2026-04-15 11:06 kozeki_ui 阅读(12) 评论(0) 推荐(0)