题意: 给你n个数hi,你刚开始在第1个数的位置,你需要跳到第n个数的位置. 1.对于i.j(i<j) 如果满足 max(hi+1,-,hj−1)<min(hi,hj) max(hi,hj)<min(hi+1,-,hj−1) 那么就可以从i直接一步跳到j位置 2.如果j=i+1,那么也可以直接跳过去 问你从第一个位置跳到第n个位置,最少需要跳多少次 题解: 我们设dp[i]表示:从第一个位置跳到第i个位置最小需要跳多少次 我们最重要的就是找在[1,i-1]这个区间内的k,哪个位置可以跳到…
正解:单调栈/dp 解题报告: 先放个传送门qwq 话说这题是放在了dp的题单里呢?但是听说好像用单调栈就可以做掉所以我就落实下单调栈的解法好了qwq (umm主要如果dp做好像是要斜率优化凸壳维护双端队列巴拉巴拉可能要以后再来搞了qwq) 先解释题意...我觉得我是傻逼,,,这题我因为没懂题意卡了好几周了有... 是酱婶的,就是说给一些气球,开始它们都只是瘪的,都还没打气 然后给你这些气球的横坐标和最大半径 然后问你,我现在一个个给气球打气,打到不能打为止,问你每个气球的半径 (,,,我之前一…
Codeforces 题目传送门 & 洛谷题目传送门 Yet another 自己搞出来的难度 \(\ge 2800\) 的题 介绍一个奇奇怪怪的 \(n\log n\) 的做法.首先特判掉字符串中全是 \(0\) 的情况,这种情况答案显然为 \(n\).我们假设字符串中 \(1\) 的位置为 \(p_1,p_2,\cdots,p_k\).考虑当我们已经求出了 \(s[1...p_i]\) 可以得到多少个不同的 01 串后,怎样求出 \(s[1...p_{i+1}]\) 可以得到多少个不同的 0…
Mike and Feet Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Status Practice CodeForces 548D Appoint description:  Description Mike is the president of country What-The-Fatherland. There are n bears living in thi…
蒟蒻语 写了 \(100\) 行的 线段树上ST表维护二分维护单调栈维护dp, 结果最后发现只要俩单调栈就好了 = = 蒟蒻解 首先 \(dp_i\) 表示从 \(1\) 楼到 \(i\) 楼要跳几次. 题目中有 3 个条件, 对三个条件分别设 \(dp\) 方程. 第一个很显然, 就是 : \(dp_i = dp_{i - 1} + 1\) 第二个怎么弄呢? 考虑看有哪些点是可能来更新这个点的. 假设 \(x\) 位置可以来更新 \(i\) 位置.那么 \(h_x > max(h_x, h_{…
题目链接 BZOJ3235 题解 求出每个点为顶点,分别求出左上,左下,右上,右下的矩形的个数\(g[i][j]\) 并预处理出\(f[i][j]\)表示点\((i,j)\)到四个角的矩形内合法矩形个数 就可以容斥计数啦 枚举顶点\((i,j)\),乘上另一侧矩形个数,如图: 但是会算重,对于这样的情况 减去即可 求\(g[i][j]\)数组,枚举每一行,使用单调栈即可 复杂度\(O(n^2)\) #include<algorithm> #include<iostream> #in…
目录 前言吐槽 思路 错误 代码 /* 前言吐槽 我真的不知道是咋做的 不过大约就是栈的斜率优化 哪位大佬见识广,给看看吧(乞讨) 思路 s是值等于a[i]的前缀和 转移方程$f[i]=max(f[i],f[j-1]+a[i]*(s[i]-s[j]+1)*(s[i]-s[j]+1))$ 不难写出暴力方程(by wxyww) //@baoli memset(f,-0x3f,sizeof(f)); f[0]=0; for(int i=1;i<=n;++i) { for(int j=1;j<=i;+…
https://codeforces.com/contest/1131/problem/G 题意 给你一排m个的骨牌(m<=1e7),每块之间相距1,每块高h[i],推倒代价c[i],假如\(abs(i-j)<h[i]\),那么向j方向推倒i,j也会倒,问选择任意数量骨牌向任意方向推到,使得全部骨牌都倒下的代价最小 题解 连锁反应可以用单调栈或者链表模拟 定义dp[i]为推倒a[i,m]的最小代价 对于每个i,有两种选择: 向左推:\(dp[l[i]+1]=min(dp[l[i]+1],dp[…
Largest Rectangle in a Histogram Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 15831   Accepted: 5121 Description A histogram is a polygon composed of a sequence of rectangles aligned at a common base line. The rectangles have equal wi…
Largest Rectangle in a Histogram Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 13997    Accepted Submission(s): 3982 Problem Description A histogram is a polygon composed of a sequence of rect…