摘要:
Problem - 2907 简单的凸包加上扫描顶点。 题意是给出一个多边形,对这个多边形构造一个凸包,问有多少条边是在凸包上的,凸包上有多少个区域是缺了的。求出来以后乘以给出的权值,就是答案。 做法很简单,对给出的多边形求一次凸包,然后将原多边形的顶点顺序倒序(这是因为我的凸包是逆时针构建的),然后对齐凸包上的第一个点(一定存在能被对其的顶点,阴为在凸包上的点都在原多边形上)。然后从这个点开始扫描,如果凸包上两个点是相邻的,同时这两个点在原多边形上也是相邻的,那么这两个点之间那条边就是凸包上的边,否则就有一个缺失了的区域了。代码如下: 1 #include <cstdio> 2 阅读全文
摘要:
昨晚卡题卡好久了,所以就熬夜熬到两点才睡。今天一大早7点就要起来,去参加那个无聊的开幕式,以及代表教练去抽签。 浙工的环境不错,感觉就是当年成都赛的东软学院。那个体育馆相当威武,也是我们的比赛场馆,就像两个UFO一样坐落在进去校门没多远的位置。今天的经历最搞笑的莫过于是我们的进行开幕式的建筑叫做“健行B楼”,不过我们不认识路,绕了好久都没有找到,于是只好找志愿者问了。志愿者听到这个名称,直接就说“哦,健B是吧?”,然后我们就当场笑趴了。。_(:з」∠)_我们队伍的志愿者是研一的女生,今天我们没有找到开幕式的场地起其中一个原因就是她的手机坏了,然后我们打了n多电话给她都没有回复。最后在中午... 阅读全文
摘要:
Jan's LightOJ :: Problem 1313 - Protect the Mines wa了好多天的一个凸包啊!之前是想错方向了,以为最后的凸包一定由在起初构建的凸包上的点构成的,于是就狂wa不止。昨天在地铁上面讨论这题,突然想到,对于一个凸包,每一条边都不会穿过要被包围的点集。所以,我们可以先判断有向直线是否穿过要被包围的点集,得到有可能围成凸包的所有有向边。然后用floyd算法,计算最小环的长度。可是,我在打的过程中居然忘记了对于一个点是否能到下一个点的判断是要找出是否能够通过中间任意一个点到达,所以就漏了一个或“|”的符号。于是又wa了一个晚上。 改过来就过了_(: 阅读全文
摘要:
有点惊险的一天。 早上11点去杭州的飞机,我和队友们本来计划9点从五山出发的,结果拖迟了十几分钟。幸运的是,地铁速度够快,压哨2分钟从取票处拿到机票了。 飞机飞了两个钟就到杭州,然后我们坐机场大巴到武林门,再转的士到酒店。自费的比赛,开支各种心疼。TAT 到了酒店,我们入住一间3人房,设备... 阅读全文
摘要:
2318 -- TOYS 在别人的几何练习中找出来的简单的几何加二分的题目。题意是,给出隔槽的构造,统计出给出的点在哪一个隔槽中,最后将所有的统计结果输出来。 主要是不能用cin cout输入输出大量数据。这里用double也不会超时,不过用int会快很多。代码如下: 1 #include <cstdio> 2 #include <cstring> 3 #include <vector> 4 #include <cmath> 5 #include <iostream> 6 #include <algorithm> 7 8 阅读全文
摘要:
uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1288 给出三条中线的长度,求三角形的面积。 套公式可以过,不过我不明白为什么我求出三条边以后再判断是否能构成合法的三角形是错的。AC的代码: 1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 #include <iostream> 5 #include <cm 阅读全文
摘要:
2164 -- Find the Border 卡了一个月啊,都快想放弃了。今天看了一下LRJ的PSLG版的代码,才想起来我的模拟捆包裹法存在的漏洞。那就是对点的坐标进行排序的时候,应该用的sgn()函数来进行比较,而不是我一开始的直接对浮点数进行比较。如果直接对浮点数进行比较,本来距离差不多的点就会被拉伸开来,导致应该是相邻点的点被分隔了。 做法比较简单,我的捆包裹法是先将所有的交点离散出来,然后处理出所有的相邻的点。最后,就是模拟向顺时针转动最多的方向的相邻点移动的所有过程。代码如下: 1 #include <cstdio> 2 #include <cstring> 阅读全文
摘要:
Jan's LightOJ :: Problem 1203 - Guarding Bananas 简单凸包。处理凸包的时候吧ch写成了pt,wa了两次。 1 #include <cstdio> 2 #include <iostream> 3 #include <algorithm> 4 #include <cstring> 5 #include <cmath> 6 7 using namespace std; 8 9 struct Point {10 double x, y;11 Point() {}12 Point(doub 阅读全文
摘要:
Jan's LightOJ :: Problem 1239 - Convex Fence 简单凸包,练手题。 1 #include <cstdio> 2 #include <cstring> 3 #include <iostream> 4 #include <algorithm> 5 #include <cmath> 6 #include <iostream> 7 8 using namespace std; 9 10 typedef long long LL;11 12 struct Point {13 LL x 阅读全文
摘要:
Problem - 1140 简单的三维几何题,对于每一个点,搜索是否存在卫星直接可见,也就是直线与球体是否交于较近的点。其中,套用的主要是直线与平面交点的函数。模板以及代码: 1 #include <cstdio> 2 #include <cstring> 3 #include <cmath> 4 #include <set> 5 #include <vector> 6 #include <iostream> 7 #include <algorithm> 8 9 using namespace std; 10 阅读全文