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

    A. Skip

    一眼决策单调性,但是感觉因为带个权值就不好处理了。

    实际上对权值开个线段树,然后直接在线段树上维护决策单调性就完事了。

    而且这个式子是一个显然的斜率优化 dp ,在权值线段树上维护凸包也挺套路的。

    感觉这题没做出来比较可惜,没有想到通过对权值开线段树,来实现权值的无关操作。

     

    B. String

    $80$ 分做法比较显然。

    求第 $k$ 大字典序,肯定要逐位确定。

    因为数据范围很小,所以状压然后 next_permutation 把每个字母填在对应位置就行了。

    考试最后 $20$ 分钟测了一个 $k=8,n=10^{18}$ ,然后看着一串 $ ext {abababa}$ 突然发现这个玩意在 $n$ 很大的时候可以优化。

    优化了一点发现跑的贼慢以为这不是正解就跑去打 T3 了。

    考后才想到优化的不彻底,导致一个 $k!$ 没剪掉,就很难受。

    C. Permutation

    考虑字典序相邻的集合。

    打表可知这样的集合存在第一个不同位,并且这一位上的数分别是 $x$ 和 $x+1$。

    接着观察发现后面也挺有规律的。所以推个简单的式子就完事了。

    一堆组合数*权值不好处理。

    考虑提出权值来,然后发现组合数是一个对角线。显然交换成一列就可以直接算了。

  • 相关阅读:
    Hive窗口函数
    自然周与自然月的Hive统计SQL
    Spark中的Join类型
    随机生成验证码类
    mysql看视频笔记
    sql工作记录
    mysql和sqlserver的区别
    mysql的安装配置
    把一个数组遍历倒序放到另一个数组中,数组取值是c:out value
    Echarts雷达代码
  • 原文地址:https://www.cnblogs.com/skyh/p/12368958.html
Copyright © 2011-2022 走看看