自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ACMer_quack&cheer

when the hobby becomes your burden, you start to hate and desert it.

  • 博客(11)
  • 收藏
  • 关注

原创 BZOJ1500 [NOI2005]维修数列(Splay)

题意不多说。这大概算是splay的终极题目了吧,和poj3580差不多。 插入:把左端点前一个节点和右端点后一个节点旋转到根和根的右儿子,然后像建树那样构造右儿子的左子树。 删除:同上的旋转方式。删掉根节点的右儿子的左子树。虽然同时存在的节点不超过500 000个,但是不停的插入删除会使节点编号x变得非常大,造成RE;因此需要内存回收,开一个栈来保存删掉的所有节点编号。 修改:同上的旋转方式。

2016-04-08 11:38:29 505

原创 POJ3525 Most Distant Point from the Sea(半平面交)

有一个海岛,求海岛上距离海岸线最远的点。lrj白皮书例题,我这里也有介绍半平面交的相关知识。直接求不好求,于是二分这个距离,把海岸线向”里”(逆时针给出边的时候左边为里,也就是它对应的半平面)移动这个距离,如果这些半平面有交集,则说明距离不够远,如果没有交集则说明距离太远。于是二分到恰好没有交集。#include<cstdio>#include<cmath>#include<algorithm>

2016-04-05 22:19:16 391

原创 POJ 1279&1474 (多边形的核)

关于多边形的核,我的这篇博客有介绍,就不多说了,差不多就是粘模板吧。 POJ1279求多边形核的面积(貌似G++编译器有问题,C++就过了)#include<cstdio>#include<cmath>#include<algorithm>#define MAXN 1550using namespace std;struct poi{ double x,y; poi(d

2016-04-05 21:42:09 611

原创 HDU3555 Bomb(数位DP)

数位DP入门级题目(我也只会做入门级题目0 0),求n以内的数字中不含有连续的49的数字有多少个。类似于另外一题http://acm.hdu.edu.cn/showproblem.php?pid=2089,照搬代码吧。另外一题题解,N久以前发的:传送门。先预处理,设dp[i][j]表示第i位数是j的方案数(j可以是0),不难得到dp[i][j] = sigma(dp[i-1][k])(0模

2016-04-05 21:22:18 419

原创 UVA11374 Airport Express(SPFA求最短路)

城市里面有n个站点,一些站点之间通过双向边相连。现在在一些站点之间可能有快速路,可以减少通行的时间,但是你只能经过一次快速路。问到终点的最少时间,并输出方案。思路还是很好想,输出就有点蛋疼了。设d1[i]表示起点到i的最短距离,d2[i]表示终点到i的最短距离。枚举每一条可能使用的快速路(a,b),用d1[a]+w(a,b)+d2[b]或d1[b]+w(a,b)+d2[a]去更新答案,最小的那

2016-04-05 20:33:52 461

原创 两个圆柱相交的体积 UVALive 5096 Volume

本博客主要讨论从积分和非积分方式计算两个圆柱体交集的体积。由于博主的高数很烂,有什么不得当的地方还望大家指出来。 两个圆柱相交: 不难发现相交有两种情况,如图所示是2R<H2R<H的情况。 我们先暂且不考虑第二种2R>H2R>H的情况,先看第一种。把多余的地方切去,会得到这个立体图形: 这个叫做牟合方盖。通过百度不难发现它的体积公式为163R3\frac{16}{3}R^3,那么问题

2016-04-05 14:11:59 25220

原创 计算几何学习笔记之旋转卡壳

旋转卡壳的用途太广太广了,而且每种用途代码都大同小异,这里只简单介绍一下(毕竟我也没怎么写过) 什么是旋转卡壳?可以想象成有一双筷子(筷子是平行的),把凸多边形夹了起来,然后不停地旋转,旋转。旋转中筷子要么是紧贴多边形的边要么就是紧贴多边形的顶点。 旋转卡壳简介:http://blog.csdn.net/acmaker/article/details/3176910 计算凸多边形上的最远点

2016-04-01 18:11:53 2298

原创 计算几何之半平面交、多边形的核

半平面指一个平面的一半。比如在二维空间中,一条直线可以把整个平面分为两部分,左边是一个半平面右边是一个半平面。而半平面交就是一堆半平面的交集,可以想象成线性规划方程组A0x+B0y+C0>=0,A1x+B1y+C1<=0......A_0x+B_0y+C_0>=0,A_1x+B_1y+C_1<=0......的解集 如果一根直线是有向的,我们可以定义它的左边是它对应的半平面(也可以是右边),那么半

2016-04-01 17:46:08 3004 1

原创 计算几何学习笔记之凸包

凸包就是把给定点包围在内部,面积最小的凸多边形。 先将所有点排序(x小的放在前面,x相同则y小的放在前面),用一个栈维护已经加入凸多边形的点,类似于DP的单调栈优化。按照逆时针(顺时针则操作取反)顺序依次加入点,如果新点在上一根直线的左边则加入,否则弹出栈顶的边,直到新点在上一根直线的右边。点的位置可以用叉积正负判断。 需要执行以上操作两次,第一次加入凸包下方的点,第二次为凸包上方的点。 in

2016-04-01 16:20:07 734

原创 计算几何学习笔记之多边形

凸多边形:指如果把一个多边形的所有边中,任意一条边向两方无限延长成为一直线时,其他各边都在此直线的同旁,那么这个多边形就叫做凸多边形,其内角应该全不是优角。 非凸多边形:不是凸多边形的多边形。 多边形的有向面积:通过把n边形转换为n-2个三角形(从第一个顶点出发向其他点连边),用叉乘公式求每个三角形的有向面积。对于非凸多边形也同样适用,在外面部分可以正负抵消。实际中,多是求多边形的面积而不是有向

2016-04-01 15:51:36 523

原创 计算几何学习笔记之点和直线

向量的基本运算http://blog.csdn.net/cqbzwja/article/details/51030712 直线用参数方程表示,参数方程就是直线上任意一点,加上一个方向向量,以及参数t。假设直线上所有点满足P=P0+tv⃗ P = P_0+t\vec v,那么t为参数,P0是直线上任意一点,v是直线的方向。假设点Q有Q=P0+t0v⃗ Q = P_0+t_0\vec v,则表示Q在P

2016-04-01 15:30:10 1177

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除