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

    A. 飞行棋

    由于题目中给出了一些奇怪的条件,所以大概可以想到暴力模拟这个过程迭代若干轮。

    考虑如何比较好的进行迭代的过程,处理出一个数组 $f_{i,j}$ 表示在恰好第 $i$ 轮从 $j$ 这个位置走到 $n$ 的概率。

    那么考虑随时维护一个数表示游戏还没结束的概率,每次加入一个数转移即可。

    B. 字符串难题

    由于是求并集的大小,可以考虑容斥,那么转化为求每个子集交集的大小。

    这个东西只要依次考虑每一位,考虑当前有多少个问号还没被确定就可以了。

    似乎不是很难,考场最后想到了正解,叕打不完了,自闭。

    C. 障碍雷达

    首先可以发现,收益是个初值为0的二次函数,代价是一次函数,那么可以猜想必然存在一种最优解,使得每个雷达要么选最大的纵坐标,要么不选。

    所以就有了 $n^2$ 的暴力dp。考虑怎么优化这个玩意。

    假如说按照 $x$ 排序,那么由于最大横坐标的不单调没有决策单调性,所以可以考虑按照 $x-y$ 排序。

    于是就是裸的决策单调性优化了。

    关于决策单调性的优化,题解的做法是用单调队列维护每个点的决策区间,通过二分维护。

    简单的做法是类似 cdq 分治的方法,用分治区间的左边更新右边即可。

  • 相关阅读:
    OpenGL中 Canvas 性能分析
    美颜重磅技术之GPUImage源码分析
    为什么我推荐你用Ubuntu开发?
    使用TensorFlow进行训练识别视频图像中物体
    常用 Git 操作
    JavaScript 禁止表单提交
    AngularJS 解决 SEO 问题
    Linux 命令
    重装Ubuntu系统并配置开发环境
    php开发入门教程
  • 原文地址:https://www.cnblogs.com/skyh/p/12347493.html
Copyright © 2011-2022 走看看