• 枚举(前缀和/差分、尺取、状压)、贪心


    枚举(前缀和/差分、尺取、状压)、贪心

    邓丝雨 (2021.1.11)

    (zhanglichen 2021.2.19)

    什么是算法?

    先来一道题:NC16669

    给出一个序列,对它去重并排序。

    时间复杂度和空间复杂度

    略。

    枚举

    例1:最大正方形

    在一个(n*n(n<=100))的矩阵中求一个最大的正方形使得该正方形的四个顶点都是由字符'#'构成。设计算法求解。

    例2:NC16438回文日期

    在两个日期之间有多少个日期是回文日期。

    每一年的回文日期最多只有1个,以此可以(O(n))枚举。

    前缀和

    例3:给定长度为(n)的整数序列(a),找到一组(a_i)(a_j),(i<j),使得(|a_i-a_j|)最大,设计算法求解

    开一个数组记录后缀最大最小值,即可(O(n))求解。

    例4:数列求和问题

    给出一个数列,(q)次询问,每次询问区间和。

    前缀和求解。时间复杂度(O(n))

    差分

    例5:数列修改问题

    给出一个数列,(m)次修改,每次对一段区间加上一个数,最后输出修改后的序列。

    差分求解。时间复杂度(O(n))

    二维前缀和

    例6:[HNOI2003]激光炸弹

    尺取

    例7:POJ3061 Subsequence

    给定长度为(n)的正整数序列以及整数(S),求解总和不小于(S)的连续子串的最小值。

    思路:前缀和+二分 or 尺取Two Pointer

    例8:NC18386 字符串

    DP

    例9:NC20241 [SCOI2005]扫雷

    状压

    例10:NC106350 Flip Game

    贪心

    例11:排队接水

    (n)个人在接水,每个人需要花费(t_i)时间。

    请你找一个排队顺序,使得平均等待时间最少。

    例12:NC16783 拼数

    例13:NC16561国王的游戏(高精度)

    例14:NC25043 Protecting the Flower

  • 相关阅读:
    Matlab将字符串改成变量名-eval
    Workbench-材料库
    UG-装配
    FreeCAD将Macro自定义到工具栏
    FreeCAD加载ui文件显示于组合浏览器
    字符生成线条字-xdd1997
    ANSYS求解器
    常用物理量及其单位以及材料信息
    Appium | UiAutomator exited unexpectedly with code 0, signal null
    【转】windows改变Sublime选中背景颜色
  • 原文地址:https://www.cnblogs.com/zhanglichen/p/14418182.html
Copyright © 2020-2023  润新知