[Tyvj1464]最远点对

【题目分析】:先凸包然后旋转卡壳。Master_Chivu说其实面积可以用叉积计算……然后我听了恍然大悟……因为我一直拿海伦公式算……

传送门1:http://cgm.cs.mcgill.ca/~orm/rotcal.frame.html

传送门2:http://blog.youkuaiyun.com/kaytowin/archive/2010/01/06/5140111.aspx

传送门3:http://www.cppblog.com/staryjy/archive/2010/09/25/101412.html

【Code】:

const
	eps=1e-12;
type
	point=record
		x,y:int64;
	end;
var
	p,q:array[0..200000]of point;
	n,m,i,j,k:longint; ans:int64;
function max(x,y:int64):int64;
	begin
		if x>y then exit(x); exit(y);
	end;
function dist2(p0,p1:point):int64;
	begin
		exit(sqr(p0.x-p1.x)+sqr(p0.y-p1.y));
	end;
procedure qsort(l,r:longint);
	var i,j:longint; t:point; x,y:extended;
	begin
		i:=l; j:=r; x:=p[(l+r)>>1].x; y:=p[(l+r)>>1].y;
		repeat
			while (p[i].x<x) or (p[i].x=x) and (p[i].y<y) do inc(i);
			while (p[j].x>x) or (p[j].x=x) and (p[j].y>y) do dec(j);
			if i<=j then begin
				t:=p[i]; p[i]:=p[j]; p[j]:=t; inc(i); dec(j);
			end;
		until i>j;
		if l<j then qsort(l,j); if i<r then qsort(i,r);
	end;
function cross(p0,p1,p2:point):extended;
	begin
		exit((p1.x-p0.x)*(p2.y-p0.y)-(p2.x-p0.x)*(p1.y-p0.y));
	end;
begin
	readln(n);
	for i:=1 to n do readln(p[i].x,p[i].y);
	qsort(1,n);
	m:=0;
	for i:=1 to n do begin
		while (m>1) and (cross(q[m-1],q[m],p[i])<=eps) do dec(m);
		inc(m); q[m]:=p[i];
	end;
	k:=m;
	for i:=n-1 downto 1 do begin
		while (m>k) and (cross(q[m-1],q[m],p[i])<=eps) do dec(m);
		inc(m); q[m]:=p[i];
	end;
	if n>1 then dec(m);
	j:=2; ans:=0;
	for i:=1 to m do begin
		while (cross(q[i],q[i+1],q[j+1])>cross(q[i],q[i+1],q[j])) do j:=j mod m+1;
		ans:=max(ans,max(dist2(q[i],q[j]),dist2(q[i+1],q[j+1])));
	end;
	writeln(ans);
end.

转载于:https://www.cnblogs.com/Skywalker-Q/archive/2011/03/16/1986146.html

资源下载链接为: https://pan.quark.cn/s/d9ef5828b597 在本文中,我们将探讨如何通过 Vue.js 实现一个带有动画效果的“回到顶部”功能。Vue.js 是一款用于构建用户界面的流行 JavaScript 框架,其组件化和响应式设计让实现这种交互功能变得十分便捷。 首先,我们来分析 HTML 代码。在这个示例中,存在一个 ID 为 back-to-top 的 div 元素,其中包含两个 span 标签,分别显示“回到”和“顶部”文字。该 div 元素绑定了 Vue.js 的 @click 事件处理器 backToTop,用于处理点击事件,同时还绑定了 v-show 指令来控制按钮的显示与隐藏。v-cloak 指令的作用是在 Vue 实例渲染完成之前隐藏该元素,避免出现闪烁现象。 CSS 部分(backTop.css)主要负责样式设计。它首先清除了一些默认的边距和填充,对 html 和 body 进行了全屏布局,并设置了相对定位。.back-to-top 类则定义了“回到顶部”按钮的样式,包括其位置、圆角、阴影、填充以及悬停时背景颜色的变化。此外,与 v-cloak 相关的 CSS 确保在 Vue 实例加载过程中隐藏该元素。每个 .page 类代表一个页面,每个页面的高度设置为 400px,用于模拟多页面的滚动效果。 接下来是 JavaScript 部分(backTop.js)。在这里,我们创建了一个 Vue 实例。实例的 el 属性指定 Vue 将挂载到的 DOM 元素(#back-to-top)。data 对象中包含三个属性:backTopShow 用于控制按钮的显示状态;backTopAllow 用于防止用户快速连续点击;backSeconds 定义了回到顶部所需的时间;showPx 则规定了滚动多少像素后显示“回到顶部”按钮。 在 V
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值