06 2020 档案
摘要:题目描述 给你两个长度为 的排列 和 ,这两个排列只包含 范围内的整数各一个,求这两个排列的LCS(即:最长公共子序列)的长度。 输入格式 输入的第一行包含一个整数 ,用于表示排列的长度。 输
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/P1436 这道题目和《算法艺术与信息学竞赛》的题目描述稍微有点区别(这里是求平方和的最小值,书上是方差的最小值),不过解法都是一样的,就是区间DP,我这里使用记忆化搜索实现。 \(f[r1][c1][r2][c2][m]\
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/P1241 栈解法 我们可以开一个栈,然后从左到右遍历字符串中每一个元素,如果是 ‘(’ 、 ‘[’ 就讲对应的坐标入栈,如果是 ‘)’ 且此时栈顶元素为 ‘(’ 或者是 ‘]’ 且此时栈顶元素为 ‘[’ ,则标记当前元素及
阅读全文
摘要:1.1 编程的灵魂——数据结构+算法=程序 略过先 1.2 基本算法 1.2.1 枚举 【例题1】盒子里的气球 枚举算法 在很多时候,无法立刻得出某个问题的可行解或者最优解,但是可以用一种比较“笨”的方法通过列举所有情况然后逐一判断来得到结果,这就是枚举算法的思想。枚举算法的特点是比较单纯,往往容易
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/P1563 解题思路:模拟题,按照题目要求进行操作即可。 实现代码如下: #include <bits/stdc++.h> using namespace std; const int maxn = 100010; int
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/P5022 解题思路: 这里最重要的是数据范围里面的 或者 。 的时候是一棵树,我们按照从当前节点找编号最小的子节点的策略进行深搜就能够解决这个问题。 的
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/P5019 解题思路: 这道题目采用两种贪心思想都是可以解决的: 自底向上将一块块连通的位于同一层的填上; 从左到右将一段段最长的一段填上去。 这里基于第2种思想。 对染理论上来说 \(n \times d \le 10^9
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/P5658 解题思路: 我们不妨将这道题进行一下简化,变成如下题目描述: 给你一个字符串,求这个字符串中有多少合法括号子串,看看能不能在O(n)时间复杂度内解决这个问题。 对于这样一个问题,我们可以用栈存储所有没有匹配上的
阅读全文
摘要:CSP-S 2019 D1T1 题目链接 题解 D1T2 题目链接 题解 D1T3 题目链接 黑题直接放弃 D2T1 题目链接 D2T2 题目链接 D2T3 题目链接 NOIP 2018 D1T1 铺设道路 题目链接 题解 D1T2 货币系统 题目链接 题解 D1T3 赛道修建 题目链接 D2T1
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/P5657 解题思路: 我们假设一个 位格雷码最高位到最低位依次为第 位,则我们可以发现: 对于第 位,是以 为一个周期的,一个周期内依次是
阅读全文