zoukankan      html  css  js  c++  java
  • 可持久化动态图上树状数组维护01背包(牛客网的一道傻逼题)

    题目

    哈哈哈……题面已经告诉你做法了

    这场比赛前无数名两三分钟就过了这道A题……当时看到题的时候笑抽我了……

    维护尼玛的背包,直接贪心啊……

    如果序列都是正数的话,每个数的删除代价中的$i$为$1$当然是最优的。又因为要求删除所有的数,所以这可以做到,每次删除序列的第一个数就完了。

    然后下意识地看了看数据,$n$没问题,但是序列有负数……

    我们知道,负数的删除代价中的$i$越大越好,所以一开始先把序列中所有负数从后往前删除,然后把剩下的正数从前往后删除。

    $0$没有贡献,怎么算都行。

    再确认一下数据,发现答案是$(-2^{64},2^{64})$区间内的,而$long long$的范围是$(-2^{63},2^{63})$,会爆掉。

    所以开一个$unsignedspace long long$,单开个$bool$记它的正负号。

    恭喜你解锁成就:完成一道可持久化动态图上树状数组维护01背包难题!

  • 相关阅读:
    推荐一个SAM文件中flag含义解释工具--转载
    字节码技术
    Jconsole工具检测堆内存变化的使用
    观察者模式
    装饰器模式(IO流案例)
    JVM垃圾收集器
    内存溢出与内存泄漏区别
    栈溢出
    内存溢出
    JVM参数调优
  • 原文地址:https://www.cnblogs.com/scx2015noip-as-php/p/9818375.html
Copyright © 2011-2022 走看看