计算几何学习情况:
由于第六场的那道圆的反演的题目,去学了一下圆的反演
这个博客讲的很详细了
简单来讲就是 把点p映射到 op * op' = r * r的点上(同一方向)
那么原来在圆内的点会到圆外 圆外的点会到圆内 圆上的点不变
一个过反演中心的圆会被反演成为一条不过反演中心的直线
一个不过反演中心的圆 会被反演成 不过反演中心的圆
多校#6的1002
已知圆O,求圆上一点D,使得D到圆内(或圆上)两点P,Q距离之和最小,P,Q满足OP = OQ
当时是猜了个结论 做了OPQ外接圆 求圆交 其实是可以证明的
先随便找一点D,P关于圆O的反演点P', 因为 op * op' = r * r,且有一个公共角DOP 可知两个三角形相似
DP' = DP * K K是一个相似比 (r / op) 对于Q也类似做一次
所以DP' + DQ' = K * (DP +DQ) 只要求圆外的两点到圆上一点距离之和最短
很明显就是直线求交,有交一定是交点,否则是中垂线,直接算就行了
其实和当时猜的结论是一致的,因为把P'Q'直线再反演回圆内,就是OPQ的外接圆了
hdu4773
给你两个相离的圆,和两圆外的一点,问你过这一点并且和两圆相外切的圆有几个,并输出圆
由圆的反演我们可以知道 相切性是不会改变的,因为切点反演后还是唯一的一个
过点P的圆反演后成为一条不过P的直线 这条直线应该和两个已知圆的反演圆相切
所以直接求两圆的反演圆的外公切线(保证在同侧),再把切线反演回去,判断是否真的外切就行了
(= =直线交方向相同没特判 调了好久)
圆的反演的部分就只做了这两个,其他的没找到
感觉遇到和圆有关的问题,常规方法不好解的情况下可以考虑一下
之后又做了一些三分的题目
学习了一下黄金比例三分
就是 (3 - sqrt(5))/2 和 (sqrt(5) - 1 )/ 2 的左右节点来判断
这样一次移动会用到上一次的结果 比如当l向lmid移动时 新的lmid就是上次的rmid,lans就是上次rans
这样就相当于每次少了一次计算,大概常数会比较小
题目一般都很明显,(只不过poj3301 并不满足三分 但还是水过去了= =)
想说的就是一道题 UVA 11562
给你一个n个点的凸多边形(n <= 200) 和一个包含所有点的圆
问你从圆上一点所能看到的多边形最大的视角范围是多少
直接搞是不行的 考虑只有两个点的情况
直接求这条线段所在直线和圆的交点,在那个范围内三分是可行的
所以对于这个凸多边形,也只要枚举两点就行了,最后答案取max,
因为视角一定是由某两个点确定的
之后题单里的内容就剩下一些综合的题目,和目前感觉困难的WF的题目(随机化算法打算之后再搞了= =我实在没有这方面经验 学习的话需要一点时间 回家每天搞一点也很好?大概)
但其实应该还是不全面的,那个题单虽然比较详细但也是10年的老物了,计算几何的题目虽然出的没有其他类型多,但也应该会有变化,目前还没找到新的题
打算找比赛中的题目积累了
组队训练,也没怎么发现计算几何的题目
#7那道扫描线大概有点关系,但不大
关于#8 1004 由于自己之前做了一个直线上的问题 所以一直在想着往计算几何方面上套 导致队伍走了很多弯路QWQ
自己的码力也有待提升 多打打题吧