摘要: 思路 首先由一个显然的贪心,对于每一个站点 \(i\),它显然会只会加刚好到下一个满足 \(d_i > d_j\) 的站点 \(j\)。 但是这个贪心是由瑕疵的,因为我们只能加正整数的油,所以说难免会有多出的部分,所以需要特殊处理此部分。 那么求一个位置之后第一个大于它的数,可以直接用单调栈维护即可 阅读全文
posted @ 2023-10-29 00:25 BeautifulWish 阅读(223) 评论(0) 推荐(0)
摘要: 思路 首先可以发现每一次会减少的数量都是可以计算出来的,为 \(1 + \lfloor \frac{n - 1}{3} \rfloor\)。 那么直接暴力枚举,当 \(n\) 变为 \(0\) 时结束,不难发现复杂度是 \(\Theta(n^{\frac{2}{3}})\) 级别的。 考虑第二问的答 阅读全文
posted @ 2023-10-27 13:13 BeautifulWish 阅读(200) 评论(0) 推荐(0)
摘要: CCF 出的原题观摩一下。 思路 首先可以用一个 Trie 来维护。 在这里对本文中的一些变量做一下说明。 \(p\) 表示当前维护的 Trie 中,指向的元素编号。 \(t_i\) 表示在 Trie 中编号为 \(i\) 的元素在原序列中的值。 \(f_i\) 表示在 Trie 中编号为 \(i\ 阅读全文
posted @ 2023-10-24 18:46 BeautifulWish 阅读(37) 评论(0) 推荐(0)
摘要: 这次 CCF 的行为过于迷惑了。 思路 首先发现只会有 \(10^5\) 种密码,考虑枚举它们,然后去 check。 假设当前密码是:\(p_1,p_2,p_3,p_4,p_5\)。如果它能从对于所有 \(1 \sim n\) 种错误的密码按照题目所述的操作得到,那么此密码就是合法的。 假设我们现在 阅读全文
posted @ 2023-10-22 22:28 BeautifulWish 阅读(184) 评论(0) 推荐(0)
摘要: 思路 发现如果一个字符串中有长度大于等于 \(2\) 回文子串,必定有长度为 \(2\) 的回文子串或长度为 \(3\) 的回文子串,并且形如:aa 和 aba。 所以考虑用线段树这两种情况。维护一段区间的最左、次左、最右、次右的元素,同时用两个标记变量 \(f_1,f_2\) 分别表示这个区间中是 阅读全文
posted @ 2023-10-19 10:46 BeautifulWish 阅读(45) 评论(0) 推荐(0)
摘要: 思路 首先,可以转化题意,找到一个极长的区间 \([l,r]\) 使得(其中 \(mx_i\) 表示 \([l,r]\) 区间中属性 \(i\) 的最大值): \[\sum_{i = 1}^{m}mx_i \leq k \]显然对于这个东西当 \(l,r\) 发生移动时,是极其好维护的,所以想到双指 阅读全文
posted @ 2023-10-17 20:06 BeautifulWish 阅读(11) 评论(0) 推荐(0)
摘要: 模拟赛最后 \(15\) 分钟想到的做法。 思路 首先有一个显然的贪心策略:我们放炸弹的地方要尽可能的使这个炸弹能影响到更多的怪上。 那么我们可以将对于一个怪 \(i\) 能够影响到它的区间表示出来 \([\max(1,l_i - d),a_i + r]\)。 然后将这些区间排个序,可以粗略画出这样 阅读全文
posted @ 2023-10-14 19:26 BeautifulWish 阅读(13) 评论(0) 推荐(0)
摘要: 思路 定义 \(dp_i\) 表示将前 \(i\) 个分为若干段的价值总和。容易得到状态转移方程: \[dp_i = \sum_{j = 1}^{i - 1}{dp_j \times (\max_{k = j + 1}^{i}\{a_k\} - \min_{k = j + 1}^{i}\{a_k\} 阅读全文
posted @ 2023-10-04 19:11 BeautifulWish 阅读(19) 评论(0) 推荐(0)
摘要: 思路 首先,\(A\) 和 \(B\) 只会移动一个,那么,我们分开来算,我们先假定 \(B\) 会动。 不妨令 \(A\) 与 \(b\) 连边的端点为 \(x,y\)。如果有线段 \(pq\) 能与 \(xy\) 相交,一定满足如下其中一条规律: \(p < x \wedge q > y\) \ 阅读全文
posted @ 2023-10-04 15:15 BeautifulWish 阅读(17) 评论(0) 推荐(0)
摘要: UPD 23.10.3 更新的对思路的描述,以及代码。 思路 对于每一个 \(a_i = 0\),如果我们将它变为 \(x\),都可以直接将 \(i \sim n\) 位置上的前缀和加 \(x\)。 设 \(a_j\) 是 \(a_i\) 后第一个 \(0\),那么,在 \(j\) 时同样有上述规律 阅读全文
posted @ 2023-10-03 13:33 BeautifulWish 阅读(18) 评论(0) 推荐(0)