首页 > TAG信息列表 > 贪心

9.8 模拟赛总结

概括:挂大分。 用cyk的话讲:惨(chan)烈了啊(hang) 讲个笑话,T1 上去就写挂了,哈哈。调了好久才发现变量重名的 sb 错误,过了样例就没再检查。 此时已开考 25min,感觉 T1 浪费的时间太多,心态开始不稳,为后面的继续失败埋下伏笔。 T2 贪心。误以为只要顺着往下选就可以,没有考虑到后面选边对

CF1718D 题解

设 \(k\) 为 \(a\) 中的空位数量。 首先咱们转化这个“相似”的条件,发现它其实是说,笛卡尔树的结构相同。 那么我们把p建笛卡尔树然后把a的数往上填。如果此时有上面小于下面就挂了(挂了:即每个询问答案都是NO) 然后对于中间的空,它需要 \(>\) 下面的最大值,并且 \(<\) 上面的最小值。

[LC646]最长数对链

题目概述 给出 n 个数对。 在每一个数对中,第一个数字总是比第二个数字小。 现在,我们定义一种跟随关系,当且仅当 b < c 时,数对(c, d) 才可以跟在 (a, b) 后面。我们用这种形式来构造一个数对链。 给定一个数对集合,找出能够形成的最长数对链的长度。你不需要用到所有的数对,你

贪心算法(集合覆盖)

1.应用场景-集合覆盖问题 假设存在下面需要付费的广播台,以及广播台信号可以覆盖的地区。 如何选择最少的广播台,让所有的地区都可以接收到信号 2.贪心算法介绍 1)贪婪算法(贪心算法)是指在对问题进行求解时,在每一步选择中都采取最好或者最优(即最有利)的选择,从而希望能够导致结果

CSP2022初赛笔寄

下面的全都不会 图论 存储图 邻接矩阵(权矩阵) 边集数组 邻接表 最小生成树MST Prim(贪心) Kruskal(贪心) 最短路 Floyd(₯)(多源最短路APSP) Dijkstra(贪心)(单源最短路SSSP)(不可负权) Bellman-Ford(SSSP)(可负权) SPFA(SSSP)(队列优化Bellman-Ford)

刷题记录

2022.8.28 百度之星初赛二(link) 1 2 3 4 5 7 1:双指针(我写了线段树。。。) 2:数学题,发现一些性质 3:easy 的树形 dp 4:最短路+离线+bitset 5:最小生成树 7:组合计数 CF1715(link) ABCD A:直接观察 B:贪心构造 C:计数,考虑相邻两个数相同会产生什么贡献(算贡献大法) D:贪心,图论建模,按位考虑 CF15

10. 汽车加油问题(贪心)

题目描述: 一辆汽车加满油后可行驶n公里。旅途中有若干个加油站。设计一个有效算法,指出应在哪些加油站停靠加油,使沿途加油次数最少。并证明算法能产生一个最优解。 对于给定的n和k个加油站位置,计算最少加油次数。 输入格式: 输入数据的第一行有2 个正整数n和k(n≤5000,k≤1000),表示汽

11.多元Huffman编码问题(贪心)

题目描述: 在一个操场的四周摆放着n堆石子。现要将石子有次序地合并成一堆。规定每次至少选2 堆最多选k堆石子合并成新的一堆,合并的费用为新的一堆的石子数。试设计一个算法,计算出将n堆石子合并成一堆的最大总费用和最小总费用。 对于给定n堆石子,计算合并成一堆的最大总费用和最小

12.装船问题(贪心)

题目描述: 王小二毕业后从事船运规划工作,吉祥号货轮的最大载重量为M吨,有10种货物可以装船。第i种货物有wi吨,总价值是pi。王小二的任务是从10种货物中挑选若干吨上船,在满足货物总重量小于等于M的前提下,运走的货物的价重比最大。 输入: 输入数据的第一行有一个正整数M(0 < M < 10000),

13.活动选择(贪心)

题目描述: 学校的大学生艺术中心周日将面向全校各个学院的学生社团开放,但活动中心同时只能供一个社团活动使用,并且每一个社团活动开始后都不能中断。现在各个社团都提交了他们使用该中心的活动计划(即活动的开始时刻和截止时刻)。请设计一个算法来找到一个最佳的分配序列,以能够在大学

14.最优合并问题(贪心)

题目描述: 给定k 个排好序的序列s1 , s2,……, sk , 用2 路合并算法将这k 个序列合并成一个序列。假设所采用的2 路合并算法合并2 个长度分别为m和n的序列需要m + n -1次比较。试设计一个算法确定合并这个序列的最优合并顺序,使所需的总比较次数最少。 为了进行比较,还需要确定合并这

2022 牛客多校 Extra & 第九场部分题解

2022 牛客多校第九场 & Extra 部分题解 前段时间沉迷生活大爆炸 & 原神 & vtb & galgame & 番无法自拔,因此咕到现在。。。 Cmostp 挺妙的题。本以为有一只 log 的做法。 覆盖后的颜色变换不多,可以用 set+树剖或者阉割版的lct+树状数组,我写了后者,把答案算在重链头上,维护路径覆盖。

正则表达式入门(七)量词

