• 2024-07-02单调队列(滑动窗口)
    154.滑动窗口-AcWing题库单调队列和单调栈就是在暴力的基础上进行优化,把永远用不到的元素删除。简而言之  就是比你好而且还在你后面的数你永远无法超越他。#include<bits/stdc++.h>usingnamespacestd;#defineintlonglong#defineendl'\n'constintN=5e5+
  • 2024-06-30力扣每日一题 下一个更大元素 II 单调栈 循环数组
    Problem:503.下一个更大元素II思路
  • 2024-06-24力扣每日一题 6/24 模拟 数组 单调栈
    博客主页:誓则盟约系列专栏:IT竞赛专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞
  • 2024-06-23【2024全国赛前多校联考1】逆序对
    题意:给定\(n,K\)。对于\(i=1,2,3,\cdots,n\),你需要求出在所有逆序对数为\(k\)个的排列中\(i\)位置在小根笛卡尔树上的深度之和。数据范围:\(n\le300,K\le\dfrac{n(n-1)}{2}\)。思路:我们要求的是:\[\sum_{inv(p)=K}dep(i)\]这个\(dep(i)\)即\(i\)的祖先个数,考
  • 2024-06-20决策单调性
    决策单调性&DPprefaceDP的决策单调性优化总结-command_block的博客老早就听说了四边形不等式的大名,但听到的更多是"打表发现决策单调性,然后直接做...",所以就学了一下...本文将先介绍四边形不等式,斜率优化(特殊情况满足决策单调性),然后再进入正题至于为什么不讲单调队列,其本
  • 2024-06-18算法课程笔记——单调栈&单调队列
    算法课程笔记——单调栈&单调队列
  • 2024-06-15单调队列优化 dp
    单调队列优化dp适用条件只关注“状态变量”“决策变量”及其所在的维度,如果转移方程形如:\[f[i]=\min_{L(i)≤j≤R(i)}^{}{\{f[j]+cost(i,j)\}}\]则可以使用单调队列优化。具体的,把\(cost(i,j)\)分成两部分,第一部分仅与\(i\)有关,第二部分仅与\(j\)有关。对于每个\(i\)
  • 2024-06-13多重背包 单调队列优化
    https://www.acwing.com/problem/content/6/#include<iostream>#include<memory.h>#include<deque>#include<stdio.h>usingnamespacestd;/*https://www.acwing.com/problem/content/6/有N种物品和一个容量是V的背包。第i种物品最多有si件,每件体积是vi,
  • 2024-06-12[DP] DP优化总结
    写在前面$DP$,是每个信息学竞赛选手所必会的算法,而$DP$中状态的转移又显得尤为关键。本文主要从状态的设计和转移入手,利用各种方法对朴素$DP$的时间复杂度和空间复杂度进行优化与处理,以达到满足题目要求的目的;参考文献:动态规划算法的优化技巧毛子青c++DP总结《算
  • 2024-06-09高考假集训总结(6.9)
    6.9今天依然是单调队列优化dp和斜率优化dp(只不过斜率优化的题还没开始做,具体原因下面讲)突然发现自己学得越多,忘得越多,都想不起来单调队列怎么用了,于是又花一上午跑回去看了单调队列的题并调了一上午的t1暴力做法,现在终于可以将两者融会贯通也就是成功实现了单调队列优化dp不
  • 2024-06-09判定函数单调性和数列单调性的方法
    判定函数和数列的单调性需要使用不同的方法和工具。以下是判定函数单调性和数列单调性的方法:判定函数单调性的方法Step1:使用导数判定单调性对于一个函数f(x)f(x)f(x),可以通过其导数f′(x)f'(x)f′(x)来判定单调性。如果f′(x)>0f'(x)>0f′(x)>0在某个区间上成立,则
  • 2024-06-09如何证明数列收敛
    证明数列收敛的方法主要有以下几种:单调有界定理、子数列收敛性、柯西收敛准则等。下面详细介绍这些方法。方法1:单调有界定理Step1:定义单调有界定理单调有界定理指出:如果一个数列既单调又有界,那么该数列必定收敛。Step2:证明数列单调性和有界性要证明数列{an}\{a_n\}
  • 2024-06-08裁剪序列Cut the Sequence
    首先,我们可以先想一想朴素算法,推出DP,i表示分了几段,则可以推出$$F[i]=min_{1<=j<=i}(f[j]+max_{j+1<=k<=i}(a[k]))$$点击查看代码 memset(f,0x3f,sizeoff); f[0]=0; for(inti=1;i<=n;i++) { for(intj=0;j<i;j++) { inttmp=0;llsum=0; for(intk=j+1;k<=i;k++
  • 2024-06-06P2716 和谐的雪花
    这道题P2716和谐的雪花本质和P2216[HAOI2007]理想的正方形是一模一样的,评蓝有点高了。本题解解法为单调对列。当然,看题目,是可以使用ST表或者线段树之类的做。中心思想就是用单调队列维护固定区间内最大最小值,加上二分答案。根据题意,很容易想象到二分\(n\)的取值,剩下
  • 2024-05-27Monotonic Stack All In One
    MonotonicStackDataStructureAllInOne单调堆栈数据结构errorsfunctiondailyTemperatures(temperatures:number[]):number[]{letanswer=[];for(leti=0;i<temperatures.length;i++){letflag=false;letdays=0;letindex=i;
  • 2024-05-24单调队列&&滑动窗口
    单调队列(MonotonicQueue)是一种特殊的数据结构,可以在常数时间内进行一系列操作,如插入元素、删除元素和获取最大值或最小值。单调队列通常用于解决滑动窗口类问题,其中需要在窗口中维护一些特定性质,例如最大值、最小值或其他聚合函数的值。它具有以下特性:单调性质:单调队列中
  • 2024-05-23四边形不等式 & 决策单调性
    前言某些概念。四边形不等式是dp式子满足决策单调性的必要但不充分条件。决策单调性:对于某个最优化问题而言,若任意的\(i<j\)都满足\(opt(i)\leqopt(j)\),那么称该dp满足决策单调性。(\(opt_i\)表示\(dp_i\)从\(opt_i\)这种情形转移过来)以下先用最基础的问题讨论。
  • 2024-05-22决策单调性优化DP
    @目录决策单调性四边形不等式决策单调性形式1法1分治法2二分队列例题P3515Solution形式2例题P3195Solution形式3例题CF833BSolution形式4例题Solution后话同步发表于CSDN决策单调性四边形不等式定义:对于二元函数\(w(x,y)\),若\(\foralla,b,c,d\in\mathbb{Z}\),且\(a
  • 2024-05-19单调队列
    单调队列考虑在一个序列中维护一个类似于窗口的东西。以下不妨设求得是窗口最大值。首先根据贪心,如果当前数整个窗口中最大的,并且是最靠前的,那么这个数前面的所有数都不会对答案产生一点贡献。于是考虑维护一个单调递增的序列,需要从中找出答案。设置一个首指针,未指针代表这个窗
  • 2024-05-14反函数
    properties定义域和值域:反函数\(y=f^{-1}(x)\)的定义域是函数\(y=f(x)\)的值域,\(y=f^{-1}(x)\)的值域是函数\(y=f(x)\)的定义域单调性:一个函数与它的反函数在相应区间上单调性一致。严格增(减)的函数一定有严格增(减)的反函数对称性:互为反函数的两个函数的图象关于
  • 2024-05-13单调栈的使用
    以leetcode739为例,我们利用单调栈维护一个单调递增数列https://leetcode.cn/problems/daily-temperatures/description/ 通过上述内容,我们一直通过栈顶读取元素,维护数列的单调性。Q:单调栈用于做什么A:求每个元素左(右)侧第一个比他小(大)的元素的位置(具体值)单调栈的维护和操作都
  • 2024-05-13单调栈
    单调栈:可以线性预处理:序列前/后缀最大/小值的位置,或者是第\(i\)个数下一个更小/大数的位置。B3666求数列所有后缀最大值的位置https://www.luogu.com.cn/problem/B3666题意:给一个初始为空的数列\(a\),共\(n\)次操作,第\(i(1\leqi\leqn)\)次操作会在\(a\)的末尾
  • 2024-04-25单调队列优化DP
    单调队列优化dp单调队列可以求某固定区间的最值,所以dp中需要求某固定区间的最值则可以考虑使用单调队列优化单调队列-滑动窗口https://www.luogu.com.cn/problem/P1886/**@Author:Danc1ng*@Date:2024-04-2416:06:34*@FilePath:P1886滑动窗口[模
  • 2024-04-20重建计划 题解
    题意:一棵树,有边权,求边权平均值最大且经过点数在\([L,R]\)的路径长度.Solution首先二分答案\(x\),每条边权减去\(x\)后问题转为求最大路径长度,若答案\(\ge0\)则可行1边分治保平安。先转二叉树,这里有两种方法:一种是像线段树一样建,另一种是普通贪心的建,反正都可以然后边
  • 2024-04-19第六节 极限存在准则 两个重要极限
    第六节极限存在准则两个重要极限准则Ⅱ单调有界数列必有极限.单调增加和单调减少的数列统称为单调数列准则Ⅱ’设函数\(f(x)\)在点\(x₀\)的某个左邻域内单调并且有界,则\(f(x)\)在\(x₀\)的左极限\(f(x₀)\)必定存在.柯西极限存在准则数列\({x_n}\)收敛的