摘要:
A 比较阅读理解。。读懂了还好 int n, p; std::vector<std::string> vs; int main() { std::ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin >> n >> p; rep (i, 阅读全文
摘要:
C. Bear and String Distance 简单题,直接从距离范围最宽广的字母开始选,每次贪心选最大的。 const int MAXN = 1e5 + 10; int n, k; char ss[MAXN]; struct E { char s, t; int id; } es[MAXN 阅读全文
摘要:
C. Not Equal on a Segment 脑子转不动,结果想了半天才做出来。。 有一个性质:\(a \geq b\) 且 \(a \leq b \Leftrightarrow a = b\) 所以我们需要维护一个区间最小值 \(\mathrm{minn}\) 和区间最大值 \(\mathr 阅读全文
摘要:
C. Pearls in a Row 直接贪心做即可。 但是注意如果最后一段不合法,要把最后一段合进上一段,如果整个序列都不合法就无解。 #易错警示:仔细考虑无解条件,可能还有别的坑。 const int MAXN = 3e5 + 10; int n, aa[MAXN]; int lisan[MAX 阅读全文
摘要:
A B 都是垃圾题,不说了。 C. The Labyrinth 和之前做过的某道题相似,用 DFS 确定一下每个位置属于哪个联通块,然后确定一下每个 * 周围有哪几个联通块,去重可以直接 std::set 实现。 const int MAXN = 1000 + 10; int n, m; int g 阅读全文