【算法】算法思想合集

news2024/9/21 17:32:20

数组分块

  1. 将数组分成具有某些特征的段
  2. 使用双指针算法(如果是数组,使用下标充当指针)
  3. 存在信息丢失的问题,可以考虑从后向前进行
  4. 利用单调性进行定性分析(盛最多的水)
    滑动窗口
  5. 同向移动的双指针
  6. 出窗口一般是while
  7. 必须具备单调性

二分查找

  1. 如果left=mid,那么mid就应该是右边的
  2. 如果right=mid,那么mid就应该是左边的
    这两点是为了防止取中的时候,left或right会在原地不动,造成死循环
  3. 只要有二段性,就是根据各段的性质,对于mid位置进行判断,看其符合哪段的性质
  4. 找二段性是非常重要的一环

前缀和

  1. 和可被k整除的子数组:
    a. 同余定理:(a-b)%p = k —> a%k = b%k
    b. 负数 % 正数 修正为正数: ((a % p) +p ) % p
  2. 前缀和需要考虑的特殊情况:
    a. 从后往前倒着来
    b. 可以不使用前缀和数组,而是使用hash表进行记录

位运算

  1. 提取最低位1(low bit)
    a. n & (-n)
  2. 干掉最低位1
    a. n & (n-1)
    本质就是低位的0减不动1,只能一直向前直到最低位的1才能开始减
  3. 异或
    a. 三个数异或 就相当于给这三个数做无进位相加,就相当于给这三个数的1进行抵消,并且不考虑顺序问题

动态规划

  1. 状态表示
    经验 + 题目要求:以 i 位置为结尾 / 开头,xxx
    明确 dp 的每个位置的含义。
  2. 结尾:这个位置的状态不需要使用到后面的信息
    这种方式也可以使用 贪心
  3. 开头:需要用到后面的信息
  4. 状态转移方程
    以 i 位置最近的状态进行分析 i 位置的状态应该怎么来。
    就是 i-1,i-2 等位置的状态怎么能到 i。
  5. 初始化
    dp 表需要明确最开始的几个状态,有了这几个状态,后续的才能开展。
  6. 填表顺序
    状态的填充应该是从哪里到哪里。
  7. 返回值
    题目中需要的是不是最后一个状态。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2152904.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

内存:生成式AI带来全新挑战与机遇

之前小编也写过多篇AI存储相关的文章,包括AI背景与分层存储的分析,以及AI存储重点从训练转向推理等内容。具体参考: 深度剖析:AI存储架构的挑战与解决方案 存储正式迈入超大容量SSD时代! 这可能是最清晰的AI存储数据…

多线程篇七

多线程篇七 若笔者理解有误,欢迎交流指正⭐ 定时器 什么是定时器 听到定时器,首先想到的是“闹钟”.到一个设置好的时间之后就执行某个指定好的代码.(在实际开发中非常常用,如网络通信【邮件发送】) 你在抢演唱会门票,已经到了…

使用madExcept检测内存泄漏

代码异常堆栈跟踪:Mad Except 一、安装 官网 运行,选择madExcept5然后安装。 输入yes继续 二、使用 新建一个VCL项目 在project中多了一项设置 选择OK后会发现项目多了几个引用单元。 此时运行程序,再退出,会显示没有任何内存…

prober found high clock drift,Linux服务器时间不能自动同步,导致服务器时间漂移解决办法。

文章目录 一、场景二、问题三、解决办法(一)给服务器添加访问网络能力(二)手动同步1. 检查有没有安装ntp2. 没有安装ntp则离线安装ntp2.1 下载安装包2.2 安装2.3 启动 ntp 3. 设置内部时钟源3.1 编辑/etc/ntp.conf3.1 重启ntp服务…

2010-2020年全国30个省以GDP为核心的区域经济韧性数据(含原始数据+代码+结果)

2010-2020年全国30个省以GDP为核心的区域经济韧性数据(含原始数据代码结果) 1、时间:2010-2022年 2、来源:统计年鉴、各省年鉴、国家统计局 3、指标:地区生产总值 4、范围:30省 5、参考文献: 数字经济及其内部耦…

页面关键路径渲染详解

关键路径渲染 浏览器不会等待全部资源都下载完后才进行渲染,而是采用渐进式的渲染方式,本文就介绍一下这种渐进式的渲染方式。 当浏览器获取到用于呈现网页的资源后,通常就会开始渲染网页。那么究竟是在什么时候就会开始渲染? …

Visual Studio 2022 - QT 环境中文字符乱码问题

Visual Studio 2022 - QT 环境中文字符乱码问题 一、Visual Studio 2022 - Qt 环境 在 QT 中使用中文字符串常会出现乱码现象&#xff0c;如下&#xff1a;以下提供了几个解决方法&#xff0c;仅供参考 QString str "百香果真是一直可爱的小猫咪"; qDebug() <…

RK3568笔记六十:V4L2命令测试

若该文为原创文章,转载请注明原文出处。 测试V4L2是想移植韦老师的相机程序,但他使用的是V4L2方式采集摄像头。 而正点原子的rknn使用的是opencv。 这里记录测试过程 一、常用调试命令 1、抓取图像 使用 v4l2-ctl 抓取一帧图像:v4l2-ctl -d /dev/video0 --set-fmt-video…

