————单调栈
BAJim_H
比孤独更可悲的事情,就是根本不知道自己很孤独,或者分明很孤独,却把自己都骗得相信自己不孤独。
展开
-
[JZOJ5187]【NOIP2017提高组模拟6.30】tty's maze
Descrption给出一个N*M的矩阵,每个格子有正整数权值,每一列的格子权值都是一样的,上下左右走格子,第一次走到这个格子可以获得之,总共可以走K个格子(走过的也算)。第一行可以瞬移到最后一行求最大获得权值 N,M<=1e7,权值<=1e7,K<=nmSolution第一行可以一步走到最后一行,这意味着,从左向右走,无论我们从哪一个位置进入这一列,都可以不走重复路的获得完这一列的权值,因为一进原创 2017-07-01 15:38:55 · 363 阅读 · 0 评论 -
[JZOJ6223] 互膜 【线段树】【单调栈】【DP】
DescriptionSolution我们可以设一个朴素的DP记f[i][0/1]f[i][0/1]f[i][0/1]表示第i−1i-1i−1轮上一个人是否操作了i这个位置,当前先手-当前后手的权值的最大值。显然Ans=Sum+f[1][0]Ans=Sum+f[1][0]Ans=Sum+f[1][0]容易得到转移f[i][0]=−f[i+1][1]+s[i]f[i][0]=-f[i+1...原创 2019-06-30 22:15:18 · 220 阅读 · 0 评论 -
[JZOJ6051]【NOI2019模拟2019.3.11】Cubelia【单调栈】
DescriptionSolution很有意思的题,不过后来感觉也挺套路的首先我们先将序列a做前缀和,设前缀和数组为s那么对于一个子区间[l,r],其中的最大前缀和为max(s[x]−s[l−1]),x∈[l,r]max(s[x]-s[l-1]),x\in[l,r]max(s[x]−s[l−1]),x∈[l,r]我们发现s[l−1]s[l-1]s[l−1]是确定的,那么变成了求子区...原创 2019-03-13 20:56:35 · 406 阅读 · 0 评论 -
【USACO 2018 December Contest, Platinum Problem 1】Balance Bea [JZOJ100128] 鱼戏团表演
Description以下是翻译魔改版题面:胖头鱼的睿智终于被主人发现了。他被送往鱼戏团进行摸鱼表演。具体地说,他周围有1到n这么多个池子,而他的目的就是逃出鱼戏团。作为胖头鱼,他自然拥有常人所不及的智慧。通过学习与模仿,他掌握了在池子间跳跃的方法。假设他目前在第i个池子,接下来每一时刻他能选择:(1)纵身一跃并随机掉进第i+1或第i-1个池子。(2)在这个池子中运用胖头尝试逃出鱼戏团...原创 2019-02-26 22:36:51 · 437 阅读 · 0 评论 -
[JZOJ5976] 打怪兽 【DP】【决策单调性】
DescriptionSolution首先发现性质可以看出,如果上一次叠的甲还没有掉完,那么此时是不会叠甲的因为这时候叠甲,不如把这些甲移到上次一起叠,那么肯定是更优的。那么现在就相当于用若干个下降且不交的三角形来覆盖这个序列。考虑DP设F[i][j]F[i][j]F[i][j]表示1到i-1我们已经处理完了,已经花了j层甲,现在是一层也没有的最大总挡掉的伤害值。要么直接从i-...原创 2018-12-15 21:21:42 · 367 阅读 · 0 评论 -
[JZOJ5936]【NOIP2018模拟10.29】逛公园
Description策策同学特别喜欢逛公园,公园可以看做有n个景点的序列,每个景点会给策策带来di 的愉悦度,策策初始有x0 的愉悦度,然而愉悦度也是有上限的,他在每个景点的愉悦度上限为Li ,策策想要从 l 到 r这一段景点中选择一段景点参观(从这一段的左端点逛到这一段的右端点),策策想知道他最终的愉悦度的最大值是多少,你能帮帮他吗?(区间可以为空,也就是说答案最小为x0 )n,di,q...原创 2018-10-29 22:34:10 · 266 阅读 · 0 评论 -
【杂题】[BZOJ4709]【JSOI2011】柠檬
Description有一个长度为n的序列a你需要这个序列分成若干段,每个段可以任意指定一个数t,设v为t在这段中出现的次数,这一段的收益就是v2∗tv^2*tv2∗t求最大的总收益和n≤100000,ai≤10000n\leq 100000,ai\leq 10000n≤100000,ai≤10000Solution显而易见的是,最优情况下任何一段的开头和结尾的数都是相同的,且都是我们...原创 2018-10-31 11:49:49 · 305 阅读 · 0 评论 -
[JZOJ5451]【NOIP2017提高A组冲刺11.4】Genocide
Description Solution50分的非常简单,原式可以拆成一个斜率的式子,我们可以用一个单调栈进行斜率优化(为什么是栈而不是队列,可以自行画个图)考虑100分 对于某一个点的更改,只需要求出必须选这个点的最优答案和不选这个点的最优答案。不选这个点的答案非常好求,可以倒过来做一遍DP 设fif_i表示1到i的答案,gig_i表示i到N的答案 那么不选的答案就是fi−1+gi+1f_原创 2017-11-05 22:27:40 · 271 阅读 · 0 评论 -
[JZOJ5415]【NOIP2017提高A组集训10.22】公交运输
Description 城市中有一条长度为n的道路,每隔1的长度有一个公交车站,编号从0到n,学校在0号车站的位置。其中每个公交车站(除了n号车站)有两个属性ci和vi,代表从这个公交车站出发的公交车的性质。ci代表这个从i出发的公交车,相邻两个停靠站之间的距离。vi表示每坐1站的花费。 注意,一辆公交车出发后会向n号车站的方向行进。同时,一名乘客只能从起点站上车,但可以从任意停靠站下车。原创 2017-10-24 16:32:35 · 236 阅读 · 0 评论 -
[JZOJ5396]【NOIP2017提高A组模拟10.6】Blocks
Description Solution既然随便操作 问题可以转化成求极大的区间,区间平均数大于等于K可以每个点减掉K求前缀和。 从左向右扫描,应该考虑二分。 但是前缀和并不是单调的。然而显然可以对于前缀和再做一次前缀取min,正确性显然。复杂度NMlogNNMlog N 可能加上某些奇技淫巧优化可以通过。事实上前缀取min的过程,相当于取单调的过程对于左端点l1,l2l_1,l_2 如原创 2017-10-06 16:40:29 · 339 阅读 · 0 评论 -
[JZOJ5402]【NOIP2017提高A组模拟10.8】God Knows (口胡)
Description Solution设f[i]f[i]表示前i个点已经被解决了,并且第i个点选,最小代价。 那么可以考虑转移 f[i]=min(f[j]+c[i]),j<i,p[j]<p[i]f[i]=min(f[j]+c[i]),j<i,p[j]<p[i]且∀k,j<k<i,p[k]<p[j]或p[k]>p[i]\forall k,j<k<i,p[k]<p[j]或p[k]>p[i] 即原创 2017-10-17 16:42:46 · 534 阅读 · 0 评论 -
一类三维子长方体计数问题【计数】
Description有一个n∗m∗ln*m*ln∗m∗l的长方体,每个位置有0/1的权值对于每个为1的位置,要求包含这个位置且内部全为1的子长方体个数。n≤60n\leq 60n≤60Solution我们不妨考虑二维该如何数子矩形。如果我们枚举每个合法的矩形,矩形内部+1,可以在左上角,右下角+1,左下右上-1,做一遍二维前缀和就可以得到答案,三维是类似的。如果我们能求出每个位置分...原创 2019-06-26 14:36:05 · 283 阅读 · 0 评论