1 22 333 4444 55555 666666 7777777 88888888 999999999 0000000000 将排列成直角三角形的数字粘贴到程序中。贪心,懒惰和占有量词本身是贪心的,贪心的量词会首先匹配整个字符串。尝试匹配时,它会选定尽可能多的内容,也就是整个输入。量词首次尝试匹配整个字符串,如果失败则回退一

【DP 记录】AcWing 734. 能量石

传送门 给你几个物品,每种选一次,求最大价值,首先想到 01 背包,但是我们遇到了一个问题: 普通的 01 背包在选择物品时是不讲求顺序的,但在这道题中,物品的选择是有顺序的(即对最优解贡献有顺序),显然 \(O(n!)\) 枚举排列不可取,那我们能否提前确定好顺序,再来做背包呢? $\bullet\ $ 考虑从贪心

acwing 273. 分级 优先队列 贪心 构造

  给定长度为 NN 的序列 AA,构造一个长度为 NN 的序列 BB,满足: BB 非严格单调,即 B1≤B2≤…≤BNB1≤B2≤…≤BN 或 B1≥B2≥…≥BNB1≥B2≥…≥BN。 最小化 S=∑Ni=1|Ai−Bi|S=∑i=1N|Ai−Bi|。 只需要求出这个最小值 SS。 输入格式 第一行包含一个整数 NN。 接下来

UOJ NOI Round 6

再次体验到了挂分的乐趣。。。 Day 0 按理来说应该是要参加 笔试 的,结果和同学踢球错过了报名。。。于是咕了。。。 队友极假,三颗单刀一颗没进,无脑致敬斯特林,体验极差。。 Day 1 T1 面基之路 首先注意到 hehe 是肯定不会走回头路的,因为所有人速度都相同,走回头路不如站在一个地方等

P4995 跳跳!

https://www.luogu.com.cn/problem/P4995贪心,排序黄色题 思路:贪心策略:就是在剩余的石头中最大和最小来回跳。代码: #include<bits/stdc++.h> using namespace std; long long n,A[301],ans; int main(){ cin>>n; for(int i=1;i<=n;i++) cin>>A[i]; sort(A+1,A

leetcode-贪心-134

/** * <p>在一条环路上有 <code>n</code>&nbsp;个加油站,其中第 <code>i</code>&nbsp;个加油站有汽油&nbsp;<code>gas[i]</code><em>&nbsp;</em>升。</p> * * <p>你有一辆油箱容量无限的的汽车,从第<em> </em><

用贪心解决的区间问题

《区间选点》    即一个点尽量在更多的区间上,但我们不妨从另一个方面想:在一个区间上的点,始终不能够与另一个区间有关系的情况是什么? 1 #include <iostream> 2 #include <cstring> 3 #include <algorithm> 4 using namespace std; 5 const int N = 1e5 + 10; 6 struct S

思维回想集 - 贪心

注:未进行二次整理,仅为做题后的直接总结.   本文档旨在对思考方向的总结与例证收集. @ 贪心1* 单位最优. 将需求拆成许多'单位需求',再对于每个'单位需求'寻找'单位货物'. 适用范围: 静态 ; 没有组合优惠 ; 例子: (P1208.要采购a份牛奶,每个农民有bi份且单价为ci.最小化花

有关拓扑序

written on 2022-06-20 昨天月赛的一道题目,写点感触。 题意:对于一棵给定的有根树,每一个点只有其父亲被选取后它才可以被选取,其 被选取权值 为当前值与其权值的较小值,求最大的总权值。 直观的思路是每选取一个点,就将它的所有儿子的权值塞入堆,这样的时间复杂度为 \(O(n\log n)\)。考

贪心-2350. 不可能得到的最短骰子序列

问题描述 给你一个长度为 n 的整数数组 rolls 和一个整数 k 。你扔一个 k 面的骰子 n 次,骰子的每个面分别是 1 到 k ,其中第 i 次扔得到的数字是 rolls[i] 。 请你返回 无法 从 rolls 中得到的 最短 骰子子序列的长度。 扔一个 k 面的骰子 len 次得到的是一个

2022.7.31 多校周报

总结 牛客第三场 C 开局的一道签到题,其实在差不多10分钟的时候已经写好代码准备交了。但队友注意到了题目底下的提示,“如果复杂度是 \(O(|S|\log |S|)\) 最好不要交,复杂度最好不要超过线性复杂度” ,就不敢继续交。实际上我们代码是 \(O(|S|\log n)\) ,注意一下常数是完全能过的,在后

刷题Day17-贪心

因为最近刚刚入职,所以要学习很多的东西,没有多少时间来刷题和学习。最近刚刚忙完一阵,回归刷题。因为转了GO,所以以后刷题用go和java各刷一遍 452. 用最少数量的箭引爆气球 思路:首先按照气球的起始位置排序。i和j,遍历气球。从i到j个气球的尾部如果都包括第j个气球的尾部,那么j++,否则i=

【2022杭电多校】第三场 1009 贪心

链接 http://acm.hdu.edu.cn/showproblem.php?pid=7170 简化题意 给你n个区间,你需要往区间中填入一些点,(注意每个点最多覆盖在相同位置有交集的k个区间),使得这些点可以覆盖全部的n个区间,且点的总数最少 求点的数量的最小值 思路 贪心。 很容易想到把点填在 右端点最靠前的区间 的右