分类 OI 下的文章

本文是 SSL-OI 夏日合宿 2020.08.22 A 组的题解,包括一道思维题的题解和故事。思维题可以用暴力求解,也可以通过桶和后缀和优化。

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

文章介绍了多种图计数问题及其解法,包括无向图计数、Prufer序列与无根树计数、二叉树计数、无向连通图计数、二分图计数、基环树计数以及一个期望题。无向图计数通过计算连边方式得出,Prufer序列用于证明Cayley公式,二叉树计数涉及Catalan数,无向连通图计数采用容斥原理,二分图计数通过染色方案数计算,基环树计数则涉及环排列。期望题涉及合法括号序的期望距离计算。

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

本文主要介绍了数论中的一些基本概念和算法,包括素数判定、因数个数、线性筛、最小素因数、欧拉函数、欧拉函数线性筛等。同时,文章还给出了每个算法的复杂度分析和证明。