贪心
pretend_fal
In me the tiger sniffs the rose.
展开
-
51nod P1096 距离之和最小
原题位置:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1096这道题还好吧,首先看到这道题的时候,也是懵逼了一会,然后我们知道有一个数学常识:两个点之间的点距离两个点的距离之和不变且最小;根据这个小常识,我们就可以想到所选的点一定在所给的线段上,所以我们进一步分析,发现两点之间的距离和是不变的,所以说,如果我在线段AB原创 2017-09-28 16:48:06 · 194 阅读 · 0 评论 -
luogu P2619 奶牛工资
原题位置: https://www.luogu.org/problem/show?pid=2619这道题是个贪心,怎么说是贪心呢,就是先选大的,后考虑小的;千万不要把上句话的意思理解歪了,一开始我就理解歪了,然后华丽丽地TLE了;其实就是for,然后如果当前这个值可以被选,就选到不能再选这个值为止;还有一个小技巧,就是我们定义一个值,等于c,然后用这个值减,知道小于等于0,这样子比一直加到c好处理多原创 2017-09-20 10:50:07 · 448 阅读 · 0 评论 -
luogu P1484 种树
这个题的解法我是在河南听过的; 但是尴尬; 没好好听,所以忘了; 大致意思就是: 选k个数,要求选的任意两个数不能相邻; 大致是一种抵消的反悔方式;假设我们当前选了a[i],那么如果我们下次选了a[i-1] and a[i+1], 那么他们的代价差是:a[i-1]+a[i+1]-a[i]; 所以我们把 a[i] = a[i-1]+a[i+1]-a[i]; then a[i-1] and原创 2017-11-03 07:18:45 · 401 阅读 · 0 评论 -
luogu P3202 [HNOI2009]通往城堡之路
就是把所有的都先设为最差值; 然后一点点的往上调; 然后就是贪心; 定义 : low : 从n到现在i b[i]<=a[i] 的个数; up : 从n到现在i b[i]>a[i] 的个数;我们找一个 low-up 最大的后缀; 先上调; 调的距离是 min ( a[i]-b[i] ) |a[i]>b[i]; 因为这样我们 up 增加的值可以用 low 增加的值来抵消;原创 2017-11-03 07:20:04 · 330 阅读 · 0 评论