分类 OI 下的文章

这篇文章主要记录了作者在 SSL-OI2020 夏日合宿期间的经历、感受和思考,包括模拟赛、杂题、故事等内容,还提到了作者对未来的规划和选择。

文章讨论了LOJ #6089小Y的背包计数问题,该问题要求计算将大小为$n$的背包装满的方案数,其中物品数量也为$n$,每个物品的重量和数量均为其编号。解法采用了根号分治策略:对于重量大于$\sqrt{N}$的物品,视为无数量限制,使用数的划分(可重方式)求解;对于重量小于$\sqrt{N}$的物品,使用多重背包求解,复杂度为$O(N\sqrt{N})$。前置知识包括多重背包的单调队列优化和数的划分DP。

这篇文章主要记录了作者在 SSL-OI 夏日合宿中的经历,包括购买键盘和键帽、打部分分的情况以及对一些题目的题解和总结。

文章讨论了POI2018中的水箱问题(luoguP5952),该问题要求计算一个$n*m$方格水箱中,水位高度不超过$H$的情况下,有多少种不同的水位分布。文章提出了一种基于最小生成树的解决方案,通过从小到大枚举墙的高度,合并水域并计算答案。算法使用并查集来维护水域的合并,并通过优先队列来处理墙的合并顺序。最终,程序输出水位分布的总数,该数对$10^9+7$取模。文章还提到了一些实现细节,如数组大小和优化技巧。

文章讨论了SSL-OI夏日合宿2020.08.17 A组的三道题目。T1题要求根据边权求点权,解法涉及基环树和环上的k元一次方程组求解。T2题要求将数组分为两个上升子序列,使差值最小,解法涉及二分图染色和DP。T3题涉及序列操作,支持修改和查询,解法提出了树剖和树套树两种方法。文章还提到了出题人胡睿和博客更新情况。