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背包难题!

  • 相关阅读:
    UVa 1374
    天梯赛L3 004
    redis操作ZSet
    redis操作set集合
    mybatis使用注解开发
    SSM整合之mybatis的别名配置
    mybatis的5.1.10分页插件的使用
    lombok的使用
    JDBC的一个简单工具类
    mybatis的测试
  • 原文地址:https://www.cnblogs.com/scx2015noip-as-php/p/9818375.html
Copyright © 2011-2022 走看看