zoukankan      html  css  js  c++  java
  • 「考试总结2021-03-29」博弈

    A.数列

    原题可以被分成快速求 (A,B) 数列和求行列式两部分

    第一部分考虑将原题中的式子分成 (n)(4) 的模数进行考虑

    那么不难用 (log n) 的时间将原题转化成一个 (frac{n}4) 的子问题,复杂度 (nlog^2n) ,不能通过

    考虑预处理序列的前 (n) 位那么复杂度变为 (Theta(n+klog^2 frac{max}n))

    第二问考虑设 (B_{F(x)}=sum_{k|x} g(k),g(x)=sum_{k|x} mu (frac{x}k) B_{F(k)})

    所以矩阵会转化成 (Mat_{i,j}=[i|j]g(i)),证明考虑归纳,然后手动消下一行的元

    这部分复杂度 (Theta(nlog n))

    小球

    先控一下 (m)(log n),球多了可以直接二分

    考虑 (f_{l,r,k}) 表示区间里面有 (k) 个小球的最小步数

    转移这个小球的位置,两边取 (max) 再取 (min)

    优化首先考虑区间位置可以忽略,那么状态转成 (f_{len,k}),转移就是枚举两边的区间长度

    值得指出的是,转移左侧的时候并不需要减少小球的个数

    转换一种相对简单的做法:(dp[i][j]) 表示 (i) 个球 (j) 次能得到的最大长度

    转移是 (dp_{i,j}=dp_{i,j-1}+dp_{i-1,j-1}+1) 也就是从左边或者右边来

    最后枚举一下找到第一个 (dp[m][j]) 大于 (n)(j) 即可

    考虑上式的组合意义,如果将 (g_{i,j}) 视作图上的一个点,那么可以每个点的 (dp) 值是往下走的方案数

    能做 (Theta(log^2))?好像是组合数强行求和的样子,其实理解得不深刻

    游戏

    先鸽掉


    挂分:T3 9分,T2 1分,T1 1分

    策略:T2时间堆少了,再给一段时间应该是能堆出来的

    明天换一个策略

  • 相关阅读:
    poj 2485 Highways 最小生成树
    hdu 3415 Max Sum of MaxKsubsequence
    poj 3026 Borg Maze
    poj 2823 Sliding Window 单调队列
    poj 1258 AgriNet
    hdu 1045 Fire Net (二分图匹配)
    poj 1789 Truck History MST(最小生成树)
    fafu 1181 割点
    减肥瘦身健康秘方
    人生的问题
  • 原文地址:https://www.cnblogs.com/yspm/p/14593732.html
Copyright © 2011-2022 走看看