码迷,mamicode.com
首页 >  
搜索关键字:斜率    ( 1026个结果
bzoj-2957 楼房重建
题意: 数轴上有n个楼,分别在1~n这些点上; m次查询,每次改变一个楼的高度,问从(0,0)这个点可以看到多少楼; 题解: 对于一个楼来说要想看到这个楼,那么前面的楼的斜率一定比这个楼小; 那么考虑分块的话,就将块中楼的斜率都求出来; 然后维护出一个从块首元素开始的递增序列; 即包括块首元素的下标最小的序列; 扫一遍所有块,取该块之前的所有楼的最大斜率为m...
分类:其他好文   时间:2015-07-08 20:58:53    阅读次数:128
APIO2010 特别行动队 & 斜率优化DP入门讲解
做完此题之后 自己应该算是真正理解了斜率优化DP根据状态转移方程f[i]=max(f[j]+ax^2+bx+c),x=sum[i]-sum[j]可以变形为 f[i]=max((a*sum[j]^2-b*sum[j])-(2a*sum[j]*sum[i]))+(a*sum[i]^2+b*sum[i]+...
分类:Windows程序   时间:2015-07-07 14:25:26    阅读次数:173
1451 - Average(数形结合)
该题表面让我们求一个字符串的问题,但是却可以转化成求斜率的问题, 紫书上已经说的很清楚了,我这里就不再赘述  。 代码如下 : #include using namespace std; const int maxn = 100000 + 5; int n,T,L; double a[maxn],p[maxn]; char s[maxn]; int campare(int x1,int x2,...
分类:其他好文   时间:2015-07-06 19:49:45    阅读次数:71
【BZOJ】1007 水平可见直线
【分析】 维护一个下凸包。 首先按照斜率来从小到大排序。 考虑斜率相同的,肯定只能选截距大的,把截距小的给筛掉。 然后用栈来维护下凸包,先压入前两条直线。 然后对于每一条直线i,设栈中上一条直线p=stk[stk[0]]和上上条直线q=stk[stk[0]-1]。 找到i与p的交点m,p与q的交点n。 画三条直线,把n点看成固定的,由于斜率从小到大,要使得上一条直线p看不到,那么m一...
分类:其他好文   时间:2015-07-05 16:44:06    阅读次数:103
单调队列
bzoj1047 理想的正方形题目大意:求a*b的矩阵中一个n*n的子矩阵,使得子矩阵的最大值和最小值的差最小。思路:一开始认为能用二维线段树a掉,但lcomyn大神写了一下,结果T了,于是就寻找新的写法。借鉴了斜率优化的思路,发现单调队列可以优越的做到O(ab)的求出整个矩阵中每个点左面延伸n位的...
分类:其他好文   时间:2015-07-04 19:47:22    阅读次数:136
poj 2780 Linearity 最多共线点经典问题
题意: 给n个点,其中最多有多少点共线(n 分析: 这是一个经典问题,朴素n^3解法:枚举n^2条直线,判断每条直线与多少点相交,复杂度n^3。明显会超时。这是n^2logn的解法:枚举每个点,对某个点与其他点连的n条直线按斜率排序,设这些直线中斜率相同的直线有k条,则k更新答案。这里想着重说一下斜率的问题,网上很多代码都是直接算斜率的,但计算几何的题目不推荐用斜率,最好用叉积代替有关斜率的...
分类:其他好文   时间:2015-07-04 09:45:41    阅读次数:154
n个点中求任意两点组成斜率的最大值
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1100首先按x坐标排序,然后相邻的三个点A,B,C 组成的三条直线必然有K(AC) 2 #include 3 #include 4 #include 5 #includ...
分类:其他好文   时间:2015-07-02 20:53:48    阅读次数:137
[HNOI2008]玩具装箱toy(dp+斜率优化)
斜率优化问题一般都是决策单调问题。对于这题可以证明单调决策。 令sum[i]=sigma(c [k] ) 1  首先我们可以写出转移方程  dp[i] = min( dp[j] + (f[i]-f[j]-c)^2 )  。令决策j1  dp[j2]+(f[i]-f[j2]-c)^2 可以得带 ((dp[j2]+f[j2]^2)-(dp[j1]+f[j1]^2)  )/(f[j2]-f[j1...
分类:其他好文   时间:2015-06-29 14:53:34    阅读次数:131
斜率dp cdq 分治
f[i] = min { f[j] + sqr(a[i] - a[j]) }f[i]= min { -2 * a[i] * a[j] + a[j] * a[j] + f[j] } + a[i] * a[i]由于a[i]不是单调递增的,不能直接斜率dp。考虑有cdq分治来做,复杂度(nlog2n) 1...
分类:其他好文   时间:2015-06-27 18:08:57    阅读次数:111
【BZOJ3707】圈地 计算几何 旋转坐标系
题解: 对于一个点对,如果它的连线的方程的 xx 为定值 ,即为一条竖线,那么我可以把所有点以 xx 为第一键值, yy 为第二键值排序,然后这条线两端的第一个点与这条线段做个三角形,其面积都可能更新答案。。 然后我们可以先把所有线按照斜率排个序,然后发现每次按序修改y轴,可以 O(1)O(1) 得到旋转坐标系后的点的序列。 可以观察此图(这是个小特例福利哦): 呃。就是每次旋转到一条...
分类:其他好文   时间:2015-06-23 21:45:58    阅读次数:241
1026条   上一页 1 ... 80 81 82 83 84 ... 103 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!