![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
贪心
蓝鲸
这个作者很懒,什么都没留下…
展开
-
《算法竞赛进阶指南》荷马史诗
追逐影子的人,自己就是影子。 ——荷马达达最近迷上了文学。她喜欢在一个慵懒的午后,细细地品上一杯卡布奇诺,静静地阅读她爱不释手的《荷马史诗》。但是由《奥德赛》和《伊利亚特》组成的鸿篇巨制《荷马史诗》实在是太长了,达达想通过一种编码方式使得它变得短一些。一部《荷马史诗》中有 n 种不同的单词,从 1 到 n 进行编号。其中第 i 种单词出现的总次数为 wi。达达想要用 k 进制串 si 来替换第 i 种单词,使得其满足如下要求:对于任意的 1≤i,j≤n,i≠j,都有:si 不是 sj 的前缀。原创 2020-08-21 12:06:39 · 209 阅读 · 0 评论 -
《算法竞赛进阶指南》数据备份
数据备份你在一家IT公司为大型写字楼或办公楼的计算机数据做备份。然而数据备份的工作是枯燥乏味的,因此你想设计一个系统让不同的办公楼彼此之间互相备份,而你则坐在家中尽享计算机游戏的乐趣。已知办公楼都位于同一条街上,你决定给这些办公楼配对(两个一组)。每一对办公楼可以通过在这两个建筑物之间铺设网络电缆使得它们可以互相备份。然而,网络电缆的费用很高。当地电信公司仅能为你提供 K 条网络电缆,这意味着你仅能为 K 对办公楼(总计2K个办公楼)安排备份。任意一个办公楼都属于唯一的配对组(换句话说,这 2原创 2020-08-15 00:46:29 · 181 阅读 · 0 评论 -
《算法竞赛进阶指南》 双端队列
双端队列达达现在碰到了一个棘手的问题,有N个整数需要排序。达达手头能用的工具就是若干个双端队列。她从1到N需要依次处理这N个数,对于每个数,达达能做以下两件事:1.新建一个双端队列,并将当前数作为这个队列中的唯一的数;2.将当前数放入已有的队列的头之前或者尾之后。对所有的数处理完成之后,达达将这些队列按一定的顺序连接起来后就可以得到一个非降的序列。请你求出最少需要多少个双端序列。输入格式第一行输入整数N,代表整数的个数。接下来N行,每行包括一个整数Di,代表所需处理的整数。输出格式输原创 2020-07-06 14:33:56 · 397 阅读 · 0 评论 -
《算法竞赛进阶指南》畜栏预定
畜栏预定有N头牛在畜栏中吃草。每个畜栏在同一时间段只能提供给一头牛吃草,所以可能会需要多个畜栏。给定N头牛和每头牛开始吃草的时间A以及结束吃草的时间B,每头牛在[A,B]这一时间段内都会一直吃草。当两头牛的吃草区间存在交集时(包括端点),这两头牛不能被安排在同一个畜栏吃草。求需要的最小畜栏数目和每头牛对应的畜栏方案。输入格式第1行:输入一个整数N。第2…N+1行:第i+1行输入第i...原创 2019-09-01 15:35:19 · 308 阅读 · 0 评论 -
《算法竞赛进阶指南》 防晒
防晒有C头奶牛进行日光浴,第i头奶牛需要minSPF[i]到maxSPF[i]单位强度之间的阳光。每头奶牛在日光浴前必须涂防晒霜,防晒霜有L种,涂上第i种之后,身体接收到的阳光强度就会稳定为SPF[i],第i种防晒霜有cover[i]瓶。求最多可以满足多少头奶牛进行日光浴。输入格式第一行输入整数C和L。接下来的C行,按次序每行输入一头牛的minSPF和maxSPF值,即第i行输入min...原创 2019-08-31 17:14:32 · 190 阅读 · 0 评论 -
《算法竞赛进阶指南》雷达设备
雷达设备假设海岸是一条无限长的直线,陆地位于海岸的一侧,海洋位于另外一侧。每个小岛都位于海洋一侧的某个点上。雷达装置均位于海岸线上,且雷达的监测范围为d,当小岛与某雷达的距离不超过d时,该小岛可以被雷达覆盖。我们使用笛卡尔坐标系,定义海岸线为x轴,海的一侧在x轴上方,陆地一侧在x轴下方。现在给出每个小岛的具体坐标以及雷达的检测范围,请你求出能够使所有小岛都被雷达覆盖所需的最小雷达数目。...原创 2019-09-03 17:24:49 · 126 阅读 · 0 评论 -
《算法竞赛进阶指南》国王游戏
国王游戏恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。然后,让这 n 位大臣排成一排,国王站在队伍的最前面。排好队后,所有的大臣都会获得国王奖赏的若干金币,每位大臣获得的金币数分别是:排在该大臣前面的所有人的左手上的数的乘积除以他自己右手上的数,然后向下取整得到的结果。国王不希望某一个大臣获...原创 2019-09-03 17:30:06 · 391 阅读 · 1 评论