zoukankan      html  css  js  c++  java
  • ARC067 简要题解

    ARC067 简要题解

    A

    对于每一个数质因数分解即可

    B

    发现不会走回头路, 所以从左往右走是最优的

    看每一段是一步步挪更优还是瞬移更优

    C

    很容易想到 (f[i][j]) 代表已经分了组内人数 (leq i) 的组, 共分了 (j) 个人的方案数

    然后不好转移, 所以设 (g[i * j][j]) 为共有 (i * j) 个不同的人, 要分为人数相等的 (j) 组的方案数

    [g[i * j][j] = frac{g[i * (j - 1)][j-1]*inom{ij}{i}}{j}\ ]

    至于为什么要除掉一个 (j) 是因为组之间没有区别

    (f) 的转移挺简单的就不用说了

    D

    考虑从左往右扫统计答案

    设已经扫了前 (1 - i) 个店, 当前右端点在 (i) , 左端点为 (j) 的最优答案是 (ans[j])

    考虑对于每一张券维护

    发现每次就是加进来一个最大的然后更新前面某一段没有他优的点

    所以可以用单调栈维护

    发现每一次单调栈加入弹出都是对一段区间的值加减

    差分维护即可

  • 相关阅读:
    总结
    webview细节注意
    对图片的处理
    介绍并提高app中WebView的性能
    工作中新接触的问题
    iOS环信
    Framework静态库制作方法
    多线程GCD
    iOS开发之地图与定位
    ARC内存管理机制详解
  • 原文地址:https://www.cnblogs.com/ztlztl/p/13687222.html
Copyright © 2011-2022 走看看