摘要: 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 阅读(114) 评论(1) 推荐(0) 编辑
摘要: 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 阅读(412) 评论(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 阅读(51) 评论(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 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 思路 首先可以发现这个期望其实是假的,我们只需要把所有方案的答案加起来,最后除以 \((\frac{n(n-1)}{2})^2\) 即可,现在考虑如何统计所有方案的答案。 我们先考虑一条路径的方案数:假设存在一条从 \(x\) 到 \(y\) 的公共路径,其中 \(x\) 是 \(y\) 的祖先,那 阅读全文
posted @ 2024-11-02 21:35 Repeater11 阅读(175) 评论(0) 推荐(0) 编辑
摘要: A. 造计算机 构造题,注意到可以两点之间可以连不止一条边,所以我们可以创建一系列初始节点,让 \(i\) 向 \(i + 1\) 连一条权值为 \(0\) 和 一条权值为 \(1\) 的边,这样我们就能得到 \(0000... \sim 1111...\) 之间的所有值。 所以我们可以将目标区间 阅读全文
posted @ 2024-11-01 14:27 Repeater11 阅读(190) 评论(0) 推荐(1) 编辑
摘要: 题目链接 [ZJOI2010] 排列计数 - 洛谷 题解 看到 \(p_i > p_{\lfloor i/2 \rfloor}\) 这个条件,可能一开始不会有什么想法。但是如果我们换种写法, 即: \(p_i<p_{2i} \land p_i<p_{2i+1}\)。这样我们就能很容易看出来,这是小根 阅读全文
posted @ 2024-10-31 23:28 Repeater11 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 题目链接 [HNOI2011] 卡农 - 洛谷 题解 不难发现其实题目意思就是让我们从 \(1 \sim n\) 的集合 \(S\) 中取出 \(m\) 个非空子集的方案数, 同时要满足三个限制: 每个方案必须本质不同 不能选择相同的集合 \(1 \sim n\) 的每个数出现次数必须是偶数 第一个 阅读全文
posted @ 2024-10-31 21:09 Repeater11 阅读(9) 评论(0) 推荐(0) 编辑