• 题解UOJ#696. 【候选队互测2022】理论复杂度


    比赛的时候瞎搞了个做法,过了,就写篇题解吧。

    枚举第 \(r\) 个点的权值,所求即为:\((\prod_{i < r} \frac{1}{1-x^{i}}) \sum_{i} \frac{x^{ir}}{\prod_{j \le i} (1-x^{j})^2}\)

    问题的关键就在算 \(\sum_{i} \frac{x^{ir}}{\prod_{j \le i} (1-x^{j})^2}\)

    考虑根号分治。

    • 对于 \(i \le B\),我们暴力背包,时间复杂度 \(\Theta(nB)\)
    • 对于 \(i > B\),容易发现取 \(j > B\) 的元素一定不超过 \(\frac{n}{B}\) 个。那么我们设计 \(\rm DP\)\(dp_{i,j}\) 表示现在取了 \(i\) 个元素,和为 \(j\) 的方案数是多少。转移就是把当前所有元素的权值 \(+1\),并选择若干个 \(0\)。如果选择了 \(t\)\(0\),那么方案数是 \(t+1\)。可以通过类似前缀和优化的东西做到 \(\Theta(\frac{n^2}{B})\)。由于这题空间限制比较小,需要滚动数组。

    \(B = \sqrt{n}\),我们得到了一个 \(\Theta(n \sqrt {n})\) 的做法。

    aclink

    经过卡常的 aclink

  • 相关阅读:
    TSP-UK49687
    维度建模的基本原则
    差分约束系统
    随机过程初步
    随机过程——维纳过程
    Xilinx FPGA复位信号设计
    10 Row Abacus
    Python
    FX2LP与FPGA的简单批量回环
    DFT公式的一个简单示例
  • 原文地址:https://www.cnblogs.com/zkyJuruo/p/15780463.html
Copyright © 2020-2023  润新知