zoukankan      html  css  js  c++  java
  • 省选模拟53 题解

    A. 数(number)

    对于 $n$ 为偶数,容易发现确定一半就行了,答案为 $10^{frac{n}{2}}$。

    对于 $n$ 为奇数,列式子可以发现形如 $sum 2x_i = sum 2y_i +y_{mid}$。

    一步很神的操作是,把 $y_i$ 转化为 $9-y_i$,于是可以提到左侧。

    原式转化为 $sum 2x_i + sum 2y_i=9k+y_{mid}$ ,枚举 $y_{mid}$ 的取值,于是是一个插板法+二项式反演。

    B. 序列(sequence)

    可以考虑首先构造出最优策略的代价。

    显然可以对奇数和偶数分别考虑,于是发现代价就是把每个奇数权值按照先后顺序依次分配到每个奇数位置上。

    考虑怎样的操作,可以使总代价不变的前提下,字典序更小。

    可以发现这样的操作就是两个移动区间有交集的数更换了目的地。

    不妨给每个奇数确定一个移动的方向,发现有交集其实一定意味着移动方向相同。

    于是分别考虑每个移动方向相同的连通块。

    如果奇数都向左指,每次都是一个奇数位置选择最小的合法的奇数。

    可以转化为一个括号匹配问题,即依次对每个左括号次选择最优的合法的右括号。

    然后发现合法的右括号位置显然是一个连续区间,所以二分答案然后用线段树维护括号序列匹配数来支持查询就好了。

    对于奇数都向右指,直接搞个堆不断维护最小值即可。

    对于指向自己,选择是唯一的,即不进行移动。

    这样的复杂度是两个 $log$ 的。

    一个很神仙的做法是,对于奇数向左指的情况。

    反向建一个堆,每次遇到一个位置都取出堆中最大的元素。

    C. 烤仓鼠(hamster)

  • 相关阅读:
    Git SSH Key 生成步骤
    Mac终端(Terminal)自定义颜色,字体,背景
    MAC进入文件夹快捷键
    在Terminal中,如何打开Finder,并显示当前的目录
    mac文件夹怎么重命名?苹果电脑文件夹重命名快捷键
    如何在Mac OS X中开启或关闭显示隐藏文件命令
    怎样将二个路由进行桥接的方法
    关于apache access log 统计的那些事儿
    aaaa
    CodeForces463C Gargari and Bishops(贪心)
  • 原文地址:https://www.cnblogs.com/skyh/p/12570703.html
Copyright © 2011-2022 走看看