• 计算几何学习2


    由于下午的训练赛(主要是自己懒

    今天的进程比较缓慢 做了几道

    poj 1696

    给你一些点 你从某一个点出发 只能向左转 并且不能穿过之前走过的轨迹

    问你怎样走能经过最多的点并输出轨迹 n <= 50

    做法就是枚举出发点

    贪心 找左侧偏角最小的点前进 并记录路径

    找一条最长的输出

    用叉积判断方向 点积计算偏角 路径相交是规范相交

    poj 1410

    矩形和线段是否有交

    只要注意矩形包括内部就行了

    poj 1584

    阅读题

    步骤

    1)判断一个多边形是不是凸多边形

     各种复杂度的算法都有 可以绕着外侧像凸包一样判断边的关系 O(N)

    或者枚举边判断所有点是不是在一侧O(N^2)

    2)圆心是不是在多边形内部

    向上一篇提到的 在凸多边形中 与各顶点叉积方向一样即可

    3)圆是不是和多边形交

    计算圆到各线段上点的最短距离判断 用上一篇中的CrossVP即可

    poj 2074

    计算最大连续可视范围

    观测点和障碍物连线 再求与待测线段的交点

    将交点扫一遍 得到若干覆盖区域 在未覆盖区域里找连续的最大即可

    有一个trick = = 那就是障碍物不一定在观测点和待测区域之间 不管这种就好

    感觉就是写完离AC总是差一步

    这种题目中的trick还要多积累 少走些弯路

    明天目标:

    一部分还剩三题左右 明天完成

    在明天开始凸包练习

  • 相关阅读:
    js上移、下移排序 效果
    如何为平板打造完美的网站页面?
    [BUUOJ]刮开有奖reverse
    [0CTF 2016]piapiapia
    [TSCTFJ 2019]bypass
    [安洵杯 2019]easy_serialize_php
    [TSCTFJ] relax
    c#访问网页
    DNN 数据访问
    c#访问数据库
  • 原文地址:https://www.cnblogs.com/drzdk/p/7202538.html
Copyright © 2020-2023  润新知