码迷,mamicode.com
首页 >  
搜索关键字:斜率    ( 1026个结果
[LeetCode]Max Points on a Line
Given n points on a 2D plane, find the maximum number of points that lie on the same straight line. 以某个点为基点,求得与其他的点的斜率并记录在map,注意两点 1.斜率可能为无穷 2.如果遍历到的点与基点在相同位置则所有斜率的点都要加上1 /** * Definition f...
分类:其他好文   时间:2015-02-27 21:34:46    阅读次数:227
bzoj 2957 楼房重建
Description给定n座楼,初始高度为0,每次可以改变某栋楼的高度,求每次改变高度之后从原点可以看到几栋楼Solution 1一个比较显然的做法是分块,假设块大小是S,分为L块,维护每块中斜率单调上升的序列每次暴力修改复杂度为O(S)O(S)每次询问时对每块序列中二分第一个大于之前斜率的位置即可,复杂度O(L?logN)O(L*logN)显然S=N/S?logN即S=NlogN??????√S...
分类:其他好文   时间:2015-02-26 18:40:56    阅读次数:147
HDU 2829 Lawrence (斜率DP)
斜率DP设dp[i][j]表示前i点,炸掉j条边的最小值。jky(q[h+1],q[h])) do inc(h); f[i,j]:=-sum[i]*sum[q[h]]+f[q[h],j-1]-cost[q[h]]+sum[q[h]]*sum[q[h]]+cost[i]; ...
分类:其他好文   时间:2015-02-26 13:00:23    阅读次数:109
bzoj 1010 斜率优化DP
我的第二道斜率DP。收获: 1、假设两个位置:p)的方向就会因为f的大小关系而变化,就没有凸的性质了。 2、斜率优化很难调试,所以当发现暴力DP和同样的方程被斜率优化了一下的答案不同时,不要去调试,直接去检查上面的各个函数是否写错或抄到代码中抄错了, 或者重推一遍。(注意决策点是否可能会重...
分类:其他好文   时间:2015-02-18 20:59:35    阅读次数:295
hdu 3507 斜率优化
我的第一道斜率优化。就这道题而言,写出原始的方程: dp[i] = min{ dp[j] + (sum[i]-sum[j])2 + M | j in [0,i) }O(n^2)的复杂度肯定超时,要么优化转移,要么重写方程。斜率优化的思想就是减少不必要的枚举(即不枚举肯定不会成为决策点的j)。我们考....
分类:其他好文   时间:2015-02-18 18:46:04    阅读次数:219
Codeforces Round #291 (Div. 2)(B)
水题但是WA2发了,要特别考虑斜率不存在的情况,最后的答案就是斜率不同的数目,set一下 #include #include #include #include #include #include using namespace std; const int maxn=65000+10; const int INF=1<<30; typedef long long LL; int mai...
分类:其他好文   时间:2015-02-16 01:43:37    阅读次数:166
UVa 1451 (数形结合 单调栈) Average
题意:给出一个01串,选一个长度至少为L的连续子串,使得串中数字的平均值最大。分析:能把这道题想到用数形结合,用斜率表示平均值,我觉得这个想法太“天马行空”了首先预处理子串的前缀和sum,如果在坐标系中描出(i, sum[i])这些点的话。所求的平均值就是两点间的斜率了,具体来说,在连续子串[a, ...
分类:其他好文   时间:2015-02-08 11:35:15    阅读次数:315
HDU 3756
很容易就想到把三维转化成了二维,求出点离Z轴的距离,把这个距离当成X坐标,Z轴当Y坐标,然后就变成了求一个直角三角形覆盖这些点像上一题一样,确定斜率直线的时候,必定是有一点在线上的。于是,可以把直线看成垂直X轴,按角度旋转点即可。也有二分高度的做法。#include #include #includ...
分类:其他好文   时间:2015-02-05 21:48:11    阅读次数:143
poj 3090 (欧拉函数,找规律)
poj 3090 (欧拉函数,找规律) 题目: 给出一个n*n的点阵,求从(0,0)出发斜率不相等的直线有多少条。 限制: 1 思路: 先定义sum[i] sum[i] = 0, if(i == 1) sum[i] = sum[i-1] + phi[i], if(i >= 2) ans = sum[n] * 2 + 3 /*poj 3090 题目: 给出一...
分类:其他好文   时间:2015-02-05 11:19:12    阅读次数:114
Max Points on a Line 149
题目描述:给出平面内的n个点,求最多有多少各点在同一条直线上题目分析:同一条直线上的点,任意两个点之间对应相同的斜率这样我们固定一个点s(我们称为起始点),求出其他所有点与起始点构成向量的斜率那么这些斜率中相同的,他们对应的点与起始点在同一条直线上为了,能快速找到重复次数最多的斜率,我们对斜率排序,...
分类:其他好文   时间:2015-02-03 14:46:01    阅读次数:166
1026条   上一页 1 ... 87 88 89 90 91 ... 103 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!