12 2020 档案
摘要:AC代码 A. Regular Bracket Sequence 注意到题目保证只有一个左括号和一个右括号。 所以只有字符串长度为奇数,或者$s_1$是)或者$s_n$是(时,才无解。 B. Red and Blue 因为$r$和$b$中的元素时保留原数组中的顺序的。而且题目只关注前缀和的最大值,而
阅读全文
摘要:题意 给出一个数组$a$,输出满足$\min(b_1, b_2) \le \min(b_2, b_3) \le \min(b_3, b_4) \dots$的子序列$b$的最长长度。 解法 观察 首先想到LIS,然后这题和LIS的区别就是,两个LIS的元素中间可以插入一个更大的元素。 然后这个性质转化
阅读全文
摘要:题意 给定$n$个点$p_i=(x_i, y_i)$,第$i$个点初始时朝向$(tx_i, ty_i)$。每个点的朝向以相同的角速度转动,转满一圈停止。 点$A$和点$B$对视,即$B$在点$A$朝向的方向上,且$A$在点$B$朝向的方向上。两点中间有其他点不会影响对视。 问满足某一时刻两点对视的点
阅读全文
摘要:题意 有$n$个杯子,第$i$个杯子的容量为$a_i$,初始时有$b_i$单位的水。 可以将水在杯子之间转移,转移时会有一半的损耗。 若允许随意转移,但最终只拿$k$杯水,问$k$个杯子里的水体积和最大能为多少。 对于$k = 1, 2, ..., n$依次输出答案。 解法 $O(n^4)$动态规划
阅读全文
摘要:题意 给定数组$a$和$b$,长度分别为$n$和$m$。对于每一个$b_j$,输出$GCD(a_1 + b_j, a_2 + b_j, ..., a_n + b_j)$。 解法 经典区间GCD。 首先根据GCD的性质,可以得出$GCD(a, b, c) = GCD(a, b - a, c - b)$
阅读全文
摘要:AC代码 A - Brick 输出$\lfloor \frac\rfloor$。 B - Blocks on Grid 因为只有减操作,所以一定是把所有数都减成最小值,记$mi = \min_{1 \le i \le H, 1 \le j \le W} a_{i, j}$,则答案$ans = \su
阅读全文
摘要:AC代码 A. Dungeon 记每7次攻击为一轮,那么如果要满足给定条件,那么必须要有$a + b + c = 0 \text{ mod 9} $。 其次,假设结束时经历了$t = \frac{a + b + c}{9}$轮,则必须要有$t \ge min(a, b, c)$。 满足以上两个要求则
阅读全文
摘要:AC代码 A. Favorite Sequence 搞两个指针分别指向头尾,然后模拟每次往内移动,依次读取指针指向的元素。 B. Last Year's Substring 枚举头部匹配几个字符,剩下的就只用尾部匹配,模拟一下完事。 C. Unique Number 贪心,从个位数开始优先使用值大的
阅读全文