• 模拟测试55


    T1:

      区间很大,但是最优位置可能出现的地方不超过$2n$个。

      可以将区间端点及最优值可能出现的位置离散化,即每个区间的$l$、$r$和$r+1$,连同$1$一起离散化。

      然后线段树维护就即可。

      要同时维护最左侧的$0$和$1$,当前区间是否全为$1$或全为$0$。

      修改时如果是区间赋值,直接覆盖答案及懒标记。

      如果是区间反转,交换最左侧的$0$和$1$的位置,同时反转区间状况和懒标记。

      查询最左侧的$0$即可。

      时间复杂度$O(nlogn)$。

    T2:

      将物品分成4类:甲喜欢,乙喜欢,都喜欢和都不喜欢。

      将每种情况排序,然后枚举都喜欢的选了多少个。

      那么甲乙分别喜欢的都要选上最小的几个,是的每个人喜欢的总数等于k。

      然后将剩下所有的东西装进线段树里,查询前几小值之和。

      线段树要动态增删维持复杂度。

      时间复杂度$O(nlogn)$。

    T3:

      对每个点进行如下操作:
        倒序枚举每一条边没,初始时集合中只有自己。

        如果两点都在集合中,当前点一定被吃掉,结束返回;

        如果其中一个点在集合中,扩大集合;

        如果两个点都不在集合中,什么影响也没有,继续递归。

        递归到最后,则该点可以存活。

      这是的集合代表当前点存活的情况下需要替它被吃的点。

      枚举两个点,如果两个点的集合有交集,则不能同时存活,反之能。

      时间复杂度$O(nm)$。

  • 相关阅读:
    第五课补充01——持久化
    第六课补充01——主从复制原理,哨兵机制
    第五课作业——持久化
    矢量图网站
    WPF中获取控件之间的相对位置
    如何使用Prism框架的EventAggregator在模块间进行通信
    WPF中XAML中使用String.Format格式化字符串示例
    Win32 API中的user32.dll中的ShowWindow方法参数整理
    C# XML序列化帮助类代码
    建议2:使用默认转型方法
  • 原文地址:https://www.cnblogs.com/hz-Rockstar/p/11619517.html
Copyright © 2020-2023  润新知