上一页 1 ··· 37 38 39 40 41 42 43 44 45 ··· 82 下一页
摘要: 区间DP是一类在区间上进行动态规划的最优问题,一般是根据问题设出一个表示状态的 dp,可以是二维的也可以是三维的,一般情况下为二维。然后将问题划分成两个子问题,也就是一段区间分成左右两个区间,然后将左右两个区间合并到整个区间,或者说局部最优解合并为全局最优解,然后得解。 这类DP可以用常规的for循 阅读全文
posted @ 2021-04-14 20:40 RioTian 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 题目链接:Here 题意总结:\(N\) 次查询串 \(B\) 是否是 \(A\) 的子序列。 思路一 个人做法,枚举原字符串的每一位,如果匹配当前字符串的字符则 m++ 直到字符串枚举完毕或者 m >= t.size() \(\mathcal{O}(N)\) string s, t; void s 阅读全文
posted @ 2021-04-14 17:04 RioTian 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 题目链接:Here 树形DP 算法讲解:Here 无向联通图其实就是树的形状,其次让我们以 s 为根使得所有的叶子节点不能到达根并且让删去边权的总和最小,那么就是典型的 树形DP 了。 \(dp_i\) 代表以节点 \(i\) 为根节点而其子树内的根节点无法达到根节点的最小代价,\(dp_i = m 阅读全文
posted @ 2021-04-13 16:32 RioTian 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 补题链接:Here 1511A. Review Site 题意:\(n\) 个影评人,\(a_i\) 有三种类型,如下 \(a_i = 1\) ,则表示支持 \(a_i = 0\) ,则表示不支持 \(a_i = 3\) ,则表示无所谓 现在求最大的支持数。 思路:把 \(a_i = 1,3\) 的 阅读全文
posted @ 2021-04-13 14:35 RioTian 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 补题链接:Here A. Array and Peaks 题意:给定 数组大小 \(n\) 和 峰值点 \(k\) 请问是否存在这样的排序,不存在则输出-1 先序从 i = 2 开始填,依次 i += 2 ,如果这样还有不够即 \(k \ne 0\) 则肯定不存在这种排序。 接下来就是填空位了 AC 阅读全文
posted @ 2021-04-12 20:01 RioTian 阅读(90) 评论(0) 推荐(1) 编辑
摘要: 补题链接:Here A - Div 题意:N 个不一样的糖,请问有多少种分法给 A,B两人 水题,写几组情况就能知道输出 \(N - 1\) 即可 B - Palindrome with leading zeros 题意:给定一个字符串,问是否可以在字符串前加若干个 0 使字符串回文 先判断一下字符 阅读全文
posted @ 2021-04-12 17:25 RioTian 阅读(213) 评论(4) 推荐(1) 编辑
摘要: 补题链接:Here 1512A - Spy Detected! 题意:找到唯一不同数的下标 复制数组然后比较 \(a_1\) int main() { ios_base::sync_with_stdio(false), cin.tie(0); int _; for (cin >> _; _--;) 阅读全文
posted @ 2021-04-11 16:25 RioTian 阅读(88) 评论(1) 推荐(0) 编辑
摘要: 补题链接:Here LCA 算法讲解:Here 考虑用 \(f[i][j]\) 表示从i往上走,能买珠宝的第 \(2^j\) 个点是哪个,显然,如果我们知道每个 $f[i][0]$的值, 那么 \(f[i][j]=f[f[i][j−1]][j−1]\) ( i 往上的第2 j−1 个点再往上 2j− 阅读全文
posted @ 2021-04-10 21:29 RioTian 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 补题链接:Here A. 加密 简单总结一下题意: 给定一个 0-1 串,每一个连续 1 区间为一个权值,给予一次反转机会(也可以不使用)请问反转以后最小权重是多少 思路: 对于只有一次机会的话,要么反转单独的 1 或者 反转两个 1 区间中间隔的 0 如:11011 所以我们使用 vector<p 阅读全文
posted @ 2021-04-10 18:23 RioTian 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 问题描述 所谓“马踏棋盘”问题,就是指在中国象棋的棋盘上,用马的走法走遍整个棋盘,在8*8的方格中,每个格都要遍历,且只能遍历一次。 问题解析 从起始点开始,根据“马”的走法,它的下一步的可选择数是有0—8个的。 我们知道,当下一步的可选择数为0的时候,进行回溯。当下一步的可选择数有1个的时候,我们 阅读全文
posted @ 2021-04-10 00:11 RioTian 阅读(1128) 评论(0) 推荐(0) 编辑
摘要: 做完本期以后,最近就不会再发布 AtCoder 的往届比赛了(备战蓝桥杯ing) 补题链接:Here ABC题都是水题,这里直接跳过 D - Alter Altar 题意:一个R-W串,可以进行两种操作:1. 交换任意两个字符,2. 改变任意一个字符。问最少操作几次,可以使得串中不包含WR? 思路: 阅读全文
posted @ 2021-04-09 21:17 RioTian 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 补题链接:Here A - Rainy Season 如果不是 RSR 型的话直接计算 R 的数量即可 B - Making Triangle 给定 \(N\) 根长度分别为 \(L_i\) 的棍子,问能组成多少个三边长度各不相同的三角形?如果两个三角形至少用了一根不同编号的棍子,则称它们是不同的三 阅读全文
posted @ 2021-04-08 21:44 RioTian 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 补题链接:Here A - Takoyaki 很容易看出 \(\frac{N + X - 1}{X} \times T\) B - Multiple of 9 给定一个很大的整数,问其是否是 \(9\) 的倍数 累加各个位数,然后判断取余结果 C - Step 给定一个数组,每次操作可以给一个数增加 阅读全文
posted @ 2021-04-08 20:13 RioTian 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 补题链接:Here 这道题基本就是单调队列模板,不过直接看过去双指针(滑动窗口也是可以的) 每次先把已经超过范围的扔掉,然后把范围内不可能成为最优解的扔掉,然后入队。 // Murabito-B 21/04/08 #include <bits/stdc++.h> using ll = long lo 阅读全文
posted @ 2021-04-08 20:07 RioTian 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 题目链接:Here 思路:区间求和问题可以想到一个常用算法。前缀和。区间 \([l,r]\) 的和可以用 \(sum_r - sum_l\) 方便求出 由于区间长度 \(k\) 已知,所以我们可以直接选择暴力枚举两个区间的起点然后利用前缀和快速求和。 具体细节如下: 直接从 \(k\) 出发,用 c 阅读全文
posted @ 2021-04-07 19:59 RioTian 阅读(53) 评论(0) 推荐(0) 编辑
上一页 1 ··· 37 38 39 40 41 42 43 44 45 ··· 82 下一页