EmptyDir-数据存储

1.EmptyDir EmptyDir是最基础的Volume类型&#xff0c;一个EmptyDir就是Host上的一个空目录。 EmptyDir是在Pod被分配到Node时创建的&#xff0c;它的初始内容为空&#xff0c;并且无须指定宿主机上对应的目录文件&#xff0c;因为kubernetes会自动分配一个目录&#xff0c;当…

vulnhub(12):bob 1.0.1(gpg文件解密)

端口 nmap主机发现 nmap -sn 192.168.72.0/24 ​ Nmap scan report for 192.168.72.169 Host is up (0.00020s latency). ​ 169是新出现的机器&#xff0c;他就是靶机 nmap端口扫描 nmap -Pn -sV 192.168.72.169 -p- --min-rate 10000 -oA nmap/scan 扫描开放端口保存到 nmap…

【Verilog学习日常】—牛客网刷题—Verilog快速入门—VL17

用3-8译码器实现全减器 描述 请使用3-8译码器和必要的逻辑门实现全减器&#xff0c;全减器接口图如下&#xff0c;A是被减数&#xff0c;B是减数&#xff0c;Ci是来自低位的借位&#xff0c;D是差&#xff0c;Co是向高位的借位。 3-8译码器代码如下&#xff0c;可将参考代码添…

论文阅读:Omni-Kernel Network for Image Restoration

论文地址&#xff1a;https://ojs.aaai.org/index.php/AAAI/article/view/27907 项目地址&#xff1a;https://github.com/c-yn/OKNet 发表时间&#xff1a;2024 图像恢复的目的是从一个退化的低质量的观测中重建一个高质量的图像。最近&#xff0c;Transformer模型由于其强大…

upx魔改壳大全

一&#xff0c;ELF程序 &#xff08;一&#xff09;overlay_offset被修改 将此标志修改为正确的***F4 00 00 00***即可用工具正常脱壳 二&#xff0c;EXE程序 &#xff08;一&#xff09;upx标志位被修改 将三个错误标志修改为正确的***UPX0***UPX1***UPX!***即可用工具正常…

利用JAVA写一张纸折叠珠穆拉玛峰高度

public class zhumulama {public static void main(String[] args) {double height 8848860;double zhi 0.1;int count 0;while(zhi < height){zhi*2;//每次折完厚度count;//计数}System.out.println("一共需要折"count"次");System.out.println(&qu…

灵当CRM系统index.php存在SQL注入漏洞

文章目录 免责申明漏洞描述搜索语法漏洞复现nuclei修复建议 免责申明 本文章仅供学习与交流&#xff0c;请勿用于非法用途&#xff0c;均由使用者本人负责&#xff0c;文章作者不为此承担任何责任 漏洞描述 灵当CRM系统是一款功能全面、易于使用的客户关系管理&#xff08;C…

C++ ——日期类的实现和注释浅解

目录 日期类实现 1. 日期天数 2. 日期天数 3. 日期-天数 3.1 日期-天数 4. 比较运算符 5. 日期-日期 6. 代码汇总 Date.h Date.cpp Test.cpp 日期类实现 1. 日期天数 // d1 100 //可以改变d1&#xff0c;所以可以直接相加 Date& Date::operator(int day) {//如…

2024年中国研究生数学建模竞赛F题思路代码模型文章——X射线脉冲星光子到达时间建模

2024年中国研究生数学建模竞赛F题 X射线脉冲星光子到达时间建模 脉冲星&#xff08;Pulsar&#xff09;是高速自转的中子星&#xff0c;具有体积小、密度大的特征。脉冲星的高速自转会形成脉冲&#xff0c;而脉冲的周期其实就是脉冲星的自转周期 。在旋转过程中&#xff0c;脉…

2024年华为杯研赛(B题)数学建模竞赛解题思路|完整代码论文集合

我是Tina表姐&#xff0c;毕业于中国人民大学&#xff0c;对数学建模的热爱让我在这一领域深耕多年。我的建模思路已经帮助了百余位学习者和参赛者在数学建模的道路上取得了显著的进步和成就。现在&#xff0c;我将这份宝贵的经验和知识凝练成一份全面的解题思路与代码论文集合…

CleanClip --- 为Mac用户打造的智能剪贴板管理利器

CleanClip是一款专为Mac用户设计的强大剪贴板管理工具&#xff0c;旨在提升用户的工作效率和数据管理体验。它通过智能化的剪贴板内容管理&#xff0c;实现了Mac系统与用户操作之间的无缝衔接。CleanClip支持多种连接方式&#xff0c;包括系统级的快捷操作和自定义快捷键&#…

虚拟机VMware安装+centos8

1、安装虚拟机 这里以VMware-workstation-full-14.1.1-7528167.exe为例进行安装虚拟机。 注意win11&#xff0c;不能安装14的版本&#xff0c;新建虚拟机打开会崩的。建议换成16版本的。 此处安装的为centos7版本&#xff0c;双击就可以开始安装了。 选择下一步 勾选我接受&a…