题解:CF2069F Graph Inclusion

对于一组询问,答案为 $A$ 中连通块的数量 - $A \cup B$ 中的连通块数量。 设在 $A$ 中添加了若干条边后变为 $A’$。当两个顶点 $u,v$ 在 $A$ 或 $B$ 中属于同一个连通分量,那么在 $A’$ 中必同属于一个连通分量。...

Solution

题解:[ABC394G] Dense Buildings

通过观察,首先可以得出几个小结论: $(a_i,b_i,y_i) \to (c_i,d_i,z_i)$ 的其中一条最优路径一定是 $(a_i,b_i,y_i) \to (a_i,b_i,w) \to (c_i,d_i,w) \to (c_i,d_i...

Solution

题解:CF2066C Bitwise Slides

首先考虑暴力的转移,当枚举到第 $i$ 个数时,我们尝试将之前所有的有效状态的 $P,Q,R$ 均与 $a_i$ 尝试去异或,然后检测合法性。于是就有: 1234567891011121314la[{0,0,0}] = 1;for...

Solution

题解:CF2063F1 Counting Is Not Fun (Easy Version)

所有方案数均基于卡特兰数,不妨设 $F(x) = \dfrac{\tbinom{2x}{x}}{x + 1}$ 来表示卡特兰数。 初始时显然答案为 $F(n)$。当有括号加入时,未被添加括号的位置的贡献不会超过最外层已匹配的括号。举个例子,当 $??...

Solution

题解:CF2057D Gifts Order

这是一篇 DDP 做法的题解。 首先需要想通的一个点就是最值一定出现在端点处,否则区间长度变化而极差不变,会导致答案更劣。 设最值所在的位置为 $l,r$,则会有两种情况: 若最大值在最小值左侧,则答案为 $a_l - a_r - (r - l) ...

Solution

你真的懂 Floyd 吗

Floyd 求最短路,时间复杂度 $O(n^3)$,空间复杂度 $O(n^2)$。 123for (int k = 1;k <= n;++k) for (int i = 1;i <= n;++i) for (int ...

Algorithm

题解:[ABC387E] Digit Sum Divisible 2

可以尝试通过构造解决此题。 考虑到一个数能被 $9$ 整除是各个数位上和为 $9$ 的倍数,一个数整除 $8$ 只需要末三位均为 $0$ 即可。因此大致的方向就是去构造 $x,8 - x,0,0,\cdots,0,0,0$ 的一个数来满足条件。【为什...

Solution

2024 年度小结

是稍微迟了一点的有关我编程故事的年度小结。昨天看到洛谷出了年终总结,想了想还是决定分享一些。 其实高中参加信息竞赛以来,很少有和别人分享给具体的经历,更多是悄悄地写在博客里。 我嘛编程的天赋并不多,能坚持这么久更多的是一份热爱。高中三年来,其实周围能...

Solution

题解:CF509C Sums of Digits

对于每一行的 $-1$,显然只会填一种数字,因此可以得出一种比较朴素的 DP。设 $f_{i,j}$ 表示考虑前 $i$ 行,第 $i$ 行的 $-1$ 变为 $j$ 时的最大值,再设 $d_{i,j}$ 表示第 $i$ 行数字 $j$ 的个数,则可...

Solution

博弈论与状压

Weighted Tic-Tac-Toe 用二进制表示每一格的情况,然后必胜态和必败态需要相互转换。 Remove Pairs 直接状压,时间复杂度 $O(2^nn^2)$。 Exchange Game $dp_{f,st}$ 表示某一方...

Algorithm
13456716