摘要:
\(\text{subtree}_u\):\(u\) 的子树内(不包括 \(u\))的点组成的集合。 \(\text{son}_u\):\(u\) 的子节点组成的集合。 \(\text{path}_{u, v}\):树上 \(u\) 到 \(v\) 的简单路径上的点组成的集合。 以下内容参考了其它题 阅读全文
posted @ 2025-12-17 16:03
循环一号
阅读(12)
评论(0)
推荐(0)
摘要:
看的 @IvanZhang2009 老师的题解,太深刻了。 考虑分治,对于每次询问,用 solve(x, y) 处理 \(x \le l \le i \le r \le y\) 的答案,其中 \(r - l + 1 \in [L, R]\)。 令区间中点为 \(mid\),考虑 \(i \le mi 阅读全文
posted @ 2025-12-17 16:02
循环一号
阅读(27)
评论(0)
推荐(0)
摘要:
T1 宝宝题,10min 秒了。 赛后:你妈怎么没判 sigma x > m,跳了 T2 赛时怎么被这道煞笔题创飞了,加训计数。 正难则反,考虑不优的方案数。 首先充要条件很好推,先从大到小排序,观察样例 1 发现当且仅当存在 \(w_i=2, w_j=1, w_k=1\) 使得 \(2a_j > 阅读全文
posted @ 2025-12-17 16:00
循环一号
阅读(26)
评论(0)
推荐(0)
摘要:
CSP-S2025 会赢吗 格雷码 递归即可,注意要开 ull。 括号树 先考虑链上怎么做,是简单的,然后放在树上就是开个栈。 #include <bits/stdc++.h> using namespace std; const int N = 5e5 + 10; typedef long lon 阅读全文
posted @ 2025-12-17 15:59
循环一号
阅读(15)
评论(0)
推荐(0)
摘要:
首先 \(n\) 为奇数所以只有一个重心 \(rt\),以它为根,对于 \(x \neq rt\),若 \(x\) 成为割掉某边后的重心,则这条边一定不在 \(x\) 子树内,设割掉后另一子树大小为 \(S\),记 \(g_x = \max_{y \in son_x} sz_y\),则有两个限制: 阅读全文
posted @ 2025-12-17 15:59
循环一号
阅读(4)
评论(0)
推荐(0)
摘要:
超级有意思的题。 https://www.luogu.com.cn/article/s6bg6f12 这篇题解的实现是最短的,然而,个人认为这个毫无注释的代码完全看不懂,所以自己写一篇。 首先枚举当前数字。 考虑菊花图怎么做。我们发现将删的边按顺序连一起,发现每次在中心节点上的数字就构成了一个环,用 阅读全文
posted @ 2025-12-17 15:51
循环一号
阅读(22)
评论(0)
推荐(0)
摘要:
绝对众数:\(k\) 道菜中使用次数 \(> \lfloor\dfrac{k}{2}\rfloor\) 的菜,可能不存在。 考虑以下两个观察: 绝对众数是至多只有一个的,所以可以容斥。 每种方法最多做一道菜,至多做 \(n\) 道。 于是答案是不考虑有无绝对众数的方案减去有一个数为绝对众数的方案。 阅读全文
posted @ 2025-12-17 15:50
循环一号
阅读(2)
评论(0)
推荐(0)
摘要:
首先大家应该都能想到一个朴素的 dp: \(f_i, j\) 表示最后一段是 \([j, i]\) 时最小的代价,转移显然,时间复杂度 \(\mathcal{O}(n^3)\), 期望得分 \(36\)。 然后考虑优化,发现 dp 没啥用数据结构优化的前途,但是这题是 dp,所以大概率需要我们发现一 阅读全文
posted @ 2025-12-17 15:49
循环一号
阅读(12)
评论(0)
推荐(0)
摘要:
前言 大家好,还有 \(5\) 天就 NOIP2024 了,今天来写一下 NOIP2023 的题解。 T1 主要考察了字符串的排序性质,给字符串从大到小排序会使它字典序最大,从小到大排序会使它字典序最小。 那么只要给所有字符串分别从大到小,从小到大排序,枚举每个字符串,看看这个字符串字典序最小的时候 阅读全文
posted @ 2025-12-17 15:45
循环一号
阅读(11)
评论(0)
推荐(0)
摘要:
不是很难的题.下面讲讲我的思考过程. 首先我看到 \(m\) 很小,类比到之前一道 AT 的题,\(dp_i\) 表示考虑到前 \(i\) 个挑战的最大值,然后推式子,开两颗线段树维护,但是这样似乎无法维护区间的包含关系,即只能做特殊性质 BC. 注:@WrongAnswer_90 说其实是可以过的 阅读全文
posted @ 2025-12-17 15:44
循环一号
阅读(3)
评论(0)
推荐(0)
摘要:
很巧妙的题。 以下内容参考了 @liangbowen 的题解。 首先明白题目的限制条件就是 \(\forall 1 \le i \ge 10^{100} f_i > g_i\) 或 \(\forall 1 \le i \ge 10^{100} f_i < g_i\),两边只要判断一边即可,另一边只需 阅读全文
posted @ 2025-12-17 15:43
循环一号
阅读(12)
评论(0)
推荐(0)
摘要:
我认为是一道好题。 以下内容参考了 @Svemit 的题解 首先题目可以抽象成图论问题,我们记 \(\lnot x\) 为 \(-x\),但是因为实际上不能用负下标,我们在实现中用 \(n + x\) 代替(类似分层图),另外,我们让 \(T,F,U\) 分别代表一些常量,由于 \(-U = U\) 阅读全文
posted @ 2025-12-17 15:42
循环一号
阅读(12)
评论(0)
推荐(0)
摘要:
首先是一个观察:由于蛇很智慧,所以如果能轮到它决策,它就绝对不会死,因为如果它预料到它会死它就会直接选择结束。 分讨一条蛇吃完后的情况: 如果这条蛇吃完之后还是最强的,那么肯定会吃 如果不是最强的也不是最弱的,那么下一轮是次强的决策,且这时候最弱的变为了原先次弱的,所以如果次强蛇吃了,次强蛇就会比最 阅读全文
posted @ 2025-12-17 15:40
循环一号
阅读(11)
评论(0)
推荐(0)
摘要:
首先类似线段树模板 2,如果我们直接模拟一个函数,就可以得到一个长度为 \(n\) 的数组表示加法标记,以及一个数表示乘法标记。 正着做是困难的,我们考虑倒过来,假设一个函数后面的函数的乘法标记是 \(mul\), 那么这个函数得到的所有加法标记都会 \(\times mul\), 这个东西等价于函 阅读全文
posted @ 2025-12-17 15:39
循环一号
阅读(8)
评论(0)
推荐(0)
摘要:
贪心宝宝题。注意边界。 #include <bits/stdc++.h> using namespace std; const int N = 1e6 + 10; typedef long long ll; typedef unsigned long long ull; typedef pair<i 阅读全文
posted @ 2025-12-17 15:38
循环一号
阅读(14)
评论(0)
推荐(0)
摘要:
模拟题,放一个好实现的代码。 #include <bits/stdc++.h> using namespace std; const int N = 3e6 + 10; typedef long long ll; typedef pair<int, int> pii; int T, n, ans[N 阅读全文
posted @ 2025-12-17 15:37
循环一号
阅读(5)
评论(0)
推荐(0)
摘要:
儒略日 模拟题,放一个好实现的代码。 #include <bits/stdc++.h> using namespace std; const int N = 3e6 + 10; typedef long long ll; typedef pair<int, int> pii; int T, n, a 阅读全文
posted @ 2025-12-17 15:36
循环一号
阅读(4)
评论(0)
推荐(0)

浙公网安备 33010602011771号