摘要: 题目传送门 ##算法分析:01背包+记忆路径 对于每一片 CD ,只有选和不选两种情况。直接 dfs 最坏情况下时间复杂度达到 \(O(n^2)\) ,显然不能过。由于只有两种情况,考虑01背包。用 \(dp_j\) 表示音轨长度为 \(j\) 时的最优解。容易得到: \(dp_j=\max(dp_ 阅读全文
posted @ 2021-06-22 22:21 Maplisky 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 Day1 T1 就这种难度了…… ##算法分析:01背包 拿到题目真没什么思路,先简单讲一下部分分的做法。 对于 \(\text{Subtask 1,2}\),考虑二进制枚举所有方案,然后计算利润。时间复杂度至少 \(\mathcal{O}(2^n)\) 。码量比正解还大,就不放了…… 阅读全文
posted @ 2021-06-22 22:19 Maplisky 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 既然没人发题解那就毫不客气地收下啦! Update 2021.4.24:修复了时间复杂度错误。。 ##题意简述: 给你一个 \(n\) 个整数的数组,你可以把它分成三段 ( 任意一段可以为空,满足 \(l+mid+r=n\) 就行 ),求一种划分方法,使得 \(l\),\(r\) 内的所 阅读全文
posted @ 2021-06-22 18:49 Maplisky 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 恶心的题目…… ##题目翻译有误: 第一行 \(T\) 不是数据组数,而应是该数据点属于哪个子任务。 题目分析: 其实这题没什么算法或者数据结构,主要考一个想法。 提供一个 \(\mathcal{O}(nlog(n))\) 的算法。 问题1:能否构成三角剖分? 有两种做法: 第一种:时间 阅读全文
posted @ 2021-06-22 18:48 Maplisky 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 无人问津的题目…… ##题目翻译: 第一行一个数 \(T\),表示数据组数。 对于每一组数据,给出 \(n\) 个数 \(a_0\ldots a_{n-1}\),和 \(m\) 个操作。每个操作包含一个区间 \([l,r]\)。每次取相邻的两个数进行异或,然后将得到的新数列不断进行上述操 阅读全文
posted @ 2021-06-22 18:41 Maplisky 阅读(44) 评论(0) 推荐(0) 编辑