
贪心
Dilly__dally
这个作者很懒,什么都没留下…
展开
-
HDU 1052
注释的地方有点不太懂为啥不注释的话就TLE。。贪心的策略:一、当田忌最快的马比国王最快的马快时,用田忌最快的马赢国王最快的马。 二、当田忌最快的马比国王最快的马慢时,用田忌最慢的马输给国王最快的马。三、当田忌最快的马跟国王最快的马一样快时,分情况。1、当田忌最慢的马比国王最慢的马快,那么用田忌最慢的马赢国王最慢的马2、当田忌最慢的马比国王最慢的马慢,那么用田忌最慢的马输给国王最快的马3、当田忌最慢...原创 2018-05-13 11:58:59 · 305 阅读 · 0 评论 -
POJ 1456 (贪心+并查集)
题意:买卖N件东西,每件东西都有个截止时间,在截止时间之前买都可以,而每个单位时间只能买一件。问最大获利。思路:一开始我想错了,以为每个东西只能在特定的时间买,结果是截止时间前买都可以,所以先对所有数据按利润由大到小排序,然后用并查集来找截止时间的更新,也就是如果某个点的截止时间大于0,那么截止时间减一(其他相同的截止时间要提前一天进行),如果截止时间小于0,也就代表这个东西买不了了(之前相同...原创 2018-11-27 21:16:15 · 286 阅读 · 0 评论 -
Codeforces Round #514 (Div. 2) E. Split the Tree(贪心+倍增)
题意:给你一棵树,问你最多能把这棵树分成多少条链,使得每条链的长度不超过L,每条链上的点的权值和不超过S。思路:这题是参考别人的思路,等有实力了自己再试试。。。从叶子往上贪心,每一次取能达到的最长链,也就是尽可能走到最远的父亲那里,这里采用树上倍增处理,用top记录每个节点最远能去哪,然后从下到上遍历,贪心的取最远的节点。具体看代码:#include <bits/stdc++....原创 2018-10-13 15:21:09 · 228 阅读 · 0 评论 -
GCPC 2013 B(模拟+贪心+时间转换)
题意:给出宾馆房间的入住时间离开时间,和打扫时间,在一间房间入住之前应该打扫一次。求最少需要多少个房间。思路:首先数据量是2013年到2016年,把时间转换成分钟(以2013年1月1日为起点),结束时间加上打扫时间,在一个数组中对入住对应的时间++表示这个点住了,对离开时间--表示这个点离开了,可以看出答案就是时间从0到maxn的入住和离开的人数的代数和的最大值。#include<...原创 2018-09-05 21:30:35 · 168 阅读 · 0 评论 -
CF 867E buy Low Sell High(贪心+优先队列)
题意:给定n天,每天有个价格,可以买一个物品,可以把手中的物品卖掉思路:首先假设每一天都买了东西,即把它push进优先队列,如果当天价格大于对头(最小的),ans就加上他们的差价,再把当天的价格push进去(这一步非常重要,以免后面有更高的价格可以买当天的东西,这一步也就等价于一个中间物体)#include<bits/stdc++.h>using namespace...原创 2018-08-25 22:05:45 · 361 阅读 · 0 评论 -
HDU 5938(字符串+贪心)
题意:给你一个字符串,把它分成四块,按顺序把符号+ - * /放上去,问能得到的最大数是多少。思路:因为有-,所以*和/后的结果要尽可能小,一位数*一位数最大只能是两位数,所以除数就可能为一位数或两位数,如果是三位数,那么会产生小数,从而浪费了前面的加和。还有就是前面相加的两个数可能是所有数+最后一位(相对而言)或第一位+后面的全部。四种情况比较一下大小即可。#include<bi...原创 2018-08-25 01:17:48 · 671 阅读 · 1 评论 -
HDU 5935(贪心+卡精度)
题意:一辆车在路上直线走,它的速度是不减的,现在有一些该车路过的坐标,测的时刻是整数时刻,最后一个测值位置点是终点。问车开到终点的最少用时? 思路:因为速度是匀速或递增的,所以要想用时最少,最后一段路程用时就为1,速度就是这段路程,然后往前递推求速度。有两种情况:(1)如果后一段速度>=前一段路程,说明前一段路程可以用时1完成;(2)如果后一段速度<前一段路程,说明前一段的速度不可...原创 2018-08-25 00:23:30 · 196 阅读 · 0 评论 -
HDU 6438 Buy and Resell (贪心+优先队列)
题意:给定n天,每天有个价格,可以买一个物品,可以把手中的物品卖掉,求最大利润和最少买卖次数。思路:最大利润按这个https://blog.youkuaiyun.com/Dilly__dally/article/details/82055866思路求,先看第二个样例9 5 9 10 5 ,按队列模拟利润是 9-5 + 10-9 ,可以看出9是一个中间物,不用买9,所以只需在原来思路的基础上加上对入队和出队...原创 2018-08-26 12:06:38 · 179 阅读 · 0 评论 -
HDU 5881(贪心+找规律)
题意:有一壶水和两个杯子,每次只能从壶里往杯子里倒水 杯子中的水量是可见的,壶中的水量是不可见的 但是可以知道壶里的水倒完了没有 开始壶中的水量在 中,要求将水到入杯中 并且最后壶中的水量不超过 1,两个杯子的水量差不超过 1思路:首先明确,由于我不知道壶里到底有多少水,那么显然我第一次 分别向两个杯子分别到 L/2 +1 和 L/2 才是最优的.(这样既维护了两个人的差值不...原创 2018-08-14 23:50:59 · 251 阅读 · 0 评论 -
2018杭电多校第一场B(hdu6299)
题意给你n个包含’(‘与’)’的字符串,可以将这些字符串任意排序,求所有排序中,子序列是正规括号序列的最大长度。题解参考大佬https://blog.youkuaiyun.com/ACTerminate/article/details/81171799首先我们对所有的字符串找到通过stack找到所有的串内正规括号子序列,之后剩下的串只有三种可能: 1. 只包含’(’ 2. 先是一串’)’然...原创 2018-07-31 20:27:01 · 165 阅读 · 0 评论 -
POJ 3253
贪心思路:参考挑战书简单说就是最小的两个木板应该是同一个大木板切出来的,以此类推,我用的是优先队列,感觉比书上的简单好理解。#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<string>#include<vecto...原创 2018-05-16 20:25:13 · 151 阅读 · 0 评论 -
POJ 3069
贪心思路:先把点排序,在i小于n的条件下从第一个点开始扫到第一个点+R的点p,然后从p点扫到p+R 点,以此类推。#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<string>#include<vector>...原创 2018-05-16 18:55:37 · 230 阅读 · 0 评论 -
POJ 3617
贪心思路:每一次比较S和S的翻转S’的字典序大小,若S小,就从S的开头取出一个字符,若S'小,就从S的末尾取出一个字符。如果相同取哪个都可以。#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<string>#include...原创 2018-05-16 16:19:44 · 202 阅读 · 0 评论 -
HDU 1051
贪心算法,即每一次执行后的结果最大活着最小。题意分析:给出n根木棍包括长度和重量,然后求出制作这些木棍的最短时间,可在前一个木棍的基础上制作下一个木棍。建立一个木棍的时间是一分钟,如果接下来木棍的长度和重量都大于上一个木棍,可以不用建立,直接使用,即不花费的时间,如果不符合要求,则需要重新建立木棍,直到所有木棍建立完毕。输出建立木棍的最小时间。输入:多组数据T,每一组有N个木棍,接下来输入每根木棍...原创 2018-05-13 17:05:17 · 213 阅读 · 0 评论 -
HDU 1050
参考一位大神的代码,代码十分简洁好理解题意:在一个狭窄的走廊里将桌子从一个房间移动到另一个房间,走廊的宽度只能允许一个桌子通过。给出t, 表示有t组测试数据。再给出n,表示要移动n个桌子。n下面有n行,每行两个数字,表示将桌子从a房间 移到b房间。走廊的分布图如一图所示,每移动一个桌子到达目的地房间需要花10分钟,问移动n个桌子 所需要的时间。解题思路:若移动多个桌子时,所需要经过的走...转载 2018-05-13 15:11:29 · 150 阅读 · 0 评论 -
CodeForces - 1099D(树上贪心+DFS)
题意:给出一棵有根树,根节点编号为 1,每个节点存在一个权值 a[x],同时还有一个 s[x]为从根节点到节点 x 这条路径上的所有节点的 a[x]之和。此时,擦除了所有深度为偶数的节点的 s[x](根节点深度为 1)。然后要求反推出所有节点的 a[x],使得所有节点的 a[x]之和最小。思路:对于叶子结点来说,权值为0就行。对于s为-1的结点来说,a[x]=s[fa]-s[x],要使...原创 2019-01-22 13:35:04 · 450 阅读 · 0 评论