zoukankan      html  css  js  c++  java
  • 【20181103T1】地球发动机【dp优化】

    题面

    一眼dp

    (f_i)表示前(i)个且(i)必须选的最大功率

    (f _i= max_{1 leq j < i,A_i - A_j > X_j} {f_j }+p_i)

    下面的条件

    (A_i - A_j > X_j)

    相当于

    (X_j + A_j < A_i)

    (X_j + A_j +1 leq A_i)

    (g(i)= X_i +A_i +1)

    发现对于一个(i)来说(g(i))是确定的

    那我们可以用一个数据结构来维护

    考场上用的树状数组,需要先预处理出(g(i))然后离散化

    复杂度(O(NlogN))

    和暴力(N^2)对了30min竟然没问题

    造了个大数据发现输出INF……检查发现树状数组查询的返回值没开long long,好险啊

    实际上不需要数据结构,只需要对于每台机器二分一下影响不到的最后的位置,然后倒着DP就可以了

    代码

  • 相关阅读:
    上传文件事件并校验:event.target.files && event.target.files[0]
    深浅拷贝
    Git学习
    Flex弹性布局
    hive
    222
    错误总结
    Redis小结2
    spark小结
    kafka详解
  • 原文地址:https://www.cnblogs.com/lstoi/p/9900528.html
Copyright © 2011-2022 走看看