随笔分类 -  比赛

摘要:A. Line Breaks 模拟即可 #include <bits/stdc++.h> void solve() { int n, m; std::cin >> n >> m; std::vector<std::string> s(n); for(int i = 0; i < n; i++) st 阅读全文
posted @ 2024-12-06 01:05 Repeater11 阅读(227) 评论(1) 推荐(1)
摘要:A. Alyona and a Square Jigsaw Puzzle 模拟即可 #include <bits/stdc++.h> using i64 = long long; void solve() { int n; std::cin >> n; int cur = 0; int ans = 阅读全文
posted @ 2024-12-04 14:30 Repeater11 阅读(670) 评论(0) 推荐(0)
摘要:A. King Keykhosrow's Mystery 上限是 \(lcm(a, b)\),直接枚举即可 #include <bits/stdc++.h> void solve() { int a, b; std::cin >> a >> b; int l = std::lcm(a, b); fo 阅读全文
posted @ 2024-12-01 03:35 Repeater11 阅读(104) 评论(0) 推荐(1)
摘要:A. Shohag Loves Mod 直接构造 \(2i-1\) 即可,因为 \(2i-1\ mod\ i = i - 1\) #include <bits/stdc++.h> void solve() { int n; std::cin >> n; for(int i = 0; i < n; i 阅读全文
posted @ 2024-11-24 21:45 Repeater11 阅读(115) 评论(0) 推荐(0)
摘要:思路 首先可以发现这个期望其实是假的,我们只需要把所有方案的答案加起来,最后除以 \((\frac{n(n-1)}{2})^2\) 即可,现在考虑如何统计所有方案的答案。 我们先考虑一条路径的方案数:假设存在一条从 \(x\) 到 \(y\) 的公共路径,其中 \(x\) 是 \(y\) 的祖先,那 阅读全文
posted @ 2024-11-02 21:35 Repeater11 阅读(408) 评论(0) 推荐(0)
摘要:A. 造计算机 构造题,注意到可以两点之间可以连不止一条边,所以我们可以创建一系列初始节点,让 \(i\) 向 \(i + 1\) 连一条权值为 \(0\) 和 一条权值为 \(1\) 的边,这样我们就能得到 \(0000... \sim 1111...\) 之间的所有值。 所以我们可以将目标区间 阅读全文
posted @ 2024-11-01 14:27 Repeater11 阅读(678) 评论(0) 推荐(2)