上一页 1 ··· 3 4 5 6 7 8 9 10 11 下一页
摘要: 题目链接: 实现一、记忆化搜索 class Solution { public: int minScoreTriangulation(vector<int>& values) { int n = values.size(); int memo[n][n]; memset(memo, -1, size 阅读全文
posted @ 2024-04-10 11:13 胖柚の工作室 阅读(13) 评论(0) 推荐(0)
摘要: 题目链接: 本题为一道极其经典的记忆化搜索模板题,务必搞懂并掌握记忆化搜索的常见书写格式。 主要思想就是用一个 \(dp\) 数组将每一个 \(w\) 函数的值存储起来,下一次检查 \(dp[a][b][c]\) 的值,如果已经算过就直接调用,可节省大量时间。 #include <cstdio> # 阅读全文
posted @ 2024-04-10 10:25 胖柚の工作室 阅读(23) 评论(0) 推荐(0)
摘要: 题目链接: 本题考察区间 \(dp\)。 设 \(f[i][j]\) 表示子串 \(i \sim j\) 中的最长回文子序列的长度。 思考状态转移方程。因为是判断回文的问题,考虑首尾元素是否相同。 若首尾元素相同,则考虑去掉首尾元素之后子串的最长回文子序列的长度 + 2(首、尾元素各一个) 反之若首 阅读全文
posted @ 2024-04-09 22:19 胖柚の工作室 阅读(14) 评论(0) 推荐(0)
摘要: 题目链接: 本题考察动态规划。 实现一、递推 \(f[i]\) 表示考虑下标从 \(0 \sim i\) 的房屋最多能抢劫到的金额。 思考状态转移时考虑第 \(i\) 个房屋抢或不抢。 由于不能抢劫相邻的房屋,若抢了第 \(i\) 个房屋,则第 \(i-1\) 个房屋就不能抢,再抢只能从 \(i-2 阅读全文
posted @ 2024-04-09 22:09 胖柚の工作室 阅读(12) 评论(0) 推荐(0)
摘要: 题目链接: 本题为经典的区间 \(dp\) 问题。 设 \(f[i][j]\) 表示将子串(端点为 \(i,j\))转换为回文串所需的最少插入次数。 若首尾字符相同,则只需考虑去除首尾元素的子串。 反之,若首尾元素不相同,则 ① 先不看首元素,考虑 \(f[i+1][j]\),将其转换为回文串后只需 阅读全文
posted @ 2024-04-08 20:22 胖柚の工作室 阅读(36) 评论(0) 推荐(0)
摘要: 题目链接: 从起点走到终点,最后一步一定是向右或向下走过来的,因此就可以列出状态转移方程。值得注意的是,对于横着和竖着的两条边界不可直接想当然地认为路径数一定等于 \(1\),因为在中途可能会有控制点的存在,因此还是要老老实实地列出状态转移方程。由于边界时只会从一个方向递推过来,但是初始时下标从 \ 阅读全文
posted @ 2024-04-05 22:37 胖柚の工作室 阅读(50) 评论(0) 推荐(0)
摘要: 题目链接: 本题数据范围仅为 \(100\),因此可以暴力枚举 \(O(n^3)\),唯一需要注意的一点就是当 \(k=1\) 时,横着站和竖着站是一样的,答案被计算了两次,因此最终的 \(\rm ans\) 需要再除以 \(2\)。 #include <bits/stdc++.h> const i 阅读全文
posted @ 2024-04-04 12:27 胖柚の工作室 阅读(26) 评论(0) 推荐(0)
摘要: 题目链接: 这道题的题意容易引起歧义。 举一个 \(\rm Hack\) 数据。 2 1 100 2 答案应该为 \(100\) \((\)左脑算 \(100,\) 右脑算 \(2+1+2,\) 答案是 \(100)\)。 第一个科目 有一题,所以我们可以得到: 1、全左脑:耗时 \(5\)。 2、 阅读全文
posted @ 2024-04-03 21:04 胖柚の工作室 阅读(78) 评论(0) 推荐(0)
摘要: 题目链接: 第一反应是枚举白色和蓝色、以及蓝色和红色的边界。输入字符数组的同时,预处理出将每一行涂为白色、蓝色、红色所需要的块数。\(w[i],B[i],R[i]\) 分别表示将第 \(i\) 行涂成白色、蓝色、红色所需的块数。 然后对 \(w[i],B[i],R[i]\) 分别求一遍前缀和,白色部 阅读全文
posted @ 2024-04-03 13:53 胖柚の工作室 阅读(283) 评论(0) 推荐(0)
摘要: 题目链接: 本题显然考查 \(\rm DFS\),但需注意是否恢复现场和参数设置的细节。 #include <cstdio> #include <algorithm> const int N = 15; struct Edge { int sour; int sweet; }e[N]; bool s 阅读全文
posted @ 2024-04-02 09:21 胖柚の工作室 阅读(21) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 10 11 下一页