03 2018 档案
摘要:题目链接 分析 : 就是一个 0/1 背包,但是需要记录具体状态的转移情况 这个可以想象成一个状态转移图,然后实际就是记录路径 将状态看成点然后转移看成边,最后输出字典序最小的路径 这里有一个很巧妙的做法 先将所有的硬币升序排序(这一点很重要) 然后在这一条件下,假设当前状态是考虑第 i 个硬币,前
阅读全文
摘要:不严格说明什么是二分图 ==> 能将图的顶点分为两个集合、同一集合中的顶点没有边相连 匹配 ==> 在图G中两两没有公共端点的边集合M ⊆ 边集合E 除了匹配顺便说一些其他的术语 边覆盖 ==> 在图G中任意顶点都至少是F中某条边的端点的边集合F ⊆ E 独立集 ==> 在G中两两互不相连的顶点集合
阅读全文
摘要:题意 : 给出两个操作,① 往一个序列集合(初始为空)里面不降序地添加数字、② 找出当前序列集合的一个子集使得 (子集的最大元素) - (子集的平均数) 最大并且输出这个最大差值 分析 : 首先关注到 ① 操作是有序地添加数 然后为了回答 ② 的问询,来分析一波 直觉告诉我们,要最大化差值,选取的子
阅读全文
摘要:二分法适用于在单调函数上通过不断逼近的方式寻找答案,一般用于“判定性问题” 而三分法则用于凹凸函数,寻找其凹点和凸点 例如上图的函数是个凸函数,蓝色点便是凸点 三分的基本步骤就是先将 [ L, R ] 分为 [ L, mid ] && [ mid, R ] 中点为 mid 然后将 [ mid, R
阅读全文
摘要:题意 : 题目链接 分析 : 如果没有 BUG (即 h == 0 的时候)就是一个普通的 0 / 1 背包 需要讨论一下 h != 0 的情况 此时有就相当于有物品是有特权的 而且背包装有特权的物品根据题目的要求是应当最后装的 也就是说特权物品装完之后背包将不再可装 所以特权物品肯定是只有一个的
阅读全文
摘要:题意 : 给出 N 头牛,以及 M 个某些牛之间的大小关系,问你最少还要确定多少对牛的关系才能将所有的牛按照一定顺序排序起来 分析 : 这些给出的关系想一下就知道是满足传递性的 例如 A > B && B > C 可以推出 A > C 也就是说如果用数组 arr[i][j] = true 表示牛 i
阅读全文