<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[UnderTheTimeの博客]]></title><description><![CDATA[欢迎一起讨论！]]></description><link>https://blog.youkuaiyun.com/UnderTheTime</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; UnderTheTime]]></copyright><item><title><![CDATA[2025 XYD Summer Camp 7.21 智灵班分班考 · Day1]]></title><link>https://blog.youkuaiyun.com/UnderTheTime/article/details/149530370</link><guid>https://blog.youkuaiyun.com/UnderTheTime/article/details/149530370</guid><author>UnderTheTime</author><pubDate>Tue, 22 Jul 2025 10:55:06 +0800</pubDate><description><![CDATA[智灵班分班考首日战况：选手在远古机房艰难应战，T1因空格键故障和转移方程错误导致仅获30分；T2区间DP思路受阻，MLE挂零；T3二维数点解法正确获满分；T4因样例错误误判而零分。最终总分130分，排名第50。题解揭示了T1的正确线段树优化DP解法（原式误为隔一转移），T2的区间DP正解（子树权值计算方式），反映选手临场调试和细节处理的不足。]]></description><category></category></item><item><title><![CDATA[2025 XYD Summer Camp 7.17 模考]]></title><link>https://blog.youkuaiyun.com/UnderTheTime/article/details/149428557</link><guid>https://blog.youkuaiyun.com/UnderTheTime/article/details/149428557</guid><author>UnderTheTime</author><pubDate>Thu, 17 Jul 2025 19:15:27 +0800</pubDate><description><![CDATA[摘要 本文记录了作者在算法竞赛中的解题过程与题解。T1考察区间DP，通过设计五维状态和优化转移方程解决；T2分析组合数求和问题，提出组合意义和多项式展开两种解法；T3研究最长上升子序列的区间删除问题，采用分块和预处理策略优化查询效率。三题分别展现了动态规划、组合数学和数据结构在算法竞赛中的综合应用，为类似问题提供了解决思路。]]></description><category></category></item><item><title><![CDATA[2025 XYD Summer Camp 7.14 模考]]></title><link>https://blog.youkuaiyun.com/UnderTheTime/article/details/149358105</link><guid>https://blog.youkuaiyun.com/UnderTheTime/article/details/149358105</guid><author>UnderTheTime</author><pubDate>Tue, 15 Jul 2025 16:16:19 +0800</pubDate><description><![CDATA[这是一场算法竞赛的参赛记录与题解。选手在8:30开始解题，分别完成了T1、T2、T3题目，其中T1因忽略限制条件导致错误，T2通过质因数分解和组合数学解决，T3运用特定技巧快速通过。最终成绩显示部分题目得分不理想，尤其是T1在结束前2分钟发现错误。题解详细分析了各题解法与错因，T1的贪心策略存在缺陷，T2通过枚举质因数分解高效处理，T3则直接求解最短路中的最大边权。代码实现展示了具体解决方案。]]></description><category></category></item><item><title><![CDATA[2025XYD Summer Camp 7.11 模考]]></title><link>https://blog.youkuaiyun.com/UnderTheTime/article/details/149298516</link><guid>https://blog.youkuaiyun.com/UnderTheTime/article/details/149298516</guid><author>UnderTheTime</author><pubDate>Sat, 12 Jul 2025 19:01:07 +0800</pubDate><description><![CDATA[把逆元放一边，先把式子化简：
∑i=1n∑j=1mlcm⁡(i,j)=∑i=1n∑j=1mijgcd⁡(i,j)=∑d=1min⁡(n,m)d∑i=1⌊n/d⌋∑j=1⌊m/d⌋ij[gcd⁡(i,j)=1]=∑d=1min⁡(n,m)d∑k=1min⁡(⌊n/d⌋,⌊m/d⌋)k2μ(k)∑i=1⌊n/kd⌋∑j=1⌊m/kd⌋ij
\begin{aligned}\sum_{i=1}^n\sum_{j=1}^m\operatorname{lcm}(i,j)&=\sum_{i=1}^n\sum_{j=1}^]]></description><category></category></item><item><title><![CDATA[2025 XYD Summer Camp 7.10 筛法]]></title><link>https://blog.youkuaiyun.com/UnderTheTime/article/details/149298457</link><guid>https://blog.youkuaiyun.com/UnderTheTime/article/details/149298457</guid><author>UnderTheTime</author><pubDate>Sat, 12 Jul 2025 18:59:01 +0800</pubDate><description><![CDATA[最终只需计算 ∑d=1min⁡(n,m)μ(d)⌊n/d⌋⌊m/d⌋\sum_{d=1}^{\min(n,m)}\mu(d)\lfloor n/d\rfloor\lfloor m/d\rfloor∑d=1min(n,m)​μ(d)⌊n/d⌋⌊m/d⌋，瓶颈在于计算 μ\muμ 在若干个点上的前缀和，这些点一定属于 nnn 或 mmm 的整除点集合 Dn,DmD_n,D_mDn​,Dm​（就是使得 ⌊n/i⌋≠⌊n/(i+1)⌋\lfloor n/i\rfloor\ne \lfloor n/(i+1)\rfl]]></description><category></category></item><item><title><![CDATA[2024 信友队 noip 冲刺 10.10]]></title><link>https://blog.youkuaiyun.com/UnderTheTime/article/details/143629122</link><guid>https://blog.youkuaiyun.com/UnderTheTime/article/details/143629122</guid><author>UnderTheTime</author><pubDate>Fri, 08 Nov 2024 20:30:00 +0800</pubDate><description><![CDATA[前缀和 + 二分即可，再考虑一下左右端点还在睡觉的情况。printf观察到我们并不关心i点被哪个特殊点覆盖，而关心走到i时最多还剩下多少步用于继续扩展。我们以每个特殊点为起点、开始的权值为hi​；将边权设为−1，然后跑最长路（此时可以用 Dijkstra 求解，负权最长路就是正权最短路）即可。printf。]]></description><category></category></item><item><title><![CDATA[2024 信友队 noip 冲刺 10.11]]></title><link>https://blog.youkuaiyun.com/UnderTheTime/article/details/143629235</link><guid>https://blog.youkuaiyun.com/UnderTheTime/article/details/143629235</guid><author>UnderTheTime</author><pubDate>Fri, 08 Nov 2024 16:11:58 +0800</pubDate><description><![CDATA[不妨考虑图中的一条链，可以发现这条链的起始点要向链上所有点连边。那么可以推出对于点 uuu，需要向 uuu 能走到的所有点进行连边。nnn 次 dfs 即可。
T2

