题目:给你n条开口向上的二次曲线Si(a>0),定义F(x) = max(Si(x)),求F(x)的最小值。
分析:三分。F(x)是一个单峰函数,先单调递减后单调递增,利用三分求最小值。
首先,证明两个二次函数构造的F2(x)为单峰函数;
(如果不成立,则存在两个连续的波谷,那么交点处一个函数递增另一个递减,矛盾...
分类:
其他好文 时间:
2015-05-10 09:44:23
阅读次数:
89
先把位于凸包的点求出,然后n^2枚举每两个点x,y,接着左右边找个离线最远的点。可以知道,当x不变y单调递增时,两边距离最远的两点也在单调递增。于是可以使用旋转卡壳。#include #include #include #include #include #include #include #def...
分类:
其他好文 时间:
2015-05-05 21:38:48
阅读次数:
136
一开始,看到这题,以为是最大连续子序列和的问题,写出了代码,提交了,WR,找了一些测试数据,结果发现这个算法并不能将所以的序列的解求出,只是满足一部分序列。
百度了一下,知道了要用单调队列来求解。
单调队列,也就是队列中必然是单调递减的或者递增的。而这题使用的是单调递增的队列。
单调队列使用的是双向队列,队尾队头都可以删除元素,只能从队尾插入元素。
比如求解一个数列{1 ,2 ,5 ,...
分类:
其他好文 时间:
2015-05-05 14:35:54
阅读次数:
173
参考《算法导论第二版P222页)一,如何把现实的问题转变成数学问题?即数学建模的思路?1,问题描述:现有一组相互竞争的活动,如何调度能够找出一组最大的活动(活动数目最多)使得它们相互兼容?2,问题转化:首先,按活动的结束时间单调递增进行排序。那么,为什么要按结束时间排序呢?这个问题留到后面解释。其次...
分类:
编程语言 时间:
2015-05-04 23:33:04
阅读次数:
164
题目:poj 1952 BUY LOW, BUY LOWER
题意:给出一个序列,先求最长单调递减子序列,然后求在子序列最长的情况下,不同的长度都为最长的的子序列的个数。(比如3,2,1和3,2,1属于相同,只能算一个)分析:首先用一个dp【i】表示到当前i点的最长子序列的长度
用dp2【i】表示最长为dp【i】的子序列的个数
然后dp【i】 = max(dp【j】)+1 (1<=j/****...
分类:
其他好文 时间:
2015-05-03 16:03:44
阅读次数:
146
单调递增最长子序列
时间限制:3000 ms | 内存限制:65535 KB
难度:4
描述求一个字符串的最长递增子序列的长度
如:dabdbf最长递增子序列就是abdf,长度为4
输入第一行一个整数0
随后的n行,每行有一个字符串,该字符串的长度不会超过10000
输出输出字符串的最长递增子序列的长度
样例输入
3
aaa
ababc
abklm...
分类:
其他好文 时间:
2015-05-02 15:17:25
阅读次数:
123
一、GTID简介什么是GTIDGTID(GlobalTransactionID)是对于一个已提交事务的编号,并且是一个全局唯一的编号。GTID实际上是由UUID+TID组成的。其中UUID是一个MySQL实例的唯一标识。TID代表了该实例上已经提交的事务数量,并且随着事务提交单调递增。下面是一个GTID的具体形式3E11..
分类:
数据库 时间:
2015-04-20 19:07:58
阅读次数:
375
刚开始做这题的时候,以为是简单的动态规划,后来提交之后发现超时了,看到了N可以达到100000,用简单的动态规划,时间复杂度达到了N^2,明显会超时。
想了挺久的,还是不知道怎么做,百度了一下,才知道了原来运用二分搜索,把问题简化成类似排序,时间复杂度为logN,就不会超时了。
下面是AC的代码,看注释可以很容易理解的。如说的有错,欢迎指正。
#include
#include
#i...
分类:
其他好文 时间:
2015-04-15 19:36:33
阅读次数:
92
计算几何初步 其实是维护一个类似下凸壳的东西?画图后发现其实斜率是单调递增的,交点的横坐标也是单调递增的,所以排序一下搞个单调栈来做就可以了…… 看了hzwer的做法…… 1 /***********************************************************.....
分类:
其他好文 时间:
2015-04-13 20:19:01
阅读次数:
171
单调递增最长子序列时间限制:3000ms | 内存限制:65535KB难度:4描述求一个字符串的最长递增子序列的长度如:dabdbf最长递增子序列就是abdf,长度为4输入第一行一个整数0#includeint main(){ int n,m,j,i,l,sum;; char s[10100]; i...
分类:
其他好文 时间:
2015-04-09 19:14:13
阅读次数:
129