贪心
明日可7
SDUST_SE_17_QiuPeng
Coding my youth
展开
-
UVA 11054 Wine trading in Gergovia (贪心+思路)
题目大意:正数代表的是需要的酒的数量,负数代表的是要卖出的酒的数量,酒店之间都是线性排列的,相邻两个酒店之间的距离都是1。求花最少的费用去交易买卖来满足所有酒店的需求。思路:要使得路费最少的话,利用贪心的思想,就让相邻的两个酒店之间进行交易,不管他们是否可以满足各自的要求,只需要先让前一个满足就可以了。这样路费就只是酒*1.代码:#include <map>#include <...原创 2018-04-30 20:18:22 · 180 阅读 · 0 评论 -
UVA 11925 Generating Permutations (贪心)
题意:给出一个排列,有两种操作1.交换前两个 2.将第一个数移动到最后,通过不超过2*n^2次操作使得一个升序的排列变成所给排列(紫书题意有误)分析:逆向来做,通过操作使得所给序列变为生序,对于操作1不用改变,对于操作2可以将后面的数拿到前面来,最后逆向输出操作序列。代码:#include <iostream>#include <cstdio>#inclu...原创 2019-01-27 22:32:52 · 213 阅读 · 0 评论 -
UVA 1610 Party Games(构造)
分析:分情况讨论太复杂。可以从每个字母下手,从‘A’开始构造,讨论下特殊情况即可#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <map>#include &l...原创 2019-01-16 17:46:29 · 252 阅读 · 0 评论 -
UVA 1608 Non-boring sequences(瞎搞)
用map和两个数组保存和一个数左右距离最近相同的数的位置#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <map>#define FRER() freopen(...原创 2019-01-16 16:41:46 · 158 阅读 · 0 评论 -
UVA 12545 Bits Equalizer (贪心)
题意:给出串s1 ,包括0、1、?,给出串s2,仅包括0,1。 现在有三种操作 1.串s1的0变成1 2.串s1的任意两个字母交换 3.串s1的?变为0或者1 求最少多少次操作可以使得s1转化为s2,如果不能转化则输出-1分析:贪心,...原创 2018-11-29 00:29:09 · 190 阅读 · 0 评论 -
HDU 5884 Sort (二分 + K叉huffman树)
题意:给一个序列,问每次最多合并多少数,使得最后只剩一个数时,花费的总和小于题目要求,求这个最多次数的最小值分析:遇到最大值最小问题,第一个想的的策略是二分,二分枚举这个数。先对序列进行排序。在判断的时候,由于huffman的结构,应每次合并的数最小,假设现在这个最多的合并数是k,我们判断n%(k-1)是否为0,如果不为零,就把余出来的数先合并,放入优先队列,%(k-1)不%k的原因是,每次选...原创 2018-08-24 13:29:27 · 513 阅读 · 0 评论 -
UVA 11134 Fabled Rooks (贪心)
题意:给n个矩形,要求在每个矩形里放一个战车,使得每个战车不在同一行也不再同一列分析:在本题中行、列是无关的,可以将行、列分开来求,因此可以分成两个一维的问题,在区间[1~n]内选择n个不同的整数,使得第i个整数在闭区间[n1i,n2i]内,这是一个区间的贪心题贪心策略:对于每一个子区间(矩形),我们先给他排序,排序的规则是按照区间长度从小到大排序,然后依次选择贪心的正确性:因为矩形可能会出现重叠...原创 2018-07-07 15:49:46 · 334 阅读 · 0 评论 -
UVA 1149 Bin Packing (贪心+二分)
题意: 给定N(N<1e5)个物品的重量Li,背包的容量M,同时要求每个背包最多装两个物品,求至少需要多少个背包才能装下所有的物品。思路: 首先将所有的物品排序,然后从头往后取,每次取第一个,然后找出放了第一个之后背包还能放多少,这里用的是二分 upper_bound(返回一个序列中第一个大于要查找值的位置)代码:#include <map>...原创 2018-05-21 20:54:06 · 187 阅读 · 0 评论 -
HDU 5360 Hiking (贪心+优先队列)
题目:HikingTime Limit: 6000/3000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 1681 Accepted Submission(s): 863Special JudgeProblem DescriptionThere are n soda c...原创 2018-05-02 23:07:52 · 151 阅读 · 0 评论 -
UVA 10570 Meeting with Aliens (枚举)
分析:枚举序列起点和升降顺序,我写的很暴力,没有什么优化的地方。。。#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <map>#include <vect...原创 2019-02-09 23:37:50 · 181 阅读 · 0 评论