zoukankan      html  css  js  c++  java
  • 【2019杭州集训】12.09训练总结

    昨晚爽快战斗 爆肝到十二点多

    比赛思路

    • T1:按位贪心,判断发现可以用线性基,如果要求相同的话就将这两位合在一起,在之后要求这两位的异或值为0.
      刚开始TLE90了(因为我的是NM2*2的,然后又用的是bitset),然后改手打bitset,WA90了,刚开始调不出来,转战T2T3之后再回来肉查才发现有个地方没有开longlong
      在这里插入图片描述
      在这里插入图片描述
    • T2:N3都没有打暴力都没有打。。。
    • T3:神奇的构造题?理解错了题意然后暴力都不会打,大胆打表获得10分。

    赛后消化

    • 一堆人过了T1,我才110分,菜爆了。
    • T2好像是一个每一个点的DP值是一个凸壳,要支持将凸壳拍扁,用平衡树维护,启发式合并转移(口胡)
    • T3理解完题意之后再想一想点分治似乎也不是那么难。
    • 想了很久怎么根据每一层的重心将整棵树统一,最后发现只需要给边赋值然后DFS扫一遍就好了Orz。

    难题选讲(计算几何)

    • 捕捉原题。
    • 话说计算几何我也就只能口胡了啊。
    第一题
    • 给n个圆(n<=200),问一个点能不能不经过任何一个圆覆盖的范围到无限远的地方。
    • 两个圆相交就将它们圆心相连,判断一个点能否被一个多边形包围。
    • 考虑将每一条边根据两个端点以询问点为原点的极角之差为边权,当作有向图,floyd找最大环,如果环的长度为2π2pi,那么就被包围。
    第二题
    • 问随机去掉一个点后凸包的期望点数(n<=1e5).
    • 经典题目。
    • 考虑在凸包上的点,去掉之后会有一个三角形里的点加入凸包,每一个点只会被两个三角形覆盖。对于每一个三角形里的点做凸包即可。
    • 问题在于怎么判断一个点在哪个三角形里面。
    • 找到凸包的重心,然后极角排序,相邻点和重心将凸包分成n个三角形,每一个点可以找到一个区域,然后只需要判断这个区域两边的三角形就好了。
    第三到五题
    • 咕咕咕

    总结

    • 一天还是能搞出两题的,问题不大。
    • 一些稍微复杂一些的数据结构我还不够熟练。
    • 题意千万不能看错。
  • 相关阅读:
    EC2自定义监控推到cloudwatch
    使用pgcli工具连接postgreSQL数据库服务
    使用go-retryablehttp包实现http“链接池”效果
    xorm相关操作小结
    使用Go处理HTTP压缩文件数据总结
    使用unpackit包解压gz包遇到的一个问题与解决方案
    使用Golang解压缩文件遇到的问题及解决方法
    Golang函数或方法传递nil值的一个坑
    使用golang实现一个LRU进程缓存模块
    mysql配置文件my.cnf配置了绑定ip报错Communications link failure解决方法
  • 原文地址:https://www.cnblogs.com/DeepThinking/p/13090903.html
Copyright © 2011-2022 走看看