11 2024 档案
摘要:原题链接 题意 给定一个 \(n \times n \times n\) 的立方体, 从里面选取 \(n\) 个数, 要求两两不在同一平面内, 所以总共会有 \(n\) 个数被选. 求能够选取的最小值. 其中 \(2 \le n \le 12,\ 0 \le val_{x,y,z} \le 2 \t
阅读全文
摘要:题目链接 算法 素数筛。 思路 有一个结论,如果将一个数 \(x\) 的 \(x^{\frac{1}{4}}\) 内的素因子筛掉,那么剩下的数一定是一个完全立方数或者不能被开立方。 如何证明呢? 采用反证法,若存在因子 \(p > x^{\frac{1}{4}}\),使得剩下的 \(x\) 能被表示
阅读全文
摘要:题目 & 题解 T1 思路 考虑先将原序列的逆序对个数求出来, 因为 \(a_i \le 5000\), 直接用一个桶统计即可. 再考虑将序列 \(a\) 拓展 \(k\) 次以后, 对于 \(a_{i+n}\) , 在上一段序列中的逆序对个数可以统计出来, 同理拓展到 \(a_{i+kn}\) ,
阅读全文
摘要:题目链接 算法引入 字典树 Trie 字典树, 顾名思义, 就是像字典一样的书. 平时查单词, 比如 abandon, 你会怎么查? 大概是先找到 'a' 这个字母所在的范围, 再查 'b' 的范围, 以此类推, 一个单词就被查找到了. 字典树亦是如此. 先放一张图. 可以发现, 字典树用边(点)来
阅读全文
摘要:题面 & 题解 T1 算法 区间动态规划. 思路 考虑两个人在一轮中的操作, 先手(执行删除操作的人)希望得分最小化, 后手(执行取数操作的人)希望得分最大化. 显然有如下转移方程: \[f_{l,r} = \min^r_{i=l} (\max(sum(l,i-1)+f_{i+1,r},sum(i+
阅读全文
摘要:题目 & 题解 T1 算法 贪心. 思路 分类讨论. 对于 4 次比赛均参加了的账号, 其一定是真人. 对于参加了 3 次比赛的账号, 如果他有小号, 那么小号最多是只参加了该账号没有参加的那一场比赛的一个账号. 对于参加了 2 次比赛的账号, 假设他只参加了 1, 3 这两场比赛, 那么他最好与恰
阅读全文
摘要:题目链接 算法 Tarjan 缩点, 树形 dp. 题意 给定一个无向连通图, 我们要选择某些点并且选择某些边 (被选择的边不能被删除), 使得当任意一条没有被选择的边被删除后我们选择的点两两连通. 求总共的方案数. 思路 容易发现一条删除后对连通性有影响的边只可能是割边, 我们对一条不是割边的边可
阅读全文
摘要:参考 这一篇讲的真的非常详细! 强连通分量 引入 强连通的定义: 有向图 G 强连通指的是 G 中任意两个节点都可以互相到达. 强连通分量 (SCC) 的定义是: 极大的强连通子图. 举个栗子, 下图为一个有向图. 在这个图中, 1, 2 两点可以互相到达对方, 所以这两个点强连通. 而1, 2 和
阅读全文
摘要:题目链接 算法 动态规划. 思路 区间dp, 我们令 \(g_{l,r}\) 为将 \(l-r\) 这一段序列合并成一个点的答案, \(f_{l,r,i}\) 表示将 \(l - r\) 这一段分成 \(i\) 段分别合并的最小花费. 对于数组 \(g\) 的转移, 我们枚举分了多少段, 而对于 \
阅读全文
摘要:题面 T1 诈骗题, 考虑贪心. 容易发现一个合法的方阵每一行或者每一列一定形如 "ABAB..." 或者 "BABA...". 那么可以对横行和纵列分别进行贪心. 最后取 \(\max\) 即可. 时间复杂度 \(\mathcal{O}(n^2)\). #include "iostream" us
阅读全文
摘要:题面 & 题解 T1 算法: 并查集 用并查集维护合并的过程, 每次合并时将能力值小的父亲定义为能力值大的父亲即可. #include "iostream" using namespace std; namespace IO { template <typename T> inline void r
阅读全文