zoukankan      html  css  js  c++  java
  • 训练日志3

    计算几何学习情况:

    由于第六场的那道圆的反演的题目,去学了一下圆的反演

    这个博客讲的很详细了

    简单来讲就是 把点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

    自己的码力也有待提升 多打打题吧

  • 相关阅读:
    帮你拿下 Java 面试题!
    JavaGUI编程的宿世此生
    从事Java开发可以往那些方面发展
    java初学者都要掌握的案例
    两数之和(java)
    2020年java就业前景
    300 行代码带你秒懂 Java 多线程!
    安卓程序员如何快速入门后端开发常识
    连夜整理的Java开源项目,有后台管理类、商城类、秒杀类、支付类
    Java面试题及答案,2020年最新面试题集合
  • 原文地址:https://www.cnblogs.com/drzdk/p/7388771.html
Copyright © 2011-2022 走看看