02 2025 档案

摘要:定义 从构建的过程来定义。 在 kruskal 算法最小生成树的过程中,我们从小到大得到了 \(n - 1\) 条最小生成树上的边。根据这些边我们重新构造一颗树,具体的,依次遍历上述 \(n - 1\) 条边,对于当前遍历到的边 \((u, v, val)\)(表示节点 \(u\) 和节点 \(v\ 阅读全文
posted @ 2025-02-28 17:07 Young_Cloud 阅读(37) 评论(0) 推荐(0)
摘要:引入 有一些问题要求我们回答若干询问。这些询问通常都是互不相干的。有时候二分能够以 \(O(nlog(n))\) 的复杂度单独解决一个询问,但是对于所有的询问都采用二分的话就是 \(O(qnlog(n))\) 的复杂度会超时(可以看 ABC394 G 体会一下)。于是就有了并行二分这一解决方法。 并 阅读全文
posted @ 2025-02-28 12:50 Young_Cloud 阅读(45) 评论(0) 推荐(0)
摘要:ABCD 略 E 题目大意 给定一张图,对于图上的每两个点问这两点之间存不存在回文路径, 存在的话长度最短是多少 解题思路 (感觉难度 E > F) 首先在空路径的两端不断添加相同的路径,我们可以从短到长地找到所有长度为偶数的回文路径;而在长度为 1 的路径两端不断添加相同的路径,我们可以从短到长地 阅读全文
posted @ 2025-02-27 20:26 Young_Cloud 阅读(37) 评论(0) 推荐(0)
摘要:log 25-2-26 更新了多项式乘法的实现(前面光写 fft 去了) 25-2-26 更新三次变二次优化 和 迭代 fft 问题引入 现在有两个多项式: \(A(x) = \sum _{i = 0}^{n - 1} a_i x^i\) 和 \(B(x) = \sum _{i = 0}^{m - 阅读全文
posted @ 2025-02-23 22:27 Young_Cloud 阅读(119) 评论(0) 推荐(0)
摘要:log 25-2-26 新增了 G 题的题解 ABC 略(C其实就是阅读理解) D 题目大意 在 \(n\) 个骰子中指定两个骰子,问这两个骰子骰到同一个数的概率最大是多少 解题思路 直接暴力就好了:枚举每一个数,对每个数枚举每一对骰子。 CODE void solve() { int n = 0; 阅读全文
posted @ 2025-02-17 20:32 Young_Cloud 阅读(26) 评论(0) 推荐(0)
摘要:ABC 略 D 题目大意 01串中有若干 1,求至少通过交换多少次相邻的数,能使得所有的 1 是连续的。 解题思路 我用的中位数定理,让全部的 1 往最中间的 1 靠,然后硬算交换了多少次。 但感觉 std 更加巧妙简单,以下是我对 std 的理解: 目标是通过交换让所有的 1 都连续,也就是 1 阅读全文
posted @ 2025-02-16 22:20 Young_Cloud 阅读(30) 评论(0) 推荐(0)
摘要:基本概念 众所周知(3,4,5)和(6,8,10)是两组勾股数,区别是前一组三个数的公因数是一而后一组的不是。像第一组勾股数一样三个数之间两两互质的就叫做 本原勾股数。而且将一组本原勾股数里的三个数同时扩大相同的倍数得到的一组数还是勾股数(只不过不是本原勾股数)。所以我们找勾股数时只用找本原勾股数就 阅读全文
posted @ 2025-02-14 20:19 Young_Cloud 阅读(209) 评论(0) 推荐(0)
摘要:A 栈秒了 CODE void solve() { int n = 0; std::cin >> n; std::stack<int> a; for (int i = 0; i < n; i++) { int x = 0; std::cin >> x; if (a.empty() || a.top( 阅读全文
posted @ 2025-02-14 19:30 Young_Cloud 阅读(18) 评论(0) 推荐(0)
摘要:A 略 B 贴个代码就完了 CODE 点击查看代码 void solve() { int n = 0, t = 0, k = 0; std::cin >> n >> t >> k; int ans = (n - k) / t; if (ans - 1 >= k) { ans = k + 1; } s 阅读全文
posted @ 2025-02-14 19:25 Young_Cloud 阅读(14) 评论(0) 推荐(0)
摘要:A 题目大意 有一个大小为 \(n\) 的数组 \(A\),\(A_i \in [l_i, r_i]\),定义 \(f(A) = \sum_{i = 1}^{n - 1}|A_i - A_{i + 1}|\)。求 \(f(A)\) 的期望。 解题思路 很明显这题主要就是要我们求相邻两个数之间差的绝对 阅读全文
posted @ 2025-02-11 11:32 Young_Cloud 阅读(38) 评论(0) 推荐(0)
摘要:A 手玩秒了: 奇数 yes 偶数 no B 题目大意 \(n\) 个小球组成一个环,每个小球上都写有一个数字。对于一个小球,我们可以拿掉它当且仅当满足下面两个条件之一: 只剩这一个小球 这个小球的数和顺时针方向上的下一个小球的数之和是个质数 问是否存在一种拿球的顺序使得最终能够拿掉所有的球,有还需 阅读全文
posted @ 2025-02-09 20:34 Young_Cloud 阅读(39) 评论(0) 推荐(0)
摘要:A 略 B 略 C (欲看此题,请先看 D 题题解) 题目大意 给定串长和串值,构造串。 解题思路 跟 D 对拍慢慢调……(其实是讲不出思路)。 CODE 点击查看代码 void solve() { int n = 0, m = 0; std::cin >> n >> m; int d = n - 阅读全文
posted @ 2025-02-07 16:28 Young_Cloud 阅读(30) 评论(0) 推荐(0)
摘要:A 犯唐了第一眼没看出来,写的时候又犯唐输入都没有就交了。 解题思路 判断有没有 1,有的话就输出 -1, 否则就输出一个大于数据范围的质数 CODE void solve() { int n = 0; std::cin >> n; bool ok = true; for (int i = 1; i 阅读全文
posted @ 2025-02-05 23:50 Young_Cloud 阅读(27) 评论(0) 推荐(0)