zoukankan      html  css  js  c++  java
  • 三校联考 Day3

    三校联考 Day3

    大水题

    题目描述:给出一个圆及圆上的若干个点,问两个点间的最远距离。

    solution
    按极角排序,按顺序枚举,显然距离最远的点是单调的,线性时间可解出答案。

    大包子的束缚

    题目描述:给出一个圆以及直角坐标系上的若干个点,选择其中的一些点,使得两两相连的线段所在的直线与圆无交,求最多可以选多少个点。

    solution
    这题的题解有点奇怪,总的来说就是……我还不知道怎么做……

    毛毛虫图

    题目描述:定义毛毛虫图为一个无向无环图,且满足图中存在一条路径,使得每个点到这条路径的距离都小于等于(1).毛毛虫图不能有重边,但可以有自环。现给定一个无向图,并且定义合并操作:每次选定两个点u, v,将u, v两点以及所连的边删去,再加入一个新点w,将原来和u, v相连的边改成跟w相连。问至少需要多少次合并操作才能使无向图变成一个毛毛虫图。

    solution
    首先,这道题具有以下的几点性质:
    1、如果原图有环,那么需要花费环内点的个数-1次操作把环消除。
    2、不连通的块需要花费1次操作使其和其它的相连
    3、由于以上的两点操作,剩下的点和边组成一棵无向树,设取得那条路径上有(len)个点,这棵树上度数为(1)的点有(s)个,那么这幅图最终可以剩下(len+s-2)个点,所以这条路径应该贪心地取树的直径。
    有了以上的性质,就可以对图先双连通缩点,然后求树的直径,统计度数为(1)的点的个数,就可以算出答案。

    自然的神星树

    题目描述:给出一棵树与(m)种水果,给出若干个操作为将数上的一条路径上的点的某一种水果的数量加(1),求操作完后,每个点那种水果最多。

    solution
    对于树上的路径,可以尝试用树链剖分来处理,把树上的点重标号。由树链剖分修改的操作可以得出,可以将一条路径分成(logn)个分别连续的区间,所以总共有(nlogn)个区间。按重标号的标号顺序进行扫描,建一棵表示当前每种水果有多少个的线段树,如果当前扫描到的编号(i)为某个区间的开头,就加入线段树,如果(i)为某个区间的结尾,那么就线段树中删去。扫描完后映射回原标号就可以得出答案。

  • 相关阅读:
    leetcode 175 Combine Two Tables join用法
    spark学习及环境配置
    html表格设计
    免费的论文查重网站
    php利用msqli访问数据库并实现分页,
    php利用href进行页面传值的正确姿势
    php+mysql时报错:Unknown column '' in 'field list'解决方案
    使用XMLHttpRequest解析json
    用自定义的函数将gps转换为高德坐标
    WeakHashMap回收时机
  • 原文地址:https://www.cnblogs.com/GerynOhenz/p/5396944.html
Copyright © 2011-2022 走看看