zoukankan      html  css  js  c++  java
  • 模拟69 题解

    A. chess

    想一下合法方案是怎样的。

    因为要保证每一个正方形合法,所以新加的一列中棋子个数等于刚刚删去一列的棋子个数。

    当$m$很大的情况下,$mod n$相同的列转移系数都是相同的。

    接着考虑,其实$m mod n$列转移了$m/n+1$次,而$n-m mod n$列转移了$m/n$次。

    所以将$C$分为两部分,即转移$m/n+1$次的和转移$m/n$次的。

    分别做背包就可以了。

    B. array

    很值得反思的一道题。

    刚开始看成了弱智问题,看zkt也马上切了,于是以为确实是弱智题,然后就马上打完交了。

    之后T1,T3也很简单,于是以为自己AK了,出去看到别人,各种立flag。

    还剩四十多分钟的时候,想打T2对拍,突然发现情况有点不妙。

    然而已经心态已经不能支持思考了,只好打了显然的二分部分分。

    考试时确实用到了单调栈,但还有一步转化题意没有想到。

    问题其实是,每个点到左侧比它大的第一个点范围内,最小的点的位置。

    倒序枚举每个元素,维护一个从栈底到栈顶单调递减的栈。

    对于栈中每一个元素,维护这个元素到栈中前一个元素范围内的最小值。

    当栈顶被弹出时,表明左侧出现了比它更大的点,那么直接用最小值更新答案。

    同时弹出栈顶时,栈顶下的元素将成为新的栈顶,那么新栈顶与当前枚举的i之间最小值将可能发生改变,尝试更新。

    C. ants

    原题没什么好说的,简单回滚莫队。

    右指针不断右滚,左指针记录块边界的状态。

    对于每个询问单独从块边界向左滚动。

    好处是只有添加操作而没有删除。

    用一个类似链表的方式维护一下连续区间就可以。

  • 相关阅读:
    redhat 新装后不能联网
    [Linux 命令]df -h
    redhat安装VMware tools的方法
    linux 进入包含空格文件名的文件夹
    Redhat 使用中文安装后更换为英文的设定
    HibernateDaoSupport类的使用
    java中重载与重写的区别
    Servlet中Service方法
    持久化框架Hibernate 开发实例(二)
    持久化框架Hibernate 开发实例(一)
  • 原文地址:https://www.cnblogs.com/skyh/p/11658329.html
Copyright © 2011-2022 走看看