• 模拟55 题解


    A. 联

    一眼线段树。

    觉得T1似乎不应该这么难打。

    然而看了几分钟没有想出更好的做法。

    于是花了二十多分钟码了线段树。

    段错误一会之后,一遍过样例就交了。

    后来对拍也过了,很偷税

    所以直接维护一下出现位置最靠坐的0 1就行了。

    一种比较好的离散化做法是将左闭右闭的区间转化为左闭右开,

    因为只关注最左状态,这种做法是正确的。

    B. 赛

    将全部的物品分为四个组,给四个组分别排序。

    那么每个组中的物品应该是等效的,且价值低的更优。

    刚开始以为是贪心,准备大力分类讨论。

    打着打着突然想到,

    枚举选择了多少个交集,先补全后尽量用小的,一定是最优策略。

    这样理应是单谷的。

    随机数据打表发现确实是,所以三分就完了。

    C. 题

    对于每一个苹果,倒推考虑每个人,求出使每个苹果不被吃,

    必须被吃掉的苹果集合,不断扩大这个集合。

    那么:

    如果当前人所吃的苹果两个都在集合中,那么最终当前考虑的苹果必死,结束。

    如果当前人吃的一个苹果在集合中,那么前一些人中,两个苹果都应被吃。

    如果当前人吃的两个苹果都不在集合中,那么集合无需扩大。

    最后$n^2$枚举并判断两个人被吃掉的苹果集合是否没有交集就可以了。

  • 相关阅读:
    input输入框的各种样式
    Spring JdbcTemplate方法详解
    TF/IDF计算方法
    分布式日志收集系统--Chukwa
    分布式日志系统
    Iframe知识点
    拖拽事件
    面向对象知识点
    JS使用合并数组
    块元素block,内联元素inline; inline-block;
  • 原文地址:https://www.cnblogs.com/skyh/p/11610180.html
Copyright © 2020-2023  润新知