<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[bz02_2023f2的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/bz02_2023f2</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; bz02_2023f2]]></copyright><item><title><![CDATA[打表的好处：从原理到实战]]></title><link>https://blog.youkuaiyun.com/bz02_2023f2/article/details/166901020</link><guid>https://blog.youkuaiyun.com/bz02_2023f2/article/details/166901020</guid><author>bz02_2023f2</author><pubDate>Wed, 30 Sep 2026 17:23:07 +0800</pubDate><description><![CDATA[打表是通过预先计算并存储结果，实现查询时O(1)响应的高效编程技巧。它以空间换时间，显著提升运行速度，避免重复计算，降低代码复杂度，适用于结果有限、查询频繁且计算代价高的场景。在算法竞赛和开发中，打表能突破时间限制、便于调试，但需权衡内存开销与预处理成本。掌握打表思想，可优雅应对性能瓶颈。]]></description><category></category></item><item><title><![CDATA[超题解的好处：为什么越来越多的人选择超题解]]></title><link>https://blog.youkuaiyun.com/bz02_2023f2/article/details/166900971</link><guid>https://blog.youkuaiyun.com/bz02_2023f2/article/details/166900971</guid><author>bz02_2023f2</author><pubDate>Wed, 30 Sep 2026 17:22:15 +0800</pubDate><description><![CDATA[超题解通过深度解析题目思路、关联知识点、举一反三，显著提升学习效率与理解深度。在答辩中，它帮助学习者清晰表达解题逻辑，从容应对追问，增强信心与专业表现。合理使用需先独立思考、重思路轻答案，并及时总结归纳，实现从“会做”到“讲清”的跨越。]]></description><category></category></item><item><title><![CDATA[题解：AT_agc078_b [AGC078B] L Robust IS]]></title><link>https://blog.youkuaiyun.com/bz02_2023f2/article/details/166900957</link><guid>https://blog.youkuaiyun.com/bz02_2023f2/article/details/166900957</guid><author>bz02_2023f2</author><pubDate>Wed, 30 Sep 2026 17:19:31 +0800</pubDate><description><![CDATA[给定序列 $a$ 及非负整数 $x, y$，求满足两个递推条件的最长子序列长度：$b_i \ge b_{i-1} - x$（$i \ge 2$），$b_i \ge b_{i-2} - (x+y)$（$i \ge 3$）。通过将原数组值编码为 $a_i(n+1)+i$ 并利用动态规划优化，结合状态压缩与贪心去除冗余三元组，最终维护每个长度下最优的末尾值和最小阈值。进一步利用单调性与线段树优化，实现 $O(n^2)$ 至 $O(n \log n)$ 的高效解法，可在合理时间内处理大规模数据。]]></description><category></category></item><item><title><![CDATA[ABC476G 题解]]></title><link>https://blog.youkuaiyun.com/bz02_2023f2/article/details/166139269</link><guid>https://blog.youkuaiyun.com/bz02_2023f2/article/details/166139269</guid><author>bz02_2023f2</author><pubDate>Sun, 20 Sep 2026 19:15:38 +0800</pubDate><description><![CDATA[给定区间 $[L, R]$，求满足“若 $A_i = A_j$ 且 $i < j$，则 $\text{popcount}(i) < \text{popcount}(j)$”的序列中，$\max A$ 的最小值。该问题等价于求将序列按 $\text{popcount}$ 分组后，最长不上升子序列的长度。通过预处理 $0 \sim 2^u - 1$ 区间内 popcount 序列的最长不上升子序列长度，并利用数位 DP 处理任意区间 $[L, R]$，结合前缀相同位消去与拆分策略，最终在 $O(\log^4 R]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.youkuaiyun.com/bz02_2023f2/article/details/166136288</link><guid>https://blog.youkuaiyun.com/bz02_2023f2/article/details/166136288</guid><author>bz02_2023f2</author><pubDate>Sun, 20 Sep 2026 19:14:09 +0800</pubDate><description><![CDATA[给定区间 $[L, R]$，求满足“若 $A_i = A_j$ 且 $i < j$，则 $\text{popcount}(i) < \text{popcount}(j)$”的序列中，$\max A$ 的最小值。该问题等价于求序列中最长不上升子序列的长度（按 $\text{popcount}$ 定义），即最少划分成多少个单调上升子序列。通过预处理 $0 \sim 2^u - 1$ 区间内 $\text{popcount}$ 序列的最长不上升子序列长度，并利用数位 DP 处理任意区间 $[L, R]$，结合前缀]]></description><category></category></item><item><title><![CDATA[NOIP2024 写题总结]]></title><link>https://blog.youkuaiyun.com/bz02_2023f2/article/details/164860009</link><guid>https://blog.youkuaiyun.com/bz02_2023f2/article/details/164860009</guid><author>bz02_2023f2</author><pubDate>Thu, 10 Sep 2026 17:26:37 +0800</pubDate><description><![CDATA[NOIP2024总结]]></description><category></category></item><item><title><![CDATA[题解：P13755 【MX-X17-T4】Yet another Game problem]]></title><link>https://blog.youkuaiyun.com/bz02_2023f2/article/details/164114641</link><guid>https://blog.youkuaiyun.com/bz02_2023f2/article/details/164114641</guid><author>bz02_2023f2</author><pubDate>Thu, 27 Aug 2026 11:36:34 +0800</pubDate><description><![CDATA[现在就可以这样考虑，将其考虑为两个棋子移动的问题，一个是黑棋，只能在黑格移动，一个是白棋，只能在白格移动。否则，就说明必然为这一段黑格以前的所有区间内后缀都是白格多于黑格的情况了，不然总能找到以前的一段满足。那么对于这种，就可以直接一步步的移动直到白棋落入死局，因为无论白棋怎么跳，后缀损失的白棋都是多于黑棋的，故而必胜得证。然后可以发现，任何以该白格为起点的后缀必定是白格多余黑格的，否则就将得到下一个黑子的必胜位置，这个之后会证明，不服于选择条件。为黑白相等的一个位置，利用反证法，假设上一个必胜位置为。]]></description><category></category></item><item><title><![CDATA[Centroid of a Slice 题解]]></title><link>https://blog.youkuaiyun.com/bz02_2023f2/article/details/164064939</link><guid>https://blog.youkuaiyun.com/bz02_2023f2/article/details/164064939</guid><author>bz02_2023f2</author><pubDate>Tue, 25 Aug 2026 20:57:33 +0800</pubDate><description><![CDATA[AT_abc472_f [ABC472F] Centroid of a Slice（切片的重心）]]></description><category></category></item><item><title><![CDATA[abc472_e 题解]]></title><link>https://blog.youkuaiyun.com/bz02_2023f2/article/details/164064888</link><guid>https://blog.youkuaiyun.com/bz02_2023f2/article/details/164064888</guid><author>bz02_2023f2</author><pubDate>Tue, 25 Aug 2026 20:53:59 +0800</pubDate><description><![CDATA[摘要：题目要求判断给定连通无向图是否存在由奇数个顶点组成的环，若存在则输出任意一个这样的环。通过遍历图的顶点，利用深度优先搜索（DFS）标记访问状态，检查是否存在满足条件的路径组合形成奇环。若找到，则输出环的顶点序列；否则输出 -1。代码通过双向标记和路径回溯实现高效搜索，适用于大规模输入数据。]]></description><category></category></item><item><title><![CDATA[[HNOI2026省队集训]Sum 题解]]></title><link>https://blog.youkuaiyun.com/bz02_2023f2/article/details/163686584</link><guid>https://blog.youkuaiyun.com/bz02_2023f2/article/details/163686584</guid><author>bz02_2023f2</author><pubDate>Wed, 12 Aug 2026 09:33:52 +0800</pubDate><description><![CDATA[题目摘要：给定非负整数n,k和序列a₁,a₂,…,aₘ（m=⌊√n⌋），求∑(i=1到n)aᵥ(ᵢ)·iᵏ mod 998244353的值，其中v(i)是i的最大平方因子。数据范围1≤n≤10¹¹，0≤k≤10⁶。 解法摘要：通过容斥转化为自然数幂和问题，预处理质数和小范围结果，对大范围使用分治和拉格朗日插值优化。时间复杂度约O(n^(4/3))，需处理特殊数据限制。 关键点： 预处理质数和小范围幂和 使用容斥原理处理a数组 对大范围采用拉格朗日插值 注意模数998244353和特殊数据限制]]></description><category></category></item><item><title><![CDATA[「HNOI2021 省集 Day6」一般图带权多重匹配 题解]]></title><link>https://blog.youkuaiyun.com/bz02_2023f2/article/details/163565134</link><guid>https://blog.youkuaiyun.com/bz02_2023f2/article/details/163565134</guid><author>bz02_2023f2</author><pubDate>Fri, 07 Aug 2026 14:45:26 +0800</pubDate><description><![CDATA[该问题要求通过一系列减一操作将所有 (a_i) 变为 0，并最小化总代价。操作涉及同时减少两个 (a_i) 和 (a_j)（允许 (i = j)），每次操作代价为 (c_{i,j})。若无法完成，返回 -1。输入包括 (n) 个初始值 (a_i) 和 (n \times n) 的代价矩阵 (c)。数据范围 (n \leq 50)，(a_i \leq 100)，其中奇数不超过 10 个。解法可转化为线性规划问题，通过多次调整约束求解。样例展示了不同情况下的最小代价或无解输出。]]></description><category></category></item><item><title><![CDATA[「HNOI2021 省集 Day2」AK 啦!题解]]></title><link>https://blog.youkuaiyun.com/bz02_2023f2/article/details/163538174</link><guid>https://blog.youkuaiyun.com/bz02_2023f2/article/details/163538174</guid><author>bz02_2023f2</author><pubDate>Thu, 06 Aug 2026 19:18:40 +0800</pubDate><description><![CDATA[摘要 本文介绍了一个关于直线探测的交互题解法和实现。题目要求在一维平面上通过有限次数的点查询，找出所有平行于x轴和y轴的隐形直线。提供了两种解法： 20分随机撒点法：通过随机撒点并根据查询结果推断直线位置，考虑不同范围撒点以应对恶意数据。 满分分治递归法：通过递归分治策略，在中间点(i,i)进行查询，根据结果判断直线位置，更高效地找到所有直线。 两种方法都实现了要求的查询接口，并能在规定次数内完成任务。满分解法通过分治策略显著提高了效率，适用于更大规模的数据。]]></description><category></category></item><item><title><![CDATA[研究之一的部分]]></title><link>https://blog.youkuaiyun.com/bz02_2023f2/article/details/163086125</link><guid>https://blog.youkuaiyun.com/bz02_2023f2/article/details/163086125</guid><author>bz02_2023f2</author><pubDate>Tue, 21 Jul 2026 21:10:18 +0800</pubDate><description><![CDATA[研究的一些东西，先不写。]]></description><category></category></item><item><title><![CDATA[P3192 [HNOI2007] 胜负一子数据]]></title><link>https://blog.youkuaiyun.com/bz02_2023f2/article/details/163085983</link><guid>https://blog.youkuaiyun.com/bz02_2023f2/article/details/163085983</guid><author>bz02_2023f2</author><pubDate>Tue, 21 Jul 2026 21:08:29 +0800</pubDate><description><![CDATA[本文是关于五子棋残局问题的解决方案。题目要求在15×15的棋盘上，给定当前黑白棋子的分布(0为空,1为黑,2为白)，找出黑棋能在最少步数内获胜的所有下一步走法。输出应包括获胜所需最少步数和所有可能的下一步位置坐标。 解决方案采用直接匹配预置棋局模式的方法，通过输入数据与预设的10种棋局模式进行比对，直接输出对应的结果。每种模式都有特定的获胜步数和下一步走法坐标。代码中使用了多重条件判断来匹配不同棋局，并输出相应的结果。 这种方法适用于题目给定的特定测试用例，通过硬编码的方式快速解决问题，而不需要复杂的算法分]]></description><category></category></item><item><title><![CDATA[P9013 [USACO23JAN] Find and Replace S 题解]]></title><link>https://blog.youkuaiyun.com/bz02_2023f2/article/details/162673631</link><guid>https://blog.youkuaiyun.com/bz02_2023f2/article/details/162673631</guid><author>bz02_2023f2</author><pubDate>Tue, 07 Jul 2026 21:16:05 +0800</pubDate><description><![CDATA[摘要：题目要求通过字符替换操作将原字符串转换为目标字符串，求出最少操作次数或判定不可能。每次操作可将所有某字符替换为另一字符。关键点包括：处理字符映射关系、检测循环依赖（如B→A,A→B）、统计必须的额外操作（如中间字符转换）。对于每组测试，若存在直接冲突（如字符需同时映射到不同字符）则输出-1，否则通过拓扑排序计算最小操作数。时间复杂度主要取决于字符集大小（52个字母）。]]></description><category></category></item><item><title><![CDATA[P10163 [DTCPC 2024] 平方树 题解]]></title><link>https://blog.youkuaiyun.com/bz02_2023f2/article/details/162673602</link><guid>https://blog.youkuaiyun.com/bz02_2023f2/article/details/162673602</guid><author>bz02_2023f2</author><pubDate>Tue, 07 Jul 2026 21:14:18 +0800</pubDate><description><![CDATA[题目摘要 给定一个包含n个点和m条有向边的森林（无向边视为树结构），需要通过两种操作使其成为满足条件的树：1) 添加新节点；2) 添加有向边。最终要求将边视为无向后形成一棵树，且每个节点的出度为平方数。目标是找到添加节点最少的方案。 解决思路 计算出度差值：对每个节点，计算其当前出度与最近平方数的差值（需要额外添加的出边数）。 连通性处理：使用并查集维护连通分量，确保最终形成一棵树。 合并分量：通过添加边来合并不同的连通分量，优先使用需要补充出度的节点。 补充出度：为需要额外出度的节点连接到新添加的节点。 ]]></description><category></category></item><item><title><![CDATA[P9676 [ICPC 2022 Jinan R] Skills DP即可]]></title><link>https://blog.youkuaiyun.com/bz02_2023f2/article/details/162673577</link><guid>https://blog.youkuaiyun.com/bz02_2023f2/article/details/162673577</guid><author>bz02_2023f2</author><pubDate>Tue, 07 Jul 2026 21:11:54 +0800</pubDate><description><![CDATA[摘要 题目描述庞博士有3项技能，每天可以选择练习其中一项以获得熟练度，未练习的技能会随时间减少熟练度（不低于0）。给定T组数据，每组包含n天的技能收益值，求n天后三项技能熟练度之和的最大值。代码使用动态规划方法解决，通过状态转移计算最优解，考虑了技能练习间隔对熟练度的影响。数据规模为T≤1000，每组n≤1000，总n≤1000。示例输入输出展示了不同天数下最大熟练度和的计算结果。]]></description><category></category></item><item><title><![CDATA[P17061 [JRKSJ R10 热身赛] Diskontinuierliches 题解]]></title><link>https://blog.youkuaiyun.com/bz02_2023f2/article/details/162623058</link><guid>https://blog.youkuaiyun.com/bz02_2023f2/article/details/162623058</guid><author>bz02_2023f2</author><pubDate>Mon, 06 Jul 2026 09:50:10 +0800</pubDate><description><![CDATA[摘要 题目要求统计给定字符串中所有满足"不连续子串"条件的子串数量。一个子串S[l,r]被称为不连续子串，当且仅当存在一个非连续子序列与该子串相等。通过分析，我们发现只需计算所有长度为2的子串数目减去满足特定条件的字符对数目。最终解法时间复杂度为O(1)，适用于大字符串输入。样例1中输出6，对应于字符串"ababa"中的6个不连续子串。]]></description><category></category></item><item><title><![CDATA[P17062 [JRKSJ R10 热身赛] Captain 题解就是用来C的]]></title><link>https://blog.youkuaiyun.com/bz02_2023f2/article/details/162622979</link><guid>https://blog.youkuaiyun.com/bz02_2023f2/article/details/162622979</guid><author>bz02_2023f2</author><pubDate>Mon, 06 Jul 2026 09:47:45 +0800</pubDate><description><![CDATA[题目摘要：构造k个骰子，满足：(1)骰子面数之和为n；(2)1到n每个数字在所有骰面上恰好出现一次；(3)每个人投自己的骰子获胜概率相等。若无解输出NO（AI需输出N0）。 输入：k,n 输出：k行每行表示一个骰子（面数+数字），或无解信息。 关键点： 需要n≥k(k+1)/2否则无解 构造要求数字1-n均匀分配且概率均等 样例2展示了3个骰子各6面，总和18的合法构造 代码思路： 检查n是否足够大 特殊处理n=1情况 按公式分配数字构造骰子，确保概率均等]]></description><category></category></item><item><title><![CDATA[记录：2026.7.1]]></title><link>https://blog.youkuaiyun.com/bz02_2023f2/article/details/162497098</link><guid>https://blog.youkuaiyun.com/bz02_2023f2/article/details/162497098</guid><author>bz02_2023f2</author><pubDate>Wed, 01 Jul 2026 21:31:28 +0800</pubDate><description><![CDATA[摘要：作者完成了三道分块算法题目（分别安排在上午、下午和晚上），并配套撰写了三篇高质量题解，自我评价这些题解内容极其优秀，具有很高的学习参考价值。（49字）]]></description><category></category></item></channel></rss>