贪心
Apollo-yyy
考研失败的华子5G工程师一枚
展开
-
PAT月饼
1020. 月饼 (25)时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是...原创 2018-03-26 16:07:16 · 632 阅读 · 0 评论 -
1070 Mooncake
题目大意:有n种月饼,给出每种月饼的总数和总售价并给出市场需求数量,计算最高售价。解题思路:贪心,根据月饼单价从大到小排序,然后依次计算即可。代码如下:#include<iostream>#include<cstdio>#include<fstream>#include<set>#include原创 2018-11-27 17:53:11 · 212 阅读 · 0 评论 -
1067 Sort with Swap(0, i)
题目大意:只能用0和别的数字交换位置这样的方式进行排序,输出交换次数。解题思路:思路很简单,就是每次对0和0所在位置的下标元素进行交换,比如0在5号位,那么就交换0和5,这时候5已经归位,0在5原来的位置上。如果0就在0位置上,那么让0随便交换一个没有归位的元素即可。想不出数组怎么写。。。于是偷懒用了STL中的SET,用于保存没有归位的元素,方便进行添加和删除的操作。代码如下:#inc...原创 2018-11-29 21:10:48 · 238 阅读 · 0 评论 -
1038 Recover the Smallest Number
题目大意:n个数,输出它们组成的最小数。有前导零的不输出零。解题思路:贪心,主体思想是根据字典序进行字符串排序,对于例如“321”,“32”的谁前谁后的问题,可以处理为“321+32”与“32+321”谁大谁小的问题。需要注意字符串全是0和连续前导0的处理。代码如下:#include<iostream>#include<cstdio>#include<...原创 2018-11-29 20:57:51 · 167 阅读 · 0 评论 -
1037 Magic Coupon
题目大意:给定两个集合,分别从这两个集合中取出相同数量的元素进行一对一相乘并求和,输出最大值。解题思路:贪心,思想很简单。两个集合大正数和大的正数对应相乘,小负数和小负数对应相乘。代码如下:#include<iostream>#include<cstdio>#include<fstream>#include<set&am原创 2018-11-29 20:50:49 · 175 阅读 · 0 评论 -
codeforces round499 div2 A. Stages
题目大意:给你n个小写字母表示的阶段,然后火箭需要其中的k个,这k个必须不相邻并且递增。每一个字母有一个重量,a是1吨,b是2吨。。。问最少多少吨。解题思路:贪心思想,既然求最小,那首先排序,然后“相邻”位置进行比较,注意这里的相邻是指可以满足条件的“相邻”字母,不是数组中的相邻,我们可以先把满足条件的字母保存下来,然后从它的位置以后继续比较。 代码如下:#include...原创 2018-08-20 20:32:55 · 152 阅读 · 0 评论 -
codeforces div3 494 D. Coins and Queries
题目大意:n枚硬币q个问题,每个问题下有一个价值b,问最少需要多少枚硬币得到b?可以理解为一个找零的问题。解题思路:明显一个贪心的思想,但是朴素的贪心法即使用数组然后排序逆序遍历超时了,桶标记只能采用map标记(数组标记爆内存),记录一下最大的硬币然后遍历一下小于等于最大硬币的所有2的次幂即可。 代码如下:#include<iostream>#include&l...原创 2018-08-13 16:46:51 · 173 阅读 · 0 评论 -
codeforces 490 div3 D. Equalize the Remainders
题目大意:给你n个数和一个m,要求余数为0-m-1的数的数量正好是n/m,m保证是n的因子,每个数只能执行加的操作,最后输出操作的次数以及修改后的数组结果。解题思路:主题思想是贪心,就是让那些余数值超过n/m的数向离他最近且余数值没有满足条件的数“移动”。这里的“移动”有个巧妙的处理,就是利用STL集合中的set.lower_bound()函数,集合中保存那些未满足条件的余数值,l...原创 2018-08-15 16:57:17 · 207 阅读 · 0 评论 -
codeforces-round501-div3
A.Points in Segments 题目大意:给你n个小区间和最大边界m,这n个区间分布在1-m的大数轴区间上,请你输出这个数轴上不属于任何小区间的数的数目和本身。解题思路:将输入的区间遍历对区间内的数字进行唯一标记并统计数量sum,则未在任何小区间的数字数目就是m-sum,最后遍历大区间,未被标记的就是不在任何小区间的数了。 代码如下:#include<...原创 2018-08-06 00:04:28 · 231 阅读 · 0 评论 -
Money Transfers
There are n banks in the city where Vasya lives, they are located in a circle, such that any two banks are neighbouring if their indices differ by no more than 1. Also, bank 1 and bank n are neighbour...原创 2018-07-22 23:15:06 · 390 阅读 · 0 评论 -
1125 Chain the Ropes
题目大意:两个绳子结合成一个绳子总长度会减半,现在给你n条绳子把他们连接成一条,输出最长的方案的长度。解题思路:排序,从小到大一个一个连就好了,因为从小到大连损失的长度最少。、代码如下:#include&lt;iostream&gt;#include&lt;cstdio&gt;#include&lt;algorithm&gt;using namespace std;int原创 2019-02-24 10:58:13 · 204 阅读 · 0 评论