• 「考试」省选4


    瞎打了几个暴力上去竟然就能rk2.。。

    考完发现是数据结构专项测试。
    T1
    由于所有的圆不相交,那么我们可以认为这些圆的上下位置是不变的。
    很显然的一个树形(dp),复杂度瓶颈在于建树。
    每个圆拆成上下两个,做一次平衡树扫描线。
    排序的时候以(y)为第一关键字,上下半圆为第二关键字,编号是第三关键字。
    每个圆有进入和出去两个操作,然后进入的时候先插入平衡树然后找前驱。
    如果是下半圆说明是找到了父亲,否则是找到了兄弟,这样就可以建树了。
    (O(nlogn))的。

    T2
    简单的打表可以发现(lcm(T(N,1),T(N,2)......T(N,K))=lcm(N-K+1,N-K+2......N))
    这样考虑如何求这个东西。
    我们构造一个数组(D_n)使得(prodlimits_{i=n-k+1}^{n}D_n[i]=lcm(n-k+1,......,n))
    然后用skyh的说法就是最值差分。
    首先(D_n=D_{n-1})然后(D_n[n]=n)
    这样有可能是不正确的。
    那就找到较靠前的数来消去(D_n[n])中的质因子。
    然后用可持久化线段树就可以查询了。
    由于(n)及以下的数的质因子总个数为(nln ln n)
    那么复杂度就是:
    (O(nln ln n logn))

    T3
    傻逼静态仙人掌写了两百行树剖调不出来了。

  • 相关阅读:
    7.python常用模块
    7.python3实用编程技巧进阶(二)
    7.Flask文件上传
    7.Django CSRF 中间件
    7.Ajax
    6.python内置函数
    6.python3实用编程技巧进阶(一)
    6.jQuery(实例)
    PhpStorm 10.0.1破解激活步骤
    PyCharm 2018.1破解激活步骤
  • 原文地址:https://www.cnblogs.com/Lrefrain/p/12182242.html
Copyright © 2020-2023  润新知