贪心
小王子y
互关啊!!
展开
-
NOIP2002提高组 均分纸牌(贪心)
有N堆纸牌,编号分别为 1,2,…,N。每堆上有若干张,但纸牌总数必为 N 的倍数。可以在任一堆上取若干张纸牌,然后移动。移牌规则为:在编号为 1 的堆上取的纸牌,只能移到编号为 2 的堆上;在编号为 N 的堆上取的纸牌,只能移到编号为 N−1 的堆上;其他堆上取的纸牌,可以移到相邻左边或右边的堆上。现在要求找出一种移动方法,用最少的移动次数使每堆上纸牌数都一样多。例如 N=4,4 堆纸牌数分别为:(9,8,17,6)。移动 33 次可达到目的:从第三堆取四张牌放入第四堆,各堆纸牌数量变为:(原创 2021-02-05 02:46:18 · 474 阅读 · 3 评论 -
糖果传递(贪心,绝对值不等式)
有n个小朋友坐成一圈,每人有a[i]个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为1。求使所有人获得均等糖果的最小代价。输入格式第一行输入一个正整数n,表示小朋友的个数。接下来n行,每行一个整数a[i],表示第i个小朋友初始得到的糖果的颗数。输出格式输出一个整数,表示最小代价。数据范围1≤n≤1000000数据保证一定有解。输入样例:41254输出样例:4取这些数的中位数#include<iostream>#include&l原创 2021-02-04 01:13:40 · 331 阅读 · 0 评论 -
NOIP2007普及组 纪念品分组(贪心)
元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作。为使得参加晚会的同学所获得的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品,并且每组纪念品的价格之和不能超过一个给定的整数。为了保证在尽量短的时间内发完所有纪念品,乐乐希望分组的数目最少。你的任务是写一个程序,找出所有分组方案中分组数最少的一种,输出最少的分组数目。输入格式输入文件包含n+2行:第1行包括一个整数w,为每组纪念品价格之和的上限。第2行为一个整数n,表示购来的纪念品的总件数。第3-n+原创 2021-01-28 23:15:14 · 285 阅读 · 0 评论 -
团体设计竞赛校内模拟赛 买矿石(贪心)
咸水河谷矿石公司的老板打算要处理一批矿石,这批矿石共有k车,每车矿石的价格是price[i],同时这车矿石还有一个折扣c[i],老板规定购买第i车矿石后,其余没有卖出的矿石的价格将乘以c[i]。请你算算如果按这个规则购买所有矿石,最少花费多少钱?输入格式:第一行输入一个整数k(k≤10的5次方 ),表示一共要处理k车矿石。随后的k行,每行有两个数字,第一个是整数price[i],第二个是浮点数c[i],分别表示第i车矿石的价格和折扣(1≤price[i]≤105 ,0≤c[i]≤1)。原创 2021-01-27 00:51:20 · 116 阅读 · 0 评论 -
第九届蓝桥杯省赛C++B组 乘积最大(贪心)
给定 N 个整数 A1,A2,…AN。请你从中选出 K 个数,使其乘积最大。请你求出最大的乘积,由于乘积可能超出整型范围,你只需输出乘积除以 1000000009 的余数。注意,如果 X<0, 我们定义 X 除以 1000000009 的余数是负(−X)除以 1000000009 的余数,即:0−((0−x)%1000000009)输入格式第一行包含两个整数 N 和 K。以下 N 行每行一个整数Ai。输出格式输出一个整数,表示答案。数据范围1≤K≤N≤105,−105≤Ai≤10原创 2021-01-21 21:24:30 · 292 阅读 · 0 评论 -
USACO修理牛棚(贪心)
在一个下着暴风雨的夜晚,大风掀翻了农夫约翰的牛棚的屋顶和大门。牛棚一个个的并排排成一排,奶牛就住在牛棚中过夜。由于一些奶牛正在外面度假,牛棚并没有住满,有的牛棚住着牛,有的牛棚空着。所有的棚子的宽度都相同。现在,约翰需要订购一批木板用来挡在牛棚的门口。木材供应商将为他提供任意长度的木板,但是能够提供的木板数量非常有限。约翰希望他购买的木板的总长度尽可能的小。现在,给定可以购买的最大木板数量 M,牛棚的总数 S,牛的总数 C,以及 C 个住着牛的牛棚编号。请你计算确保购买的木板的总长度尽可能小原创 2021-01-11 17:51:17 · 359 阅读 · 0 评论 -
第九届蓝桥杯省赛C++A组 付账问题(贪心)
几个人一起出去吃饭是常有的事。但在结帐的时候,常常会出现一些争执。现在有 n 个人出去吃饭,他们总共消费了 S 元。其中第 i 个人带了 ai 元。幸运的是,所有人带的钱的总数是足够付账的,但现在问题来了:每个人分别要出多少钱呢?为了公平起见,我们希望在总付钱量恰好为 S 的前提下,最后每个人付的钱的标准差最小。这里我们约定,每个人支付的钱数可以是任意非负实数,即可以不是 1 分钱的整数倍。你需要输出最小的标准差是多少。标准差的介绍:标准差是多个数与它们平均数差值的平方平均数,一般用于刻画这原创 2021-01-10 21:21:42 · 289 阅读 · 0 评论 -
货仓选址(贪心)
在一条数轴上有 N 家商店,它们的坐标分别为 A1~AN。现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。输入格式第一行输入整数N。第二行N个整数A1~AN。输出格式输出一个整数,表示距离之和的最小值。数据范围1≤N≤100000,0≤Ai≤40000输入样例:46 2 9 1输出样例:12//取中位数即可#include<bits/stdc++.h>using n原创 2021-01-10 01:19:30 · 116 阅读 · 0 评论 -
LeetCode 11. 盛最多水的容器(贪心)
题目描述给你 n 个非负整数 a1a1,a2a2,…,anan,每个数代表坐标中的一个点(ii, aiai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (ii, aiai) 和 (ii, 00)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。示例:输入:[1,8,6,2,5,4,8,3,7原创 2020-11-30 16:37:59 · 189 阅读 · 0 评论 -
排队打水
有 nn 个人排队到 1 个水龙头处打水,第 ii 个人装满水桶所需的时间是 titi,请问如何安排他们的打水顺序才能使所有人的等待时间之和最小?输入格式第一行包含整数 nn。第二行包含 nn 个整数,其中第 ii 个整数表示第 ii 个人装满水桶所花费的时间 titi。输出格式输出一个整数,表示最小的等待时间之和。数据范围1≤n≤1051≤n≤105,1≤ti≤1041≤ti≤104输入样例:73 6 1 4 2 5 7输出样例:56分析:从小到大排序,第一个人被等了n-1次,原创 2020-10-27 23:36:29 · 264 阅读 · 0 评论 -
洛谷 P1181 数列分段Section I
题目描述对于给定的一个长度为NN的正整数数列A_iAi ,现要将其分成连续的若干段,并且每段和不超过MM(可以等于MM),问最少能将其分成多少段使得满足要求。输入格式第1行包含两个正整数N,MN,M,表示了数列A_iAi 的长度与每段和的最大值,第22行包含NN个空格隔开的非负整数A_iAi ,如题目所述。输出格式一个正整数,输出最少划分的段数。输入5 64 2 4 5 1输出3#include <cstdio>#include <iostr原创 2020-10-27 23:20:44 · 181 阅读 · 0 评论