
贪心
文章平均质量分 76
葛济维的博客
总想日更博客的小白
展开
-
打乱字母(贪心、二分)————USACO 2012 December Contest Bronze
打乱字母农夫约翰将按字典序排列的 N 头奶牛的名字列表贴在了牛棚的门上。每个奶牛的名字都由一个长度介于 1 到 20 之间的由小写字母构成的唯一字符串表示。麻烦制造者贝茜将列表中的奶牛名字重新排序打乱了列表。此外,她还对每头奶牛的名字中的字母顺序进行了重新排列(也可能保持不变)。给定修改过后的列表,请帮助约翰确定列表中的每个名字可能出现在原始列表中的最低和最高位置。输入格式第一行包含整数 N。接下来 N 行,按照修改过后列表的顺序,给出了修改过后的奶牛的名字。输出格式共 N 行,第 i原创 2022-01-10 11:43:31 · 630 阅读 · 0 评论 -
后缀表达式(贪心)————第十届蓝桥杯省赛C++B组
后缀表达式给定 N 个加号、M 个减号以及 N+M+1 个整数 A1,A2,⋅⋅⋅,AN+M+1,小明想知道在所有由这 N 个加号、M 个减号以及 N+M+1 个整数凑出的合法的后缀表达式中,结果最大的是哪一个?请你输出这个最大的结果。例如使用 123+−,则 “23+1−” 这个后缀表达式结果是 4,是最大的。输入格式第一行包含两个整数 N 和 M。第二行包含 N+M+1 个整数 A1,A2,⋅⋅⋅,AN+M+1。输出格式输出一个整数,代表答案。数据范围0≤N,M≤105,−109≤原创 2021-11-24 17:13:43 · 312 阅读 · 1 评论 -
乘积最大(贪心)————第九届蓝桥杯省赛C++B组
1239. 乘积最大给定 N 个整数 A1,A2,…AN。请你从中选出 K 个数,使其乘积最大。请你求出最大的乘积,由于乘积可能超出整型范围,你只需输出乘积除以 1000000009 的余数。注意,如果 X<0, 我们定义 X 除以 1000000009 的余数是负(−X)除以 1000000009 的余数,即:0−((0−x)%1000000009)输入格式第一行包含两个整数 N 和 K。以下 N 行每行一个整数 Ai。输出格式输出一个整数,表示答案。数据范围1≤K≤N≤105原创 2021-11-24 10:59:28 · 714 阅读 · 1 评论 -
付账问题(贪心问题、均值不等式)————第九届蓝桥杯省赛C++A组
付账问题几个人一起出去吃饭是常有的事。但在结帐的时候,常常会出现一些争执。现在有 n 个人出去吃饭,他们总共消费了 S 元。其中第 i 个人带了 ai 元。幸运的是,所有人带的钱的总数是足够付账的,但现在问题来了:每个人分别要出多少钱呢?为了公平起见,我们希望在总付钱量恰好为 S 的前提下,最后每个人付的钱的标准差最小。这里我们约定,每个人支付的钱数可以是任意非负实数,即可以不是 1 分钱的整数倍。你需要输出最小的标准差是多少。标准差的介绍:标准差是多个数与它们平均数差值的平方平均数,一般原创 2021-11-23 21:42:06 · 439 阅读 · 1 评论 -
糖果传递(贪心)——《算法竞赛进阶指南》,微软面试题 , HAOI2008
糖果传递有 n 个小朋友坐成一圈,每人有 a[i] 个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为 1。求使所有人获得均等糖果的最小代价。输入格式第一行输入一个正整数 n,表示小朋友的个数。接下来 n 行,每行一个整数 a[i],表示第 i 个小朋友初始得到的糖果的颗数。输出格式输出一个整数,表示最小代价。数据范围1≤n≤1000000,0≤a[i]≤2×109,数据保证一定有解。输入样例:41254输出样例:4题解首先,最终每个小朋友的糖果数量原创 2021-11-22 15:07:24 · 1377 阅读 · 1 评论 -
雷达设备(贪心)————《算法竞赛进阶指南》
(贪心) O(nlogn)O(nlogn)如下图所示,对于任意一个小岛 (x,y)(x,y),我们都可以在海岸线上求出能覆盖该小岛的建造雷达的区间 [a,b]。由勾股定理可知:a=x−sqrt(d2−y2)b=x+sqrt(d2−y2);将所有小岛转化成区间后,问题转化为:给定 n 个区间,在 x 轴上选择尽量少的点,使得所有区间至少包含一个点。把每个区间按右端点排序则可以求解#include <iostream>#include <cstring>#includ原创 2021-11-22 15:00:58 · 587 阅读 · 0 评论