E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
单调队列
[TJOI2019]甲苯先生和大中锋的字符串
TJOI2019]甲苯先生和大中锋的字符串[题目链接]链接[思路要点]$\text{sam}$裸题,但是由于\(\text{sam}\)不熟练,于是用\(\text{sa}\)做建出\(\text{sa}\)之后
单调队列
维护连续
aozhuan8489
·
2020-09-15 22:54
数据结构与算法
滑动窗口(
单调队列
)
给定一个大小为n≤106n≤106的数组。有一个大小为k的滑动窗口,它从数组的最左边移动到最右边。您只能在窗口中看到k个数字。每次滑动窗口向右移动一个位置。以下是一个例子:该数组为[13-1-35367],k为3。窗口位置最小值最大值[13-1]-35367-131[3-1-3]5367-3313[-1-35]367-3513-1[-353]67-3513-1-3[536]73613-1-35[3
alex1997222
·
2020-09-15 22:16
leetcode刷题
【NOIP2017普及组T4】跳房子-二分答案+DP
单调队列
优化
测试地址:跳房子做法:本题需要用到二分答案+DP
单调队列
优化。首先我们发现答案显然具有单调性,于是二分答案,问题转化为判定性问题,即判定跳跃距离在d−g~d+g之间时所能拿到的最大分数是不是≥k。
Maxwei_wzj
·
2020-09-15 21:06
算法-二分
动态规划-普通DP
数据结构-单调队列
[SCOI2007]组队
提交:bzoj1071题目↑↑这道题题意十分简明,很容易明白但是,我经过百般尝试,还是错了QAQ经过xgc的深刻教育,终于理解了这道题做法:用
单调队列
来判断是否能进入队列和是否需要退出队列代码↓↓(xgc
Nick_hhlab
·
2020-09-15 19:48
BZOJ
BZOJ4560 JLOI2016字符串覆盖(kmp+贪心+状压dp+
单调队列
)
首先kmp求出每个子串能放在哪些位置。接下来的两部分贪心和状压都可以,各取比较方便的。最大值考虑贪心。考虑枚举子串的左端点出现顺序,在此基础上每个子串的位置肯定都应该尽量靠前,有是否与上个子串有交两种选择,如果有交一定会使交集最小,于是枚举第一个子串出现位置并暴力枚举4!*23种情况。最小值考虑状压。首先把被包含的子串去掉方便处理。将线段排序,设f[i][S]为当前覆盖到的最右位置为i已出现的子串
weixin_30681121
·
2020-09-15 13:53
多重背包(
单调队列
优化版)
#include#include#includeusingnamespacestd;intn,m;constintN=200010;intf[N],g[N],q[N];intmain(){cin>>n>>m;for(inti=0;i=hh&&k-s*v>q[hh])hh++;if(tt>=hh)f[k]=max(f[k],g[q[hh]]+(k-q[hh])/v*w);while(tt>=hh&&
未来重要
·
2020-09-15 09:43
多重背包之
单调队列
优化理论性总结
多重背包之
单调队列
优化:若用F[j]表示对容量为j的背包,处理完前i种物品后,背包内物品可达到的最大总价值,并记m=min(n,j/v)。
DeepJay
·
2020-09-15 09:25
ACM
[总结]
单调队列
优化多重背包学习笔记
使用
单调队列
,可以把求解多重背包问题的复杂度进一步优化到$O(NM)$把状态j按照除以$V_i$的余数分组,对每一组分别进行计算,不同组之间的状态在阶段i不会互相转移。
weixin_30314813
·
2020-09-15 08:29
单调队列
优化多重背包
前面写的二进制优化多重背包可以把复杂度降到O(m*∑logk[i])而接下来要说的
单调队列
优化可以把复杂度降到O(n*m);我们知道,
单调队列
优化的条件是dp方程可以转移成如下形式dp[i]=max/min
benTuTuT
·
2020-09-15 07:31
技巧
多重背包
单调队列
优化
参考洛谷P1776宝物筛选_NOI导刊2010提高(02)(多重背包,
单调队列
)dp[i][j]dp[i][j]dp[i][j]为前iii个物品,重量不超过jjj的最大价值,www为重量,vvv为价值,
Scar_Halo
·
2020-09-15 07:40
ACM
-
背包DP
多重背包
单调队列优化
BZOJ4182 shopping 点分治+多重背包
单调队列
优化
预备知识:会求重心,会多重背包的
单调队列
优化。
Till_Gloam
·
2020-09-15 07:02
刷题
多重背包(
单调队列
(滑动最大值)+二进制方法)
自己复习用1.
单调队列
法详见《挑战》p340然后我其实不懂为什么在deq[s]==j-m[i]时去掉队首,过几天懂了我来更新,如果你知道的话请告诉我qq2298763866#include#include
nonamenotitle
·
2020-09-15 07:11
算法
noip
动态规划
挑战程序设计竞赛1
队列的最大值(模拟、
单调队列
、常规解法)
文章目录1.题目来源2.题目说明3.题目解析---I.滑动窗口的最大值方法一:模拟+
单调队列
+常规解法4.题目解析---II.队列的最大值方法一:模拟+
单调队列
+常规解法1.题目来源链接:I.滑动窗口的最大值链接
Y_puyu
·
2020-09-15 06:44
#
《剑指-Offer》(第二版)
《剑指-Offer》
模拟
单调队列
常规解法
fzoj Problem 1894 志愿者选拔 【
单调队列
】
题目链接:fzojProblem1894志愿者选拔Problem1894志愿者选拔Accept:1781Submit:5555TimeLimit:1500mSecMemoryLimit:32768KBProblemDescription世博会马上就要开幕了,福州大学组织了一次志愿者选拔活动。参加志愿者选拔的同学们排队接受面试官们的面试。参加面试的同学们按照先来先面试并且先结束的原则接受面试官们的考
笑着走完自己的路
·
2020-09-15 04:55
栈&&队列
剑指Offer——JZ64.滑动窗口的最大值【
单调队列
】
题目传送门题解可以暴力求解,时间复杂度O(nk)O(nk)O(nk)考虑iii和i+1i+1i+1共存的区间:如果num[i]num[i+1]num[i]>num[i+1]num[i]>num[i+1],那么需要保留num[i+1]num[i+1]num[i+1],因为,当num[i]num[i]num[i]不在区间内的时候,num[i+1]num[i+1]num[i+1]可能是最大值。所以我们可
nirvana · rebirth
·
2020-09-15 04:18
剑指Offer
队列
数据结构
算法
queue
ACM-ICPC 2018 徐州赛区网络预赛G (
单调队列
)
传送门题面:There'sabeachinthefirstquadrant.Andfromtimetotime,thereareseawaves.Awave(xx,yy)meansthewaveisarectanglewhosevertexesare(00,00),(xx,00),(00,yy),(xx,yy).Everytimethewavewillwashoutthetraceofformer
weixin_30603633
·
2020-09-15 03:47
【CCF 201312-3】最大的矩形(单调栈) & 【POJ 2823】Sliding Window(
单调队列
) Apare_xzc
最大的矩形(单调栈)&SlidingWindow(
单调队列
)今天刷CCF的时候碰到了最大的矩形这个题,顺便复习了一下单调栈和
单调队列
SlidingWindowPOJ2823题目链接#include#include
Apare_xzc
·
2020-09-15 01:55
CCF
POJ
解题报告
环路运输(
单调队列
+环形处理)
传送门此题是环状结构,处理的方式是把环断开,复制一倍接在末尾,形成长度为2n的链。#include#includeusingnamespacestd;constintMAXN=1e6+5;constintINF=0x3f3f3f3f;intn;intvalue[MAXN*2];intmonotoneQueue(){dequeq;intans=-INF;q.push_back(1);for(inti
HOGWARTS333
·
2020-09-14 20:09
算法竞赛进阶指南刷题
单调栈和
单调队列
单调栈单调栈模板题给出一串序列,对于每个位置,要你求出这个位置左边第一个比它小的数,如果用暴力算法的话,很明显就要O(n2)的复杂度了。而神奇的单调栈可以用O(n)解决此问题。假设此刻我们扫描到了位置cur,则对于另外两个位置i,j(istk;for(inti=1;i=a[i]){stk.pop();}if(stk.empty())cout=prefix[j],则此时的i肯定是无用的位置,因为构成
HOGWARTS333
·
2020-09-14 20:09
P6040 「ACOI2020」课后期末考试滑溜滑溜补习班(
单调队列
优化dp)
题目连接:https://www.luogu.com.cn/problem/P6040思路:如果不考虑数据范围,dp[i]=min(dp[i-j]+a[i]+k+(i-j-1)*d)(i-xusingnamespacestd;typedeflonglongll;constintN=1e7+10;inta[N],n,x,tp,Seed;lldp[N]={0},k,d;intque[N];inline
WA掘机
·
2020-09-14 20:20
一A
dp
洛谷
【jzoj2170】【DP】【
单调队列
】跳棋
题目描述小明迷恋上了一个新的跳棋游戏,游戏规则如下:棋盘是一排从0开始,顺序编号的格子,游戏开始时你位于0号格子,你每次只能往编号大的格子跳,而且你每次至少需要跳过L个格子,至多只能跳过R个格子。每个格子都有一个给定的伤害值,显然你希望得到的伤害值越少越好。你能告诉小明他当他跳到最后一个格子时受到的累积伤害值最小为多少吗?如果无论如何小明都无法跳到最后一个格子,这个时候你需要输出”-1”。*注:*
lnm_lym
·
2020-09-14 19:01
DP
单调队列
jzoj
BZOJ 1047 [HAOI2007]理想的正方形
【题解】
单调队列
。
weixin_30663471
·
2020-09-14 07:00
2020 松中暑假集训 15 天
2020松中暑假集训15天正经的学习总结学了LCAHASH拓扑离散化并查集单调栈线段树树状数组树形DP状压DP
单调队列
打了62篇博客这是第63篇还有3篇未打4题未做2题为改乱七八糟的杂记机房第一次吃KFC
ssl_yty
·
2020-09-14 07:23
笔记
bzoj1047[HAOI2007]理想的正方形
单调队列
早就看过这题了,解法其实很简单啦,但是我
单调队列
经常打错,然后没什么信心去搞这题==最后想了想还是要锻炼一下自己就来刚了一波。
Transcendence_magia
·
2020-09-14 07:22
bzoj
单调队列
神奇脑洞题
洛谷P3572 [POI2014]PTA-Little Bird【
单调队列
优化DP】
时空限制1000ms/128MB题目描述IntheByteotianLineForesttherearentreesinarow.Ontopofthefirstone,thereisalittlebirdwhowouldliketoflyovertothetopofthelasttree.Beinginfactverylittle,thebirdmightlackthestrengthtoflyt
niiick
·
2020-09-14 04:16
单调队列
动态规划--数据结构优化DP
[luogu]P3572 [POI2014]PTA-Little Bird(
单调队列
)
P3572[POI2014]PTA-LittleBird题目描述IntheByteotianLineForesttherearenntreesinarow.Ontopofthefirstone,thereisalittlebirdwhowouldliketoflyovertothetopofthelasttree.Beinginfactverylittle,thebirdmightlackthes
a6823202
·
2020-09-14 03:14
玲珑学院OJ 1149-Buildings-(RMQ+二分)
听说
单调队列
更省时?#include#include#include#include#include#include#
信仰..
·
2020-09-13 18:38
RMQ
A - Jumping Buildings Gym - 102302A(
单调队列
,找这个数右边第一个比他大的数)
BobisdevelopinganewgamecalledjumpingLario.Inthisgamethemainprotagonist,Lario,hastojumpontopofbuildingsuntilhereachestheendofthelevel.TheleveliscomposedofNbuildingsofpossiblydifferentheights.Thebuildin
tomjobs
·
2020-09-13 18:23
#
gym
Jumping Buildings-
单调队列
原题链接:JumpingBuildings原题:D.JumpingBuildingstimelimitpertest2.0smemorylimitpertest64MBinputstandardinputoutputstandardoutputBobisdevelopinganewgamecalledjumpingLario.Inthisgamethemainprotagonist,Lario,h
四年rain
·
2020-09-13 17:50
水题
STL
BZOJ1023:[SHOI2008]cactus仙人掌图(圆方树,DP,
单调队列
)
Description如果某个无向连通图的任意一条边至多只出现在一条简单回路(simplecycle)里,我们就称这张图为仙人掌图(cactus)。所谓简单回路就是指在图上不重复经过任何一个顶点的回路。举例来说,上面的第一个例子是一张仙人图,而第二个不是——注意到它有三条简单回路:(4,3,2,1,6,5,4)、(7,8,9,10,2,3,7)以及(4,3,7,8,9,10,2,1,6,5,4),
weixin_33794672
·
2020-09-13 17:19
bzoj1023: [SHOI2008]cactus仙人掌图
1023思路:类似树形DP记录一个f[i]表示最远(因为有环,所以这个定义是有一些限制条件的)先用点双缩点,每个环的信息可以挂到最高点上树上的差不多对于环上的,从一边扫过去,因为dis(i,j)有单调性,用
单调队列
搞一搞即可更详细的题解
weixin_30477293
·
2020-09-13 16:24
[仙人掌直径
单调队列
DP] BZOJ 1023 [SHOI2008]cactus仙人掌图
题解:http://z55250825.blog.163.com/blog/static/150230809201412793151890/http://hzwer.com/4645.html#include#include#includeusingnamespacestd;typedeflonglongll;inlinecharnc(){staticcharbuf[100000],*p1=buf
里阿奴摩西
·
2020-09-13 16:24
仙人掌
DP
单调队列
bzoj1023 [SHOI2008]cactus仙人掌图 树形DP+
单调队列
大概能想到DP求解,但是
单调队列
真心被震惊到了==设f[x],表示以x为起点(从上往下)的最长路径,对于树边/非树边分别转移,树边当让直接转移了,主要是非树边,非树边就是环上边,我只用环上的点更新f[x
Transcendence_magia
·
2020-09-13 16:03
bzoj
DP
神奇脑洞题
单调队列
树形DP
BZOJ1023: [SHOI2008]cactus仙人掌图(
单调队列
优化DP)
传送门题意:求一颗仙人掌的直径。题解:DP。首先建出图的DFS树。因为是仙人掌图,所以每个环必定有一个dfs序最小的点,连接着若干条后向边和树边,表示环上的边或者割边。记录f[i]表示dfs树上以i为根的子树(子图)中最长链。考虑DP:1.对于一条割边,对答案的影响为f[i]+f[v]+1,之后直接f[i]=max{f[i],f[v]+1}。2.对于环边先不处理,等到dfs完所有子树后重新枚举边查
DZYO
·
2020-09-13 16:03
DP及DP优化
洛谷 P4244 [SHOI2008]仙人掌图 II(圆方树+
单调队列
)
题目链接题意求仙人掌直径思路圆方树,树形dp,dp[u]表示以u为根节点最长链建圆方树,将点双判断仙人掌改改就好原点到原点,正常dp原点到方点,正常dp方点到原点,圆点各点加上方点父亲节点应该是一个环,然后对这个环用基环树求直径(
单调队列
ToRe.
·
2020-09-13 15:27
圆方树
栈
队列
BZOJ 1023 [SHOI2008]cactus仙人掌图:圆方树+
单调队列
DP
题目传送门题意:给出一个仙人掌图,边权都为1,求其直径。仙人掌图:无向图的每条边至多存在于一个简单环中。仙人掌图直径:Max(dis(u,v))1#definepb(x)push_back(x)usingnamespacestd;constintmaxn=1e5+100;vectorE1[maxn],ET[2*maxn],LenT[2*maxn];intdfn[maxn],fa[2*maxn],l
calabash_boy
·
2020-09-13 15:10
仙人掌
BZOJ
POJ
洛谷
【DP】 BZOJ 1023: [SHOI2008]cactus仙人掌图
分成环形dp和树形dp,然后环形dp用
单调队列
做。。。。
yysys
·
2020-09-13 15:05
DP
POJ--3567[Cactus Reloaded] 求仙人掌树的直径
(3):缩点之前还要对W[u]大于1的那些点进行两两组合更新答案*/PS.Discuss里说要用树形DP+
单调队列
优化,表
__简言
·
2020-09-13 15:13
POJ
图论
BZOJ 1023 SHOI2008 cactus仙人掌图 仙人掌DP
以及每个点双中有哪些点有些点双可能不是环,我们可以补上一条边看成环,无伤大雅每次DP时,首先枚举环的根节点以外的点,对这些点所在的其它点双DP一遍然后令f[x]为以x为根的子仙人掌的所有点和x之间的最大距离然后我们将环倍增用
单调队列
来更新答案保证决策点和被更新点的距离不超过环长度的一半
PoPoQQQ
·
2020-09-13 15:07
BZOJ
Tarjan
单调队列
树形DP
【题解】SHOI2008仙人掌图
但没有发现\(n^{2}\)的dp明显是一个可以
单调队列
优化的dp。所以在遇上难解决的问题的时候,一定要融会贯通地思考。有一个细节:将圆复制一下可以去掉\(max\)造成的影响,dp就十分方便了
weixin_30583563
·
2020-09-13 14:07
BZOJ1023: [SHOI2008]cactus仙人掌图
建出圆方树像普通找直径那样dp一下环上的dp要维护一个
单调队列
code:#include#include#include#include#include#include#include#include#
L_0_Forever_LF
·
2020-09-13 14:02
BZOJ
DP
仙人掌
2021秋招-算法-滑动窗口算法框架
算法-滑动窗口算法框架大佬整理1/3-我写了套框架,把滑动窗口算法变成了默写题大佬整理2/3-滑动窗口算法解决子串问题大佬整理2/3-
单调队列
解决滑动窗口问题框架整理:关于双指针的快慢指针和左右指针的用法
LBJ_King2020
·
2020-09-13 11:12
动态规划优化
单调队列
简述函数f[i],转移如下:f[i]=min(g[j])其中g[j]是关于j或f[j]的一个函数,且b[i]≤j#includeusingnamespacestd;constintmaxn=105
inrence
·
2020-09-13 08:33
Algorithms
提高组小目标
只有几天noip了努力一把定几个小目标1栈,单调栈洛谷P1886Accepted洛谷P2032Accepted洛谷P1638Accepted洛谷P1725Acceptedpoj25592队列,
单调队列
洛谷
maorui00100
·
2020-09-13 05:49
私密
我的程序
2019年5月做题记录
洛谷P2032(
单调队列
)洛谷P1638(尺取法)洛谷P1714(尺取法)洛谷P2947(
单调队列
)洛谷P1886(
单调队列
)洛谷P1901(
单调队列
)洛谷P3805(Manacher算法)洛谷P1217
FairyTail0423
·
2020-09-13 04:59
单调队列
专题
对于
单调队列
,我们这样子来定义:1、维护区间最值2、去除冗杂状态如上题,区间中的两个元素a[i],a[j](假设现在再求最大值)若j>i且a[j]>=a[i],a[j]比a[i]还大而且还在后面(目前a
M__HD
·
2020-09-12 22:43
Java后端面试真题+经验分享
5、回溯算法6、二叉树、前中后虚(图考察的很少,只有笔试偶尔遇到)7、DFS、BFS算法8、单调栈、
单调队列
二、操作系统1
耶亚希
·
2020-09-12 14:15
Java
Java面试
Java后端
java
后端
单调队列
优化多重背包(pascal及翻译过去的C代码)
我最开始接触的相对高级的DP算法是从背包问题开始的。那是上学期新生赛的事,当时,在第二轮选拔赛中,有一道可能算是贪心算法的题,但是在我眼里却觉得这是一道背包问题。于是,我求助我们学校的大牛,问一下有什么关于背包算法的,而且比较容易让我弄懂的资料,最终他介绍我看《背包九讲》。那时,甚至到现在,我只会基础的0-1背包,完全背包,多重背包的O(NClogC)算法……一直卡着我的是多重背包的O(NC)算法
weixin_34415923
·
2020-09-12 07:35
Atcoder AGC007E : Shik and Travel(DP)
我们可以对一个点维护一个子树所有这样的状态的
单调队列
,合并后显然大小为较小子树的大小*2。时间复杂度O(nlog2n)O(nlog2n)。
DZYO
·
2020-09-12 06:39
DP及DP优化
二分与三分
2015-2016 ACM-ICPC Southwestern Europe Regional Contest (SWERC 15) C题Canvas Painting(
单调队列
)
题目大意:给你n个长度为ai的数字,要求算出来把他们分成不同颜色需要涂最小数目,涂色的方式是:选择一个颜色C然后选一个数量F,数量F的要求是小于颜色C所拥有的数量,将前F个涂成一种颜色,剩余颜色为C的涂成另外一种颜色解题思路:一般来说,要想让其花费最少,需要尽可能的多改动小的,但是顺着想其实想不出来,应该倒着想,结果是他们都不一样,我现在希望能够把他们变成一样的,这样的话就是一个优先队列的问题了,
丶先森
·
2020-09-12 06:33
ACM算法
ACM-ICPC真题
模板题
上一页
7
8
9
10
11
12
13
14
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他