
贪心
Lqingyyyy
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #755 (Div. 2, based on Technocup 2022 Elimination Round 2) E题
题意是 给你 个长度为 n的 数组 找到 子区间 l ~ r 使用1个操作 ai - 1 ai +1 - 1使得 所有子区间元素变为 0 的个数 方法一: 考虑如何让子区间变为0 那肯定是 从左到右不停减去自身 使得最后一个元素 为 0 既 al - al + 1 <= 0 al + 1 - al - al + 2 <= 0 直到最后一个为0即可 我们只需要找到 第一个 > 0的位置并且 找到 0的个数就行 所以我们考虑维护 维护一个B数组上述1 ~ n的前缀 若我们要使 l为第一个位原创 2021-11-18 14:18:52 · 380 阅读 · 0 评论 -
P4068 [SDOI2016]数字配对 最大流大费用流 + 贪心
首先考虑ai / aj 是个质数 所以 ai对于 质数因子的个数 是 aj对于质因子的个数 多1 因为 ai 是 aj 的倍数所以 aj中包含的 ai一定包含 因为 ai / aj 是质因子 所以 不存在 aj / ak 是质因子 但是 ai / ak是质因子的情况 所以一定是个二分图 我们只需要 利用 质因子个数分组连边就行 然后跑一个最大费用最大流 但是题目需要我们找到 大于0的情况 因为我们的最大流最大费用流 每次找的是当前图的最大路 所以只需要判断 当找的路 * 个数 加上是否小于0 若 <原创 2021-05-27 17:52:09 · 92 阅读 · 0 评论 -
洛谷p1792 带悔贪心
题意大概是 让你种树 m棵树 n个位置 相邻的两个位置不能种树 种树需要钱 问 需要的最少的钱 要多少 首先考虑 dp 我实在是不会 看了首题解 原来是带悔贪心 是我没学过的东西= 然后 主要思路 就是 我先选择了一个 位置 是最大的 列如 ak 那么 ak - 1 和 ak + 1 都不能选 但是 如果 ak - 1 + ak + 1 比 ak大的话 那么肯定是选择 ak - 1 + ak + 1 那么这个时候 我们先选择 ak 然后 将 ak - 1 + ak + 1 - ak 存入链表 将ak 和原创 2021-05-20 09:58:57 · 200 阅读 · 0 评论 -
洛谷p1315
一道贪心好题 一开始思考 如何去暴力做这个题 我们就想先把 k为0的时候求出来 然后 循环找最优 那么就思考 用双for去寻找 当 这个k 给 第i条路氮气的时候 对 j的影响 1.我们可以发现 当 到达 i的时候 如果人还没到齐 就是 车等人 那么 给氮气 还是车等人 所以 只会对 这个景点到 下个景点有影响 而不会对下下个景点有影响 并且只会对要下车的人有影响 因为 加快到达就会加快下车 2.当到达 i 的时候 人已经到齐了 那么就是人等车 这个时候 给氮气 到的越快 那么到达下一个景点也会越快所以原创 2021-05-18 19:02:38 · 116 阅读 · 0 评论