摘要: 题解 P7800 [COCI2015-2016#6] PAROVI 题目传送门 算法分析:线性 dp 拿到题目首先观察数据范围,发现 \(1\le n\le20\),因此我们可以先将所有的满足条件的互质的数预处理出来(以下称这些满足条件的组为“互质对”)。需要注意的一点是,\(\{1,1\}\) 这组不满足条件。当 \(n=20\) 时,共有 \(127\) 组。 阅读全文
posted @ 2021-08-11 20:01 Maplisky 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 题解 P7802 [COCI2015-2016#6] SAN 题目传送门 算法分析:数位 dp 在讲正解之前先说一下部分分。 注意到对于 \(50\%\) 的数据,\(1\le L,R\le10^6\),似乎可以暴力做出来。但由于我们不知道每个数可能出现的位置,直接开二维数组模拟非常容易炸~~(事实证明它就炸了……)~~,因此我们要换一种方式枚举。注意到每一个 阅读全文
posted @ 2021-08-08 21:42 Maplisky 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 题解 UVA1720 Weather Report 题目传送门 前置芝士:哈夫曼树 看到最小编码长度,当然要想起哈夫曼树(又称最优二叉树)。哈夫曼树使用变长编码表对文本进行编码。基本思想是对出现次数多的字符使用较短的编码,对出现次数少的字符使用较长的编码,使得编码后字符串的平均长度及期望值降低。可以证明哈夫曼树的 WPL 是最小的。(WPL:树的带权 阅读全文
posted @ 2021-08-08 10:02 Maplisky 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 题解 丑国传说 · 收税(En:Tax Collection) 题目传送门 题目大意 给定一颗以 \(1\) 为根的带权树,对于每个询问 \(\{x,h\}\),求子树 \(x\) 前 \(h\) 层节点权值的异或和。 算法分析: 其实这道题算法还是蛮多的~~(毕竟是签到题,当然要水水水水)~~。 这里介绍一种用树状数组的离线算法。 一些约定: 用 \(dis_ 阅读全文
posted @ 2021-08-06 21:58 Maplisky 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 传送门 前置知识: SA 数组。 题意: 给出 \(n\) 个在 \([1,n]\) 内的数 \(a_i\)。 \(q\) 次询问,每次给出 \(s,l,r\),问是否 \(\exists b\in[1,n]\) 使 \(\forall k\in[0,r-l]\),\(a_{l+k}+a_{b+k} 阅读全文
posted @ 2021-07-27 19:52 Maplisky 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 题解 SP4155 OTOCI - OTOCI 题目传送门 双倍经验哒 算法分析:欧拉序+并查集 太弱了不会 LCT 没办法…… 提供一种不需要 LCT 的解法。 题目里虽说在线操作,但我们可以把操作先存下来。注意到按照顺序进行操作,最后得到的树是固定的,因此我们可以利用并查集,仅执行 bridge 操作,把树先建好。这样整个问题就转化为,在一棵 阅读全文
posted @ 2021-07-25 18:13 Maplisky 阅读(36) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2021-07-22 21:16 Maplisky 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 ##算法分析:线段树优化 dp 先提醒一下坑点: 题中 Sorter 的顺序不可改变。 一些约定: 记第 \(k\) 个 Sorter 的左右端点为 \(l_k\),\(r_k\),长度为 \(len_k\)。 首先分析 dp。我们关心的是能对目标序列全部排序的最少 Sorter 个数, 阅读全文
posted @ 2021-07-17 19:52 Maplisky 阅读(43) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2021-06-29 18:38 Maplisky 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 传送门,是划水时口胡的一道大水题 前置知识: 可持久化线段树。 题意: 给出一个长度为 \(n\) 的数列 \(a_i\)。 \(m\) 次在线询问,每次询问求出 \(\sum\limits_{i=l}^{r-1}|x-a_i|\times|x-a_{i+1}|\)。 \(n,m\le3\times 阅读全文
posted @ 2021-06-28 16:34 Maplisky 阅读(75) 评论(0) 推荐(1) 编辑