gwj1139177410的博客

Link-Cut, Time doesn’t stop. Prepare your doubts, Eat them up.

【NOIP2018】【Luogu5019】铺设道路(贪心,差分)

problem 初始序列全为0,每次操作可以将一个区间全部加1。 求最少操作数使序列变为目标序列。 solution 讲个笑话,2013年那题的代码直接复制粘贴都能过这题。 我们设d[i]=a[i]-a[i-1], 显然如果我将l~r进行操作相当于将d[l]加一而将d[r+1]减一(差分) ...

2018-11-14 12:19:08

阅读数:35

评论数:0

2018 “百度之星”程序设计大赛 - 初赛(A)P1001度度熊拼三角(贪心)

problem 给定n根棍子。在其中选三根拼成最大周长三角形的周长。不能拼出三角形输出-1. solution 先对数组进行排序,并利用贪心算法先取得最长的一根棍子,之后的两根依次取最长的棍子,如果这样构不成三角形,那么以最长棍子最为三角形中最长的一条边是不行的,至于为什么这样,可以举个...

2018-08-11 14:17:46

阅读数:132

评论数:0

【Luogu1484】种树(贪心,堆)

problem 在一条直线上有n个坑,要种k棵树。 不能在相邻两个坑种树。 已知在每个坑种树会有一个获利,求最大获利。 n<=5e5,k<=n/2 solution 考虑限制条件:对于每个位置id,我们都可以选择ans = max(v[id]...

2018-08-08 08:12:34

阅读数:16

评论数:0

【NOIP2007】【Luogu1094】纪念品分组(贪心,乘船问题)

problem 有n个人,第i个人重量ai 每艘船载重为w,最多可乘2个人 求能装载所有人的最少的船数 solution 贪心:让最重的人和最轻的人配对。 证明(反证法):令i为最轻的人, 1、i自己乘船。如果把j拉过来和他一起,那么总数不会增加(甚至可能会减少) 2、i和k一起乘...

2018-07-23 21:11:35

阅读数:25

评论数:0

【codevs1214】线段覆盖

problem solution codes #include<iostream> #include<algorithm> using namespace std; const int max...

2018-06-05 21:20:54

阅读数:25

评论数:0

【codevs1553】互斥的数

problem solution codes /* 贪心 1.找出不互质的数的集合,就是把互斥的数删去. 2.那么当有两个互斥的数时,如果删掉前面(小)的,这个数后面的与它互斥的数也会入选,所以删掉后面的更优。 3.因为每个数都是不同的。 */ #include&...

2018-06-05 21:17:33

阅读数:54

评论数:0

【codevs1052】地鼠游戏

problem solution codes //优先打价值最大的(如果能打的化) #include<iostream> #include<algorithm> using namespace...

2018-06-05 21:15:57

阅读数:25

评论数:0

【Luogu1095】守望者的逃离

problem solution codes //f[i]:第i秒最远可以走多远 #include<iostream> using namespace std; const int maxn = 300010; int m, s, t,...

2018-06-04 21:35:31

阅读数:45

评论数:0

【HAOI2008】【BZOJ1045】糖果传递(环形纸牌均分,前缀和)

problem 一个有n个数的环 每次只能向相邻的数移动,移动一个数代价为1 求让所有数相等的最小代价 solution 一:思路 1、纸牌均分问题每行答案是∑ni=1|i∗T/n−G[i]|∑i=1n|i∗T/n−G[i]| \sum_{i=1}^n|i*T/n-G[i]| ,其...

2018-05-30 12:31:21

阅读数:63

评论数:0

【JSOI2007】【BZOJ1029】建筑抢修(贪心,堆)

problem n个建筑需要抢修 第i个建筑需要T1时间抢修,必须在T2时间之前抢修完毕 求最多能抢修多少建筑 solution 先按照 t2 从小到大排列(对于每一个建筑,我们肯定等它快到限制的时候再修复它。) 对于一个建筑,如果能修理就修理; 如果小于就交换(取消修理前面的建筑而改...

2018-05-28 20:15:14

阅读数:35

评论数:0

【POJ2453】An Easy Problem

problem solution codes #include<iostream> using namespace std; int main(){ unsigned int n, x; while(cin&am...

2018-05-26 13:24:16

阅读数:30

评论数:0

【PA2014】【BZOJ3709】Bohater(贪心,排序)

problem 有n只怪 打败第i只怪物,消耗d[i]点生命值,恢复a[i]点生命值。 任何时候你的生命值都不能降到0(或0以下) 请问是否存在一种打怪顺序,使得你可以打完这n只怪物而不死掉 n <= 1e5 solution 贪心: 1. 能回血的先杀了, 按d...

2018-05-24 21:01:22

阅读数:29

评论数:0

【POJ1328】Radar Installation(贪心,决策包容)

problem 平面直角坐标系上有n个点。 在x轴上找尽量少的点,并以这些点为圆心画一个半径为d的圆,使得给定的点都在画出来的圆里。 求最少要画的点数,如果不能输出-1。 solution 一、不能的情况 当且仅当,x轴上所有点到该点的距离都超过了d(即最短距离情况下,他到x轴的垂直距...

2018-05-24 20:45:03

阅读数:39

评论数:0

【NOIP2010】【Luogu1199】三国游戏

problem solution codes //mdzz计算机根本不可能会赢??? #include<iostream> #define maxn 510 using namespace std; int a[maxn][maxn],...

2018-05-24 13:30:59

阅读数:62

评论数:0

【NOIP2012】【Luogu1080】国王游戏(贪心,邻项交换)

problem n个人,每个人左手右手各写有一个数字。 把n个人排成一列,每个人得到的奖金是前面所有人左手上数字的乘积除以自 己右手上的数字下取整。 最小化每个人奖金的最大值。 solution 一、贪心: + 按左手数字乘右手数字从小到大排序 + 小的在前,大的在后 二、证明:...

2018-05-23 21:15:16

阅读数:39

评论数:0

【NOIP2004】【Luogu1090】合并果子

problem 有n堆果子 每次可以将两堆果子合并,代价为新堆的果子数。 求把所有果子合并成一堆的最小代价。 solution 每次合并最小的两堆 用堆或者两个队列维护 证明?反证法。 codes #include<iostream>...

2018-05-21 21:42:32

阅读数:42

评论数:0

【POJ3190】Stall Reservations

problem n头奶牛要在指定的时间内吃草,而一个机器只能同时给一个奶牛吃草。给你每头奶牛吃草的开始时间和结束时间,问你最小需要多少机器和每头牛对应的方案。 n<=5e4; solution 按照开始吃草的时间将牛排序。 维护一个数组S,记录当前每个机器安排的最后一...

2018-05-21 21:26:03

阅读数:16

评论数:0

【POJ3614】Sunscreen

problem 有C个奶牛去晒太阳,第i头奶牛需要minSPF[i]和maxSPF[i]单位强度之间的阳光。每头奶牛晒太阳之前要涂防晒霜,防晒霜有L种,涂上第i种以后阳光强度就会稳定为SPF[i],第i种防晒霜有cover[i]瓶。求最多可以满足多少头奶牛晒太阳。(1 <=...

2018-05-21 20:39:27

阅读数:15

评论数:0

【NOIP2002】【codevs1098】均分纸牌

题解 显然纸牌总数必为n的倍数,否则无解(题目也说了 每个人和平均数(最后的纸牌数)差多少,就要从旁边的人手中拿多少张牌。 即使某个时刻某人手中的牌是负数也没有关系,可以认为是他a[i]从a[i+1]手中拿牌发生在a[i-1]从a[i]手中拿牌之前。 所以,直接算出平均数。 然后遍历序列...

2018-05-12 13:16:47

阅读数:18

评论数:0

【bzoj2151】种树

题面 传送门 传送门2 题解 如果没有相邻限制的话,我们开一个大根堆每一次取最大的就行了,但是如果存在限制,我们就加入一个后悔操作,来做调整贪心。 首先如果我们选择了一个点i,那么其相邻的点i−1,i+1,都不能选了,所以我们删除这两个点,因为i与它们两个是互斥的。 所以我们加入后悔操...

2018-04-24 21:28:19

阅读数:30

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