http://www.lintcode.com/en/problem/wood-cut/#
二分答案,贪心验证,具有单调性
class Solution {
public:
/**
*@param L: Given n pieces of wood with length L[i]
*@param k: An integer
*return...
分类:
其他好文 时间:
2015-07-06 23:30:25
阅读次数:
233
初谈这个话题,相信许多人会有一种似有所悟,但又不敢确定的感觉。没错,这正是因为其中“单调”一词的存在,所谓单调是什么,学过函数的people都知道单调函数或者函数的单调性,直白一点说单调就是一直增或一直减。例如:1,3,5,9就是一个单调增数列,数列中不存在后一个数比前一个数小的现象。...
分类:
其他好文 时间:
2015-07-05 18:19:57
阅读次数:
91
题意: 求最大矩形面积。思路: 维护单调递增的矩形高度,当出现不能维护单调性的数加入时,开始维护面积累计ans ans = max{ans , 当前矩形高度×当前位置到最右的宽度};最后再加入0,清空栈。ps:跪jzt学长/。\ 1 #include 2 #include 3 using na...
分类:
其他好文 时间:
2015-07-02 15:18:06
阅读次数:
124
常见优化单调队列形式dp[i]=min{f(k)}dp[i]=max{f(k)}要求f(k)是关于k的函数k的范围和i有关转移方法维护一个单调递增(减)的队列,可以在两头弹出元素,一头压入元素。队列中维护的是两个值。一个是位置,这和k的范围有关系,另外一个是f(k)的值,这个用来维护单调性,当然如果...
分类:
其他好文 时间:
2015-07-01 23:37:01
阅读次数:
156
题意:给出三分线的值d,分别有两支队伍,如果小于等于d,得2分,如果大于d,得三分,问使得a-b最大时的a,b一看到题目,就想当然的去二分了----啥都没分出来---55555555后来才知道不能二分,因为随着d的增大,两个队的得分都会逐渐减少,但是两个队伍的得分的差值的单调性却不知道是这一篇这样讲...
分类:
其他好文 时间:
2015-06-29 14:42:00
阅读次数:
106
题解:先求凸包,然后:枚举点 ii ,然后对于 点 jj 得到的 ii 与 jj (有序) 中间的点,以及 jj 与 ii (有序) 中间的点,都是单调的。代码:#include
#include
#include
#include
#include
#define N 2050
#define ep...
分类:
其他好文 时间:
2015-06-22 11:10:52
阅读次数:
117
起泡排序问题:该算法必然会结束?至少需要迭代多少趟?不变性:经k 轮扫描交换后,最大的k 个元素必然就位单调性:经k 轮扫描交换后,问题规模缩减至n-k正确性:经至多n 趟扫描后,算法必然终止,且能给出正确解答
分类:
编程语言 时间:
2015-06-10 18:43:38
阅读次数:
418
独立想的好开心呀(然而是一道水题)。可以看出这道题的答案是满足单调性的,然后可以考虑二分。对于当前二分出的mid值,我们考虑这个过程。假设他们能共同走到shop然后共同会home $$Ans = min(t1 + dist(A,C),t2 + dist(B,C) + dist(A,B))$$不然 ....
分类:
其他好文 时间:
2015-06-09 16:27:52
阅读次数:
117
题解:
首先我们把所有元素排一下序,然后枚举最小值,那么最大值是非严格单调上升的,就是一个珠子换成其后第一个的同颜色珠子时,将更新一下最大值,而最小珠子则刚好是其后第一个(反之则有空下来的永远用不上的珠子,不合逻辑。。2333)
结束。
代码:
狂野的long long 和开大数组啊……
#include
#include
#include
#include
#define...
分类:
其他好文 时间:
2015-06-05 15:53:28
阅读次数:
112
题目大意:
~~~~~~给出一个n?mn*m的0101矩阵,00表示不能放,11表示能放,在其中放入三个矩形,要求满足如下条件:
~~~~~~1.1.每个矩形面积大于00。
~~~~~~2.2.这些矩形必须是一个联通块,矩形之间不能重叠。
~~~~~~3.3.矩形的左边界在同一条线上。
~~~~~~4.4.中间矩形的横向长度小于两...
分类:
其他好文 时间:
2015-06-04 10:01:42
阅读次数:
217