题目描述 小$Y$家门前有一条街道,街道上顺序排列着$n$幢建筑,其中左起第$i$幢建筑的高度为$h_i$.小$Y$定义街道的不美观度为所有相邻建筑高度差的绝对值之和乘上常数$c$,为了改善街道环境,政府决定进行施工,施工队会选择一些建筑并提升它们的高度,如果一幢建筑最终高度增加了$t$,则需要花费$t_2$的人力.小$Y$非常好奇,施工完成后街道的不美观度与施工队花费的人力之和最小为多少. 输入格式 第一行包含两个正整数$n,c$.接下来一行$n$个正整数,表示每幢建筑的高度. 输出格式 输出…
题目传送门(内部题126) 输入格式 第一行两个个整数$n,m$表示区间的长度与彩灯的数量. 接下来$m$行,每行三个整数$l_i,r_i,a_i$表示一条彩灯能够覆盖的区间以及它的美观程度. 输出格式 输出一行$m$个整数,第$i$个数表示$k=i$时的最大美观程度. 样例 样例输入: 25 61 2 102 3 101 3 213 4 104 5 103 5 19 样例输出: 41 80 80 80 80 80 数据范围与提示 对于$25\%$的数据,$m\leqslant 20$ 对于$4…
题目传送门(内部题150) 输入格式 第一行两个整数$N,Q$. 接下来的$N$行,每行两个整数$a_i,b_i$. 接下来的$Q$行,每行一个整数$x$. 输出格式 对于每个询问,输出一行一个整数表示答案. 样例 样例输入: 2 43 04 -2-1012 样例输出: 60312 数据范围与提示 每个测试点$10$分,共$10$个测试点: 对于所有的数据,有:$1\leqslant N,Q,|a_i|,|b_i|,|x|<32323$. 题解 发现式子中没有$c_i$,所以可以把一个$x$提出…
题目描述 在放完棋子之后,$dirty$又开始了新的游戏. 现在他拥有一个长为$n$的数组$A$,他定义第$i$个位置的分值为$i−k+1$,其中$k$需要满足: 对于任意满足$k\leqslant j\leqslant i$的$j$,有$A[k]\leqslant A[j]\leqslant A[i]$.当对于第$i$个数,有多个$k$满足条件时,取能获得较大分值的$k$. 现在,$dirty$想要知道$A$数组中分值最大的位置对应的分值为多少. 输入格式 第一行一个整数$n$,表示$A$数组…
改了两天,终于将T1,T3毒瘤题改完了... T1 施工(单调栈优化DP) 考场上只想到了n*hmaxn*hmaxn的DP,用线段树优化一下变成n*hmaxn*log但显然不是正解 正解是很**的单调栈 可以想象到最优情况一定是将两端高于中间的一段平原填成一段平的坑,不然如果坑内存在高度差那么我们即使只将一部分抬升也肯定没有用处,并且如果中间的坑已经高于了两端,再向上升也肯定不优,然后就中间的坑可以很很小,也可以很长,对于这个模型我们首先想到n^2*h的DP 设当前表示的f[i]表示当前到了i节…
[luogu]P1169 [ZJOI]棋盘制作 ——!x^n+y^n=z^n 题目描述 国际象棋是世界上最古老的博弈游戏之一,和中国的围棋.象棋以及日本的将棋同享盛名.据说国际象棋起源于易经的思想,棋盘是一个8*8大小的黑白相间的方阵,对应八八六十四卦,黑白对应阴阳. 而我们的主人公小Q,正是国际象棋的狂热爱好者.作为一个顶尖高手,他已不满足于普通的棋盘与规则,于是他跟他的好朋友小W决定将棋盘扩大以适应他们的新规则. 小Q找到了一张由N*M个正方形的格子组成的矩形纸片,每个格子被涂有黑白两种颜色…
线段树+单调栈+前缀和--2019icpc南昌网络赛I Alice has a magic array. She suggests that the value of a interval is equal to the sum of the values in the interval, multiplied by the smallest value in the interval. Now she is planning to find the max value of the inter…
题意 给$n$个贝壳,可以将贝壳分成若干段,每段选取一个贝壳$s_i$,这一段$s_i$的数目为$num$,可以得到$num^2\times s_i$个柠檬,求最多能得到几个柠檬 可以发现只有在一段中首尾颜色相同的情况下最优,所以每次选取一段里末位的$s_i$变成柠檬,于是有$f_i=max_{j \le i}{f_{j-1}+s_i\times(pre_i-pre_j+1)^2}$ ,$pre_i$表示前$i$个贝壳里$s_i$出现了几次 令$j<k$,假设$f_{j-1}+s_i\times…
题目链接 题意 对于一个长度为\(n\)的非负整数数列\(a_1,a_2,-,a_n\),求\(max_{1≤l≤r≤n}f(l,r)\), 其中 \[f(l,r)=min(a_l,a_{l+1},-,a_r)×(a_l+a_{l+1}+⋯+a_r)\] 思路 显然,最小值必为数列中的某个数,所以题目转化为: 对于数列中的 每个数,找 使其 为区间最小值的 最大的区间,即该点向左向右最远能延伸到的地方 // 是不是和那道找最大矩形面积如出一辙? 法一:dp 用\(l[\ ]\)和\(r[\ ]\…
参考:https://www.cnblogs.com/N-C-Derek/archive/2012/07/11/usaco_09_open_tower.html 虽然长得很像斜率优化,但是应该不算-- 贪心是错的,对拍出好多异常情况 s[i]为前缀和,从顶向下dp;设f[i]为本层宽度,g[i]为这是第几层,转移是g[i]=max(g[j]+1||s[j]-s[i]>f=[j]&&j>i) 如果k>j,除非j不满足条件,否则j最优,用一个单调栈维护能做贡献的j即可 #in…
酱神赏花 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 262143/262143KB (Java/Others) Submit Status 酱神去杭州赏花. 1到nn编号,11号和nn号是左右两个端点,两个相邻端点之间的距离为11.本次花展一共要展出mm朵花,在第titi时刻,有一朵颜值为bibi的花将在第aiai个节点展出,如果酱神在titi时刻处于第xx个节点,那么他能获得的开心值为bi−|x−ai|bi−|x−ai|,注…
http://www.lydsy.com/JudgeOnline/problem.php?id=3039 每次看到我的提交都有点淡淡的忧伤T_T.. 看到此题我想到用前缀和维护点ij向左和向上能拓展的最大长度,然后设状态f(i, j, 0)表示ij这个点为最大矩形的右下角时的长(横的),f(i, j, 1)表示ij这个店为最大矩形右下角时的宽(竖的),然后决策就是取点(i-1, j-1)的f值拓展一层为ij的,找到一个可行最大解. 过了几个样例我以为就能过了0.0没有认真考虑,,所以造成了前面2…
CODEVS 2673:Special Judge 题目描述 Description   这个月的pku月赛某陈没有参加,因为当时学校在考试[某陈经常逃课,但某陈还没有强大到考试也可以逃掉的程度].何况,对于北大校赛,水牛通常是没有什么希望考得好的[事实上某陈最好成绩是仅A了一道题]. 某陈郁闷.接下来他又将沉浸在无穷尽的刷题中,每天面对各种颜色的Status--WA,TLE,RE,甚至还有MLE,CE,PE什么什么的,他无比期待蓝色的AC. 话说RP爆发的某陈弄到了很久以后某次pku月赛的某题…
题面:小A的柱状图 题解:无 代码: #include<cstdio> #include<cstring> #include<iostream> #define ll long long #define max(a,b) ((a)>(b)?(a):(b)) using namespace std; inline ll rd(){ ll x=;char c=getchar(); '){c=getchar();} +c-'; c=getchar();} return…
题目链接:https://ac.nowcoder.com/acm/contest/888/A 题意:给n×m的01矩阵,求出其中全为1的矩阵个数(不被其它全1矩阵包括). 思路:和第二场多校的次大子矩阵类似.二维降一维,遍历行,以第i行为矩阵的底,通过单调栈得到矩阵向左向右能够扩展的范围 l[j]和r[j],然后关键在去重.有两种重复,第一种是同一行中的矩阵,可以用二维矩阵vis[l[j]][r[j]]标记此范围的矩阵已被记录.对于列的重复,是因为此时的矩阵能在下一行得到行扩展,所以预处理得到下…
题目:https://ac.nowcoder.com/acm/contest/888/A 题意:找全1矩阵的个数,并且这个全1矩阵不被其他全1矩阵包含 思路:这里引用付队说的话 -> { 这类问题,一般解决就是两个方向: A:压缩一维,即枚举上下边界,然后复杂度O(N^3); B:广告牌问题,即枚举下边界s,那么久可以看成s为底的一些高楼,再高楼上布置广告牌,复杂度O(N^2). } 这里光看复杂度我们就能看出肯定是B类问题,我们之前已经知道怎么求出每个矩阵了,但是我们怎么确定他是最大不可延伸的…
题面传送门 这道题为什么我就没想出来呢/kk 对于每组询问 \([l,r]\),我们首先求出区间 \([l,r]\) 中最小值的位置 \(x\),这个可以用 ST 表实现 \(\mathcal O(n\log n)-\mathcal O(1)\) 维护,那么显然 \(\forall l'\in[l,x],r'\in[x,r],\min\limits_{t\in[l',r']}a_t=a_x\),产生的贡献为 \((r-x+1)(x-l+1)a_x\),于是我们只用计算 \([x+1,r],[l,…
P1295 [TJOI2011]书架 本题思路比较好想(对我来说不是),但代码细节很多,奈何洛谷的题解只有思路,然后就是 没有丝毫解释的代码,让人看起来很头疼(~~ 尤其是像我这样的蒟蒻~~),所以便打算写一篇带 注释的题解: 题目大意 题目链接 给出一个长度为 n 的序列 h,请将 h 分成若干段,满足每段数字之和都不超过 m,最小化每段的 最大值之和. 解题思路 我们不难想到30分的n2做法,但期望得分30(据说实际有50) 我们定义f [ i ]为1 - i分段后的最大值和 可得dp方程…
题目链接[http://poj.org/problem?id=2796] 题意:给出一个数列,要求在这个数列里找到一个区间,使得在这个区间里的最小值*SUM[l,r]最大. 题解:思路来源于[http://acm.hdu.edu.cn/showproblem.php?pid=1506]这个题.思想是:一a[i]为某个区间的最小值,初始区间为[i,i],左端向左延伸,右端向右延伸.最后维护最大值. 但是向前向后延伸的时候不能暴力,时间不允许,这里要用到DP的思想: 定义L[MAXN]=R[MAXN…
Description 国际象棋是世界上最古老的博弈游戏之一,和中国的围棋.象棋以及日本的将棋同享盛名.据说国际象棋起源 于易经的思想,棋盘是一个8*8大小的黑白相间的方阵,对应八八六十四卦,黑白对应阴阳.而我们的主人公小Q, 正是国际象棋的狂热爱好者.作为一个顶尖高手,他已不满足于普通的棋盘与规则,于是他跟他的好朋友小W决定 将棋盘扩大以适应他们的新规则.小Q找到了一张由N*M个正方形的格子组成的矩形纸片,每个格子被涂有黑白两种 颜色之一.小Q想在这种纸中裁减一部分作为新棋盘,当然,他希望这个…
LINK:Removing Robots 没想到 自闭. 考虑了一个容斥 发现不合法方案难以计算. 就算可以计算也几乎是n^2的做法. 考虑dp 左边会对右边产生影响 所以考虑先dp右边的再考虑左边的. 至于dp 自然是f[i]表示这个i~n这么多点的方案数. 设 i向右第一个影响不到的点为w 那么 有转移 f[i]+=f[i+1]+f[w]. 这样从左到右dp就可以算出所有的方案了. const ll MAXN=200010; ll n,ans,top; ll f[MAXN],g[MAXN],…
题目传送门(内部题26) 输入格式 第一行有$3$个整数$n,m,q$.然后有$n$行,每行有一个长度为$m$的字符串,$+$表示正电粒子,$-$表示负电粒子.然后有$q$行,每行$2$个整数$x,y$,表示将第$x$行第$y$列的正电粒子修改为负电粒子,保证修改前第$x$行第$y$列的粒子带正电. 输出格式 有$q$行,每行一个整数此次修改后所有正电粒子能形成的最大的电场强度. 样例 样例输入: 5 5 5+-++++++++++++++++++++++-1 52 25 32 31 1 样例输…
题目描述 $Cab$有两行石子,每个石子上有一个字母,为$'C''A''B'$中的一个.一开始,在每行第一个石子上站着一只$lucky$,$Cab$每次可以选择一个字母,使得所站石子上字母为该字母的$lucky$向前走一步,如果此时$lucky$已经到了一行石子的结尾就会掉出去,$Cab$显然不会这么做.一个数对$(x,y)$是$lucky$的,当且仅当在$lucky$不掉出去的前提下,通过一些操作能使第一行的$lucky$处于第$x$个石子的同时第二只$lucky$处于第$y$个石子.请求出有…
题目传送门(内部题37) 输入格式 第一行一个整数$n$,表示区间的长度. 第二行一个长度为$n$的只包含$0,1,2$的字符串,表示给出的序列. 输出格式 一行一个整数,表示革命的区间的数量. 样例 样例输入: 100000111011 样例输出: 数据范围与提示 第$1$个测试点,$n=100$ 第$2,3$个测试点,$n=1,000$ 第$4$个测试点,$n=50,000$ 第$5,6$个测试点,$n={10}^5$ 第$7,8,9,10$个测试点,$n=5\times {10}^6$ 第…
连发三篇爆炸实录我的心态竟然还这么好…… 昨天题目的D2.稍难. 这也不是我连续拿倒数第一的理由. T1不会.赛时硬写了一个30分的三次方暴力.还有一个地方写挂了.如果不是数据足够水我就爆零了. 也就是说我的11分subtask1还是捡来的. 最难过的是T2.T2写了乱搞(正解之一??).然而并没有调出来. 二维莫队.我写的很顺.没什么细节错误.然而, 我是在最后20分钟才开始打的.也就是说我最一开始并没有打二维莫队. 一方面是觉得这东西复杂度应该不对.另一方面,我不会离散化. 对.我不会离散化…
概要: 对于维护信息具有单调性的性质或者问题可以转化为具有单调性质的模型的题,我们可以考虑用单调栈或单调队列. 技巧及注意: 技巧很多,只要能将问题转化为单调性问题,就好解决了. 当维护固定长度的单调区间,我们考虑用单调队列,如 [BZOJ]3314: [Usaco2013 Nov]Crowded Cows(单调队列) [BZOJ]1047: [HAOI2007]理想的正方形(单调队列/-二维rmq+树状数组套树状数组)(一维连续的变成二维连续区间) 单调栈维护长度时要进行及时更新,例如: [B…
单调栈 单调栈是一种特殊的栈,特殊之处在于栈内的元素都保持一个单调性,可能为单调递增,也可能为单调递减. 性质: 单调栈里的元素具有单调性 元素加入栈前,会在栈顶端把破坏栈单调性的元素都删除 使用单调栈可以找到元素向左遍历第一个比他小的元素,也可以找到元素向左遍历第一个比他大的元素. 单调栈的维护是 O(n) 级的时间复杂度,因为所有元素只会进入栈一次,并且出栈后再也不会进栈了. 由于单调栈只能对栈顶位置进行操作 所以一般应用于只有对数组有一边有限制的地方 实现用STL的栈实现即可 模拟栈也行…
题目传送门(内部题124) 输入格式 第一行一个整数$n$代表环的长度. 第二行$n$个整数表示每个冰锥的高度. 输出格式 一行一个整数表示有多少对冰锥是危险的. 样例 样例输入1: 51 2 4 5 3 样例输出1: 样例输入2: 37 7 7 样例输出2: 数据范围与提示 对于所有数据,满足$3\leqslant n\leqslant 5,000,000$,$0\leqslant$冰锥的高度$\leqslant 10^9$.特殊性质$1$:高度是一个单调不降的序列特殊性质$2$:不包含两个高…
题目传送门(内部题116) 输入格式 第一行两个整数$n,m$,如题 第二行有$n$个整数表示$h_1-h_n(1\leqslant h_i\leqslant 10^9)$ 接下来有$m$行,每行两个整数,$p,H_p$,表示第$p$个位置的苹果实际高度为$H_p$. 输出格式 输出共$m$行,每行一个整数,表示这种修改情况下的答案. 样例 样例输入: 5 3 1 2 3 4 4 1 5 5 5 2 3 样例输出: 1 5 3 数据范围与提示 样例解释: 第一种情况 苹果高度为$5\ 2\ 3\…
题目描述 虽不能至,心向往之. $Treap=Tree+Heap$ 椎$=$树$+$堆 小$\pi$学习了计算机科学中的数据结构$Treap$. 小$\pi$知道$Treap$指的是一种树. 小$\pi$还知道$Treap$节点上有两个权值$k$和$w$,其中$k$满足二叉搜索树性质.$w$满足堆性质. 小$\pi$还知道在$k$和$w$都各不相同的时候,$Treap$的形态是固定的. 但是小$\pi$不知道这道题目的做法. 这道题目要求你维护一个大根堆$Treap$,要求支持$n$个操作: $…