考虑使用  来维护每个点连出去的边，然后就做完了。删边时均摊 O(Q)O(Q)O(Q)。
T3

考虑分别建 nnn 个点表示 nnn 个集合，建 mmm 个点表示数字，每个集合向集合中的数连边权为 111 的有向边、数向包含它的集合连边权为 000 的边，从所有包含 111 的集合开始跑最短路，最后的答案即为 mmm 值对应的点的最短路 −]]></description><category></category></item><item><title><![CDATA[2024 信友队 noip 冲刺 10.8]]></title><link>https://blog.youkuaiyun.com/UnderTheTime/article/details/143629079</link><guid>https://blog.youkuaiyun.com/UnderTheTime/article/details/143629079</guid><author>UnderTheTime</author><pubDate>Fri, 08 Nov 2024 16:07:39 +0800</pubDate><description><![CDATA[考虑一个数字能被选择的条件。假设我们已经把 kkk 个数选进答案子序列中，那么对于没选择的数 iii，它能被选当且仅当 [i,n][i,n][i,n] 中有剩下没选的所有数字。我们考虑对于每个 iii 求出 [i,n][i,n][i,n] 中数的种类数 f(i)f(i)f(i)，然后从大到小枚举 kkk，每次找到一个满足 f(i)=kf(i)=kf(i)=k 的 aia_iai​ 最小的数作为答案的下一项。显然 f(i)f(i)f(i) 从后往前单调不降，那么我们可以求出最靠右的 f(i)=kf(i)=kf]]></description><category></category></item><item><title><![CDATA[2024 信友队 noip 冲刺 10.5]]></title><link>https://blog.youkuaiyun.com/UnderTheTime/article/details/143229713</link><guid>https://blog.youkuaiyun.com/UnderTheTime/article/details/143229713</guid><author>UnderTheTime</author><pubDate>Sat, 26 Oct 2024 07:30:00 +0800</pubDate><description><![CDATA[最后得到的策略是：Alice 若往左走，那么 Bob 就顺着她走直到碰到边缘，然后再让她飘回到另一端下去到下一行，当然还有直接放 Alice 下去的选择。首先，由于弹出的是最大值，所以减少的伤害必然不小于上一次受到的伤害，即当前总伤害。维护一个堆表示当前战胜的敌人，从前往后时刻保证当前堆是最大战胜数量且受到伤害最小的。Alice 的目标是最小化分数，Bob 的目标是最大化分数，求最优操作下最终获得的分数。边权的边，但是显然走后者比走前者优。的路径，我们一定是将路径在点上划分为若干段，使得每段的边权和。]]></description><category></category></item><item><title><![CDATA[2024 信友队 noip 冲刺 10.4]]></title><link>https://blog.youkuaiyun.com/UnderTheTime/article/details/143229546</link><guid>https://blog.youkuaiyun.com/UnderTheTime/article/details/143229546</guid><author>UnderTheTime</author><pubDate>Sat, 26 Oct 2024 01:15:00 +0800</pubDate><description><![CDATA[赛时糖丸了，推了一个关于平方的做法，差点就被我发现了。显然最小的取法就是从每个集合中取一个最小值求和，我们设这个最优值为。子序列（可能往上往下有出入，大概长这样），于是我们考虑把。从小到大排序，每个集合内部按从小到大排序。考虑其可能的后几个略小一些的状态。的暴搜做法，然后又拼了一个乱搞做法：每次比较。循环组成的串，然后在对应位置插入若干个。产生的增量，哪个多操作哪个，最终骗到。然后一种可行解是随机化，正确率还挺高。的元素个数，从大往小考虑，若。要求按顺序操作，求操作后最大的。大的值，最初始的状态即为。]]></description><category></category></item><item><title><![CDATA[2024 信友队 noip 冲刺 9.28]]></title><link>https://blog.youkuaiyun.com/UnderTheTime/article/details/143229341</link><guid>https://blog.youkuaiyun.com/UnderTheTime/article/details/143229341</guid><author>UnderTheTime</author><pubDate>Sat, 26 Oct 2024 00:00:00 +0800</pubDate><description><![CDATA[的小数据分和两档特殊性质，分别是单点修改和单点询问。很小可以直接枚举每个子串的和，然后扫一遍即可。的常数，用来处理循环节。线段树上每个点记录一下是否进入循环节和循环节的数组即可。，需要选择若干段不相交子串，使得每个子串的和相等。的路径（可以走重复的点和边），将路径上经过的边的值依次连接可以组成若干。会出现循环节，然后就可以用线段树维护了，循环节长度可以打表发现是。套路：把买和卖放到一起做，对于买的情况价值取负。的复杂度的做法，但是没有想出来，最后写了一个。相等的情况，显然应当先考虑买后考虑卖，痛失。]]></description><category></category></item><item><title><![CDATA[2024 信友队 noip 冲刺 9.1]]></title><link>https://blog.youkuaiyun.com/UnderTheTime/article/details/143229304</link><guid>https://blog.youkuaiyun.com/UnderTheTime/article/details/143229304</guid><author>UnderTheTime</author><pubDate>Fri, 25 Oct 2024 17:00:00 +0800</pubDate><description><![CDATA[线性代数上，对于一个n维向量就是一个长度为n的数组a，其中ai​∈FF一般为R或。]]></description><category></category></item><item><title><![CDATA[2024 信友队 noip 冲刺 8.30]]></title><link>https://blog.youkuaiyun.com/UnderTheTime/article/details/143229229</link><guid>https://blog.youkuaiyun.com/UnderTheTime/article/details/143229229</guid><author>UnderTheTime</author><pubDate>Fri, 25 Oct 2024 15:30:00 +0800</pubDate><description><![CDATA[观察到 Alice 非常被动，没有绝对的最大化策略，于是被 Bob 薄纱，只需考虑最小化即可，原题从博弈论变成两两分组使得异或值的最大值最小。贪心地从最高位开始考虑，然后在 01Trie 上神奇分类讨论。操作增长速度最快，发现是斐波那契数列，一开始想的是构造数列的前两个元素，于是套了个 exgcd 求最小整数解，然后错完了。一定会取到最优解，从小到大排序，求个后缀和，分成。的项的和，交替过程中预判和讨论一下是否需要插入。操作进行微调，发现在交替过程中插入一个。个元素，是正是负，再设一个。]]></description><category></category></item><item><title><![CDATA[2024 信友队 noip 冲刺 10.1]]></title><link>https://blog.youkuaiyun.com/UnderTheTime/article/details/143229375</link><guid>https://blog.youkuaiyun.com/UnderTheTime/article/details/143229375</guid><author>UnderTheTime</author><pubDate>Fri, 25 Oct 2024 11:07:13 +0800</pubDate><description><![CDATA[给定一个长度为n的数组aQ次询问每次询问给出LR，求所有LR的子区间lr满足从al​到ar​中至少分别有一个奇数和一个偶数。nQ≤5×105。这题的部分分高达90pts，一个OnQ的暴力和一个至多一个奇数或一个偶数的特殊性质。暴力就考虑对于i∈LR，以i为左端点的区间有几个，可以发现若i为奇数那么左端点必须在一个偶数之前，i为偶数同理。暴力就做完了。特殊性质分显然左右端点必须在那个特殊数字的左右两边。]]></description><category></category></item><item><title><![CDATA[2024 信友队 noip 冲刺 8.31]]></title><link>https://blog.youkuaiyun.com/UnderTheTime/article/details/143229270</link><guid>https://blog.youkuaiyun.com/UnderTheTime/article/details/143229270</guid><author>UnderTheTime</author><pubDate>Fri, 25 Oct 2024 11:01:56 +0800</pubDate><description><![CDATA[赛时打了个看起来很假的 O(n2)O(n^2)O(n2) dp 拿了 40pts40\mathrm{pts}40pts：令 f(i)f(i)f(i) 表示使 [1,i][1,i][1,i]​​ 合法的最小操作数量，转移时考虑把之前某个操作延长到自己使自己可以少操作几步，对于中间的部分直接按照不考虑时针转过头的情况计算最小步数。一开始打的暴搜根本跑不出来。
同机房 AC 的非常玄学，挂的也非常玄学，令 f(i,j)f(i,j)f(i,j) 表示先使第 iii 个钟转了 jjj 次，然后再考虑合法的最小操作数，]]></description><category></category></item><item><title><![CDATA[2024 信友队 noip 冲刺 8.29]]></title><link>https://blog.youkuaiyun.com/UnderTheTime/article/details/143229183</link><guid>https://blog.youkuaiyun.com/UnderTheTime/article/details/143229183</guid><author>UnderTheTime</author><pubDate>Fri, 25 Oct 2024 10:59:34 +0800</pubDate><description><![CDATA[由于每个点连出去两条边（正反各一个数字），最终的图一定由若干个不相交的环组成，环与环之间独立，只需计算每个环的答案然后乘起来即可。注意到环的答案只与环的大小有关，设大小为。等情况除外，特判即可），因为删掉一个元素后立即会出现两个相邻且相等的数。，我们将它所在的两张（或者一张，此时为自环）卡连一条边。对于建出的图，边代表数字，点代表卡牌，的限制，我们找到一段后缀，使得后缀和除以后缀长度最大，然后把。的答案都能取，维护一个前缀和即可。的数则之后的答案将这个数的后一位视为。为状态的 dp，发现会重，糖丸了。]]></description><category></category></item><item><title><![CDATA[【经验】C++ 算法竞赛代码技巧]]></title><link>https://blog.youkuaiyun.com/UnderTheTime/article/details/142689320</link><guid>https://blog.youkuaiyun.com/UnderTheTime/article/details/142689320</guid><author>UnderTheTime</author><pubDate>Thu, 03 Oct 2024 09:57:24 +0800</pubDate><description><![CDATA[使用namespace封装一个模块，如和。使用引用x中y元素。可以把using ...直接写在namespace的右大括号后面而不是单独占一行。使用来快速打开输入输出文件，若要打开sample.in和sample.out那么写一个不需要加引号即可。使用在控制台而不是终端输出你的程序运行时间。在你开始创建数组等元素前定义一个bool类型的变量，如；在main函数之前再定义一个，这样你就可以通过输出内存大小。在调用类似于init的初始化函数时，可以在定义完init后写一个完成调用。对于。]]></description><category></category></item><item><title><![CDATA[Day4 平衡树 & 线段树]]></title><link>https://blog.youkuaiyun.com/UnderTheTime/article/details/141682468</link><guid>https://blog.youkuaiyun.com/UnderTheTime/article/details/141682468</guid><author>UnderTheTime</author><pubDate>Thu, 29 Aug 2024 16:38:36 +0800</pubDate><description><![CDATA[满足左子树权值比自己小、右子树权值比自己大（感觉操作很像线段树/树状数组上二分）rank(x)xxkthkrank(x)需要支持插入/删除元素cnt如果树构成一条链那么就会退化成On的操作复杂度。由此出现了。]]></description><category></category></item><item><title><![CDATA[Day3 二分图 & 网络路]]></title><link>https://blog.youkuaiyun.com/UnderTheTime/article/details/141682426</link><guid>https://blog.youkuaiyun.com/UnderTheTime/article/details/141682426</guid><author>UnderTheTime</author><pubDate>Thu, 29 Aug 2024 16:36:58 +0800</pubDate><description><![CDATA[可以考虑（即一条边两边端点颜色不同）和转化成二分图的模型。匹配：选择若干条边使得每个点周围至多只有一条边被选。最大匹配：最多的边。增广路用于将匹配边替换为一些当前可能更优的非匹配边，增广路中匹配边与非匹配边交替出现。：bfs/dfs，从每个点出发找增广路，找不到了就得到了极大匹配，即最大匹配。n。]]></description><category></category></item><item><title><![CDATA[Day1 计数类dp 知识点 & 部分例题]]></title><link>https://blog.youkuaiyun.com/UnderTheTime/article/details/140348274</link><guid>https://blog.youkuaiyun.com/UnderTheTime/article/details/140348274</guid><author>UnderTheTime</author><pubDate>Thu, 11 Jul 2024 11:59:06 +0800</pubDate><description><![CDATA[相当于计数、数方案数的 dp，其中概率就是总方案数合法方案数​。]]></description><category></category></item></channel></rss>