贪心
文章平均质量分 52
Clove_unique
All that you have lost can be won back bit by bit as long as you wish for it.
展开
-
[BZOJ1572][Usaco2009 Open]工作安排Job(贪心+堆)
题目描述传送门题目大意:每一个工作在di之前完成会有pi的收益,每一个时间只能完成一项工作,给出n个工作问最大收益。题解将di排序,然后维护一个pi的堆,每一次贪心地选择最大的代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>#include<queue>using原创 2017-04-26 18:59:07 · 1006 阅读 · 0 评论 -
CF#401(Div.2) 解题报告
近期最水的一场cf,跪成狗了!!。,。状态好烂 b两个手残 e有一种情况没考虑到 c没有想到非常简单的正解 以后还是要要求自己把能拿到的分都拿到啊。。要不然跪得太惨了A题意简述0,1,2三个杯子,放入一个小球,然后先将前两个交换,再将后两个交换,不停进行,交换n次之后小球在杯子x里,问刚开始小球在哪里数据范围1≤n≤2∗1091\le n\le 2*10^9题解交换的规则使杯子6次一循环原创 2017-02-24 21:40:47 · 623 阅读 · 0 评论 -
[BZOJ1555][HN集训2008]KD之死(贪心+堆)
题目描述传送门题解首先考虑没有车、只有两个物品ab的情况 若a放在b上面,那么这个东西的承重量为bt-aw 反之承重量为at-bw 显然若bt-aw>at-bw,即at+aw<<bt-bw的话,a放在b上是更优的我们把车当做一个必选的物品,并且从上到下选,这样每次只需要考虑新放入的物品的承重量和之前放入的所有物品的重量和 那么应该先按照w+t排序 如果当前的物品为必选的,那么一定要选,如果原创 2017-03-17 18:41:52 · 745 阅读 · 0 评论 -
[BZOJ4004][JLOI2015]装备购买(贪心+高斯消元求线性基)
题目描述传送门题解求极大线性无关向量组,使权值和最小 按权值从小到大排序,高斯消元求解线性基即可代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;#define LL long long#define Mod 100000原创 2017-01-13 11:30:21 · 709 阅读 · 0 评论 -
[BZOJ2460][BeiJing2011]元素(贪心+高斯消元求线性基)
题目描述传送门题解求极大线性无关向量组,并且权值尽量大 按照权值从大到小排序,贪心用高斯消元求解线性基代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;#define LL long long#define N 1005i原创 2017-01-13 11:27:33 · 650 阅读 · 0 评论 -
[BZOJ4278][ONTAK2015]Tasowanie(后缀数组+贪心)
题目描述传送门题解和队列变换那道题差不多 就是将两个串连起来求一个sa,然后归并的时候如果两个数相等的话就拿后缀字典序比较小的那一个 中间要加一个比较大的字符,因为如果两个串比较代码总结后缀数组一定要写p>=n,不要写p>n 从10s+蹦到2s+原创 2017-03-03 07:17:56 · 605 阅读 · 0 评论 -
[BZOJ1828][Usaco2010 Mar]balloc 农场分配(贪心+线段树)
题目描述传送门题解按照右端点第一关键字(从小到大)左端点第二关键字(从大到小)排序 贪心选即可 如何保证正确性? 其实就是保证选了当前的以后的不会再有更优的方案代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;#defi原创 2017-01-29 18:51:37 · 688 阅读 · 0 评论 -
[BZOJ3668][Noi2014]起床困难综合症(贪心)
题目描述传送门题解我们需要还原初始的x,将x按二进制位分开来考虑 每一位不是0就是1,所以将0和1分别做一下下面那一坨操作(操作的数也是对应的这一位),最终得到两个数 如果0做了这一坨操作之后变成了1,那很显然这一位填0更优 否则,如果1做了这一坨操作之后还是1,那么先把这一位暂且记为1 再否则1和0都会变成0,那么毫无疑问填0 然后将每一位合起来得到了一个x 但是这个x是有可能大于m的原创 2017-02-07 19:01:08 · 586 阅读 · 0 评论 -
CF#398(Div.2) 解题报告
A题意简述有n个大小为1..n的物品,每一天会得到一个,物品必须由下而上按照从大到小的顺序摆放 每一天会将已有的物品尽量摆放,问这n天的摆放方案数据范围1≤n≤1000001\le n\le 100000题解只有一个物品只有当比它大的所有物品都得到时才能摆放 模拟即可代码#include<algorithm>#include<iostream>#include<cstring>#inclu原创 2017-02-18 23:29:41 · 596 阅读 · 0 评论 -
[BZOJ2563]阿狸和桃子的游戏(贪心)
题目描述传送门题解这题有一个非常巧妙的转化 就是把每一条边的权值分成两半给两个端点,这样的话如果两个端点被一个人选了它会获得这条边的代价,但是如果两个人一人选一个的话对答案是没有影响的代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace原创 2017-02-07 14:45:33 · 504 阅读 · 0 评论 -
CF#386(Div.2) 解题报告
A题意给出a,b,ca,b,c,取3个数满足0≤ca≤a,0≤cb≤b,0≤cc≤c,ca:cb:cc=1:2:40\le c_a\le a,0\le c_b\le b,0\le c_c\le c,c_a:c_b:c_c=1:2:4,并且使ca,cb,ccc_a,c_b,c_c的总和最大。如果无法满足,输出0.数据范围0≤a,b,c≤10000\le a,b,c\le 1000题解随便乱搞搞…原创 2016-12-20 10:26:16 · 544 阅读 · 0 评论 -
[BZOJ3624][Apio2008]免费道路(贪心+并查集)
题目描述传送门题解贪心的思想:首先这一定是一棵生成树,那么我们先做生成树,尽量加水泥路,那么做完之后已经加入的鹅卵石路一定是必须要加的。那么我们打破第一次的生成树,再做一次生成树,首先把必须加的鹅卵石路都加进去,如果鹅卵石路不够k条的话再加进一些凑够k条,之后加水泥路使之成为一颗生成树。 也可以值么理解:如果把所有的水泥路都加入到生成树中的话会形成很多连通块,如果想让它成为强连通图的原创 2017-01-06 09:24:27 · 821 阅读 · 0 评论 -
[Codeforces442B]Andrey and Problem(贪心+概率)
题目描述传送门 题意:有n个人,第n个人帮助A的概率为pi,问有且只有一个人帮助A的概率题解代码原创 2017-03-14 22:43:19 · 603 阅读 · 0 评论 -
[BZOJ3105][cqoi2013]新Nim游戏(贪心+高斯消元求线性基)
题目描述传送门题解第一次拿完了之后不能出现异或值为0的子集 也就是求一组线性无关向量,使权值和最大,把其他的拿走 按照权值从大到小排序,贪心地用高斯消元求解线性基代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;#defi原创 2017-01-13 11:22:48 · 513 阅读 · 0 评论 -
[BZOJ1046][HAOI2007]上升序列(dp+贪心)
题目描述传送门题目大意:对于一个给定的S={a1,a2,a3,…,an}S=\{a_1,a_2,a_3,…,a_n\},若有P={x1,x2,x3,…,xm}P=\{x_1,x_2,x_3,…,x_m\},满足(x1<x2<…<xm)(x_1 < x_2 < … < x_m)且(ax1<ax2<…<axm)( a_{x_1} < a_{x_ 2} < … < a_{x_m})。那么就称P为S的一原创 2017-04-23 20:30:48 · 626 阅读 · 0 评论 -
[BZOJ1028][JSOI2007]麻将(贪心)
题目描述传送门题目大意:牌的序号在1-n范围内,一组和了的牌由3m + 2张牌组成,其中两张组成对子(序数相同),其余3m张组成三张一组的m组,每组须为顺子(序数为连续的i,i+1,i+2)或刻子(序数相同)。现给出一组3m + 1张的牌,要求判断该组牌是否为听牌(即还差一张就可以和牌)。如果是的话,输出所有可能的等待牌。题解贪心。。 首先枚举一张等待牌,然后判断是否为和牌 判断的时候先枚举一个原创 2017-04-23 19:43:43 · 1086 阅读 · 0 评论 -
CF#403(Div.2) 解题报告
A题意简述有2n双袜子,编号为1..n。 按顺序从包中拿出,如果这只袜子的另一只还没有拿出,就放在桌子上,否则将桌子上的另一只拿走。 求桌子上最多有多少只袜子。数据范围1≤n≤1051\le n\le 10^5题解模拟。。代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdlib>#include<cs原创 2017-03-06 11:19:08 · 1430 阅读 · 4 评论 -
[BZOJ4319]cerc2008 Suffix reconstruction(贪心+构造+后缀数组)
题目描述传送门题目大意:给出一个sa,求一个合法的字符串的方案,或无解-1。题解无解就是a..z都填完了但是还不够 所以肯定是按照rank填,填的过程中相邻两个rank的地方尽量是一样的,实在不行再不一样 按照rank从小到大填数,对于相邻两个rank,比较两个的后面那个位置,如果后面的那个位置前面的rank小于后面的rank,说明这两个位置是可以填一样的,否则不行代码#include<algo原创 2017-05-04 17:24:23 · 724 阅读 · 0 评论 -
[BZOJ1029][JSOI2007]建筑抢修(贪心+堆)
题目描述传送门题目大意:修复每一个建筑都需要一定的时间,如果某一个建筑不能在某一个时刻前被修复就永不能被修复了,问最多能修复多少个建筑题解按照最晚的时刻排序,然后对于一个建筑,如果能修就修,否则让其替换前面一个耗时最长的建筑 和工作安排那道题有点像代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>原创 2017-05-03 18:49:47 · 1094 阅读 · 0 评论 -
[BZOJ3613][Heoi2014]南园满地堆轻絮(贪心)
题目描述传送门题目大意:给出序列a,构造一个严格上升的序列b,使得max(|ai-bi|)最小题解考虑两个数,如果是上升的就不用管了,如果是下降的需要把这两个数都变成中间值才能保证答案最小 所以答案就是最大的(逆序对差值+1)/2代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<原创 2017-05-11 22:16:31 · 1171 阅读 · 0 评论 -
[BZOJ1034][ZJOI2008]泡泡堂BNB(贪心)
题目描述传送门题目大意:给出浙江队n个人的权值,和对手n个人的权值,两人战平各得1分,胜2分,败0分,问最好和最坏情况下浙江队得多少分。题解一个田忌赛马问题 首先排序,若当前最弱的>对方当前最弱的,那么打;若当前最强的>对方当前最强的,那么也打;否则用最弱的去打对方最强的 由于两个人得分和一定是2n,第二问就将两个队反一下然后再用2n减去就可以了代码#include<algorithm>#in原创 2017-05-03 17:20:33 · 768 阅读 · 0 评论 -
[BZOJ1044][HAOI2008]木棍分割(二分+贪心+dp)
题目描述传送门题目大意:有n根木棍, 第i根木棍的长度为Li,n根木棍依次连结了一起, 总共有n-1个连接处. 现在允许你最多砍断m个连接处, 砍完后n根木棍被分成了很多段,要求满足总长度最大的一段长度最小, 并且输出有多少种砍的方法使得总长度最大的一段长度最小. 并将结果mod 10007。题解第一问贪心+二分判定 判定出了答案之后dp一下,f(i,j)表示砍了i刀,砍到第j个的方案数,单调地扫原创 2017-05-02 21:48:02 · 745 阅读 · 0 评论 -
[BZOJ3790]神奇项链(manacher+贪心)
题目描述传送门题解由于可以重叠,问题变为求出所有极长回文串了之后问最少用几个将序列全部覆盖。 这就是一个线段覆盖问题嘛。 从左向右一遍贪心。。。代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>using namespace std;#define N 100005char a[N],s[N]原创 2016-12-19 23:37:37 · 839 阅读 · 0 评论 -
[BZOJ4269]再见Xor(高斯消元求线性基+贪心)
题目描述传送门题解不用long long就是爽… 网上其它题解说什么求出来线性基了之后所有的异或起来是最大值,除去最小的是次大值? 然而我感觉这样不大对啊…大概是求线性基的方法不同叭… 将线性基从大到小排序之后每一个向量的为1的第一位要保证它前面的这一位没有1,这样异或起来才对 然后貌似就是上面的结论了,因为线性基之间根本不会产生冲突 md之前写了一个非常傻逼的方法,现在才发现…代码#in原创 2017-01-13 23:30:32 · 548 阅读 · 0 评论 -
[BZOJ4568][Scoi2016]幸运数字(高斯消元求线性基+lca+贪心)
题目描述传送门题解刚开始以为在树上先求出异或和了之后在线性基上搞一搞就行了,后来才知道这题牵扯到线性基的合并,YY了很久… 思路就是用倍增维护一段一段的线性基,然后求lca的过程中合并线性基就行了 这样的话时间复杂度是O(nlog3n)O(nlog^3n)?似乎有点不科学代码#include<algorithm>#include<iostream>#include<cstring>#inc原创 2017-01-14 09:32:22 · 538 阅读 · 0 评论 -
[BZOJ2115][Wc2011] Xor(dfs+高斯消元求线性基+贪心)
题目描述传送门题解挺好的一道思路题… 首先一条路径一定可以分解成一条简单路径和若干环的异或值 只需要dfs一遍所有能dfs到的环,剩余的环都可以通过其它的环组合(异或)得到 而简单路径可以是任意一条,因为环不一定和简单路径只有一个公共点(画图…不过据说可以证明?) 所以,dfs出任意一条简单路径,再dfs出所有环(每一个点只访问一遍),问题转化为将若干环组合与简单路径的异或最大 对于环求线原创 2017-01-13 21:48:35 · 599 阅读 · 0 评论 -
[BZOJ1232][Usaco2008Nov]安慰奶牛cheer(贪心+kruskal)
题目描述传送门题解将每一条边的边权记为原边权*2+两个点的权值,然后做最小生成树。 但是发现这样的话起点会少访问一次。 起点无论是哪个都是这n个点之中的嘛。。那么选一个最小的就好啦。代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>using namespace std;#define N 1原创 2016-11-15 20:49:32 · 636 阅读 · 0 评论 -
[NOIP2009][vijos1809]三国游戏(贪心)
题目描述传送门题解计算机的策略那么蠢用脑子想想也知道有必胜策略。 计算机每一次都会尽量阻止你选默契值最大的,而我们恰恰可以利用这一点。我们将武将的默契值降序排列,然后统计每一个武将第一次出现和第二次出现的位置。我们枚举第一次小涵第一次会拿哪一个武将。第一次拿的那个武将与之配对的武将一定是拿不到的,因为计算机会将它拿走,但是我们可以拿这个武将第二次出现时与它配对的武将,并且这样一定是最优的。 不要原创 2016-11-13 19:01:11 · 924 阅读 · 0 评论 -
[NOIP2009][vijos1810]导弹拦截(枚举)
题目描述传送门题解首先把所有导弹按照与第一个拦截系统的距离排序,然后枚举第一个系统最远拦截到哪个导弹,剩下的导弹就都由第二个系统拦截。更新答案即可。代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>using namespace std;#define N 100005#define inf 2原创 2016-11-12 21:46:16 · 420 阅读 · 0 评论 -
【Tsinsen1329】【集训队2012】特技飞行(贪心)
只求在我最美的年华里,遇到你。原创 2016-02-20 18:34:56 · 615 阅读 · 0 评论 -
【openjudge】Minecraft
【openjudge】Minecraft描述Minecraft是一个几乎无所不能的沙盒游戏,玩家可以利用游戏内的各种资源进行创造,搭建自己的世界。在Minecraft中,基本的建筑元素是边长为1个单位的立方体,Tony想用N个这种小立方体搭建一个长方体,并用他珍藏已久的贴纸对其进行装饰。如果一张贴纸可以贴满小立方体的一个面。那么,他需要用掉多少张贴纸呢?输入输入的第一行是测原创 2015-11-23 20:42:47 · 1640 阅读 · 0 评论 -
【codevs1666】买票
面对我们的骨灰,高尚的人们会洒下热泪。原创 2016-01-17 19:16:34 · 1132 阅读 · 0 评论 -
【codevs1464】装箱问题2
原时光待你好原创 2016-01-06 20:00:28 · 601 阅读 · 0 评论 -
【codevs1643】线段覆盖3
穿過夏天的木柵欄和冬天的風雪過後你終會抵達原创 2016-01-04 20:08:07 · 1007 阅读 · 0 评论 -
【codevs3027】线段覆盖2
我還是相信星星會說話,石頭會開花原创 2016-01-04 20:00:41 · 559 阅读 · 0 评论 -
【openjudge】最小新整数
描述给定一个十进制正整数n(0 现在从m位中删除k位(0例如: n = 9128456, k = 2, 则生成的新整数最小为12456输入第一行t, 表示有t组数据;接下来t行,每一行表示一组测试数据,每组测试数据包含两个数字n, k。输出t行,每行一个数字,表示从n中删除k位后得到的最小整数。样例输入29128456 21444 3样原创 2015-12-05 21:23:15 · 1517 阅读 · 0 评论 -
【tyvj1032】零用钱
描述作為创造產奶纪录的回报,Farmer John决定开始每个星期给Bessie一点零花钱。FJ有一些硬币,一共有N (1 他想用给定的硬币的集合,每个星期至少给Bessie某个零花钱的数目C (1 100000000)。请帮他计算他最多能支付多少个星期的零花钱。输入格式* 第一行: 两个由空格隔开的整数: N 和 C* 第2到第N+原创 2016-01-02 16:47:16 · 1196 阅读 · 0 评论 -
【tyvj1099】超级书架
描述Farmer John最近为奶牛们的图书馆添置了一个巨大的书架,尽管它是如此的大,但它还是几乎瞬间就被各种各样的书塞满了。现在,只有书架的顶上还留有一点空间。 所有N(1 (1 1 为了够到比最高的那头奶牛还要高的书架顶,奶牛们不得不象演杂技一般,一头站在另一头的背上,叠成一座“奶牛塔”。当然,这个塔的高度,就是塔中所有奶牛的身高之原创 2015-12-30 16:46:06 · 1655 阅读 · 0 评论 -
【openjudge】金银岛
描述某天KID利用飞行器飞到了一个金银岛上,上面有许多珍贵的金属,KID虽然更喜欢各种宝石的艺术品,可是也不拒绝这样珍贵的金属。但是他只带着一个口袋,口袋至多只能装重量为w的物品。岛上金属有s个种类, 每种金属重量不同,分别为n1, n2, ... , ns,同时每个种类的金属总的价值也不同,分别为v1,v2, ..., vs。KID想一次带走价值尽可能多的金属,问他最多能带走价值多少的金属。原创 2015-12-11 10:37:52 · 2345 阅读 · 0 评论 -
【NOIP2010TG/codevs1066】 引水入城 解题报告
引水入城 NOIP2010TG/codevs1066钻石Diamond题目描述 Description 在一个遥远的国度,一侧是风景秀美的湖泊,另一侧则是漫无边际的沙漠。该国的行政 区划十分特殊,刚好构成一个N行M列的矩形,如上图所示,其中每个格子都代表一座城 市,每座城市都有一个海拔高度。 为了使居民们都尽可能饮用到清澈的湖水,现在要在某些城市建造水利设施。水利设施原创 2015-08-16 20:03:05 · 1614 阅读 · 0 评论