02 2025 档案

题解:P1036 [NOIP 2002 普及组] 选数
摘要:\(n \le 20\) 首先想到搜索,使用 dfs 搜出所有搭配的和,判断是否为素数即可,具体见注释。 代码复杂度约为 \(O(2^n\sqrt{2^n})\),实际完全跑不满: #include<bits/stdc++.h> using namespace std; int n, k, a[25 阅读全文

posted @ 2025-02-28 21:46 zhangzirui66 阅读(8) 评论(0) 推荐(0) 编辑

题解:P1028 [NOIP 2001 普及组] 数的计算
摘要:咕了好久…… 闲话 建议将网页放大至 125%。 计数题优先考虑 dp。 dp 状态即 \(f_i\) 表示出现一个 \(i\) 后后面的答案。 转移公式易得为: \[f_i = \sum^{j = 1}_{\lfloor \frac{i}{2} \rfloor} + 1 \]这里稍作解释,求和即为 阅读全文

posted @ 2025-02-28 21:33 zhangzirui66 阅读(3) 评论(0) 推荐(0) 编辑

CF2067C 题解
摘要:闲话 本文同步发布在 cnblogs。 首先易得答案一定 \(\le 9\),因为一个数位增加数字 \(9\) 后,重复 \(9\) 次操作,一定出现过 \(0 \sim 9\) 的所有数字,这个手搓就可证明。 由于 \(n\) 的数据范围只有 \(10^9\),我们依次枚举仅含 \(9\) 的数, 阅读全文

posted @ 2025-02-12 19:47 zhangzirui66 阅读(16) 评论(0) 推荐(0) 编辑

CF2067B 题解
摘要:闲话 本文同步发布在 cnblogs。 容易发现,若想要让两个袋子物品相同,每种数字都应有偶数个。 这只是根据操作一得出的结论,我们还有操作二。 对于一个数字,我们有以下的贪心策略,其中 \(b_i\) 表示 \(i\) 在数组 \(a\) 中出现的次数,即一个桶: 若 \(b_i \ge 2\), 阅读全文

posted @ 2025-02-12 18:58 zhangzirui66 阅读(12) 评论(0) 推荐(0) 编辑

题解:P11697 [ROIR 2025] 二维蚱蜢
摘要:简单数学题,但是有些坑。 首先我们制定思路:怎样的路线才是最优路线? 显然走斜线是比较划算的,因为它相当于两次运动。 于是我们可以先走对角线,然后使用平移调整,为了方便讲述,我先给出代码: #include<bits/stdc++.h> using namespace std; int n, m, 阅读全文

posted @ 2025-02-11 17:56 zhangzirui66 阅读(17) 评论(0) 推荐(0) 编辑

诈骗系列之-CF2059C
摘要:闲话 本文同步发布在 cnblogs。 容易观察到一件事,一个队列只需要进行一次服务,否则前一次就是浪费了。 这样我们就会发现,最终所有队列的长度为 \(0 \sim n - 1\) 的排列。 这样我们就会发现对于每个队列,只有最下面的 \(1\) 是有用的,原因放在了本文最后。 对于每个 \(0 阅读全文

posted @ 2025-02-03 01:09 zhangzirui66 阅读(13) 评论(0) 推荐(0) 编辑

诈骗系列之-CF2059B
摘要:闲话 本文同步发布在 cnblogs。 诈骗好题,因数组开小吃掉两发罚时。 分两种情况: \(n = k\),比较简单,暴力模拟即可。 \(n \not = k\),此时思考一个问题: 如何使成本最小? 答案显而易见,设 \(a_i = x\),则使 \(a_{i + 1} \not = x + 1 阅读全文

posted @ 2025-02-03 00:51 zhangzirui66 阅读(8) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示