当前位置: 首页 > news >正文

东阳市建设局网站平泉建设局网站

东阳市建设局网站,平泉建设局网站,互联壹佰做企业网站,辽宁省建设工程题面 给你一个长度为 n 下标从 0 开始的整数数组 maxHeights 。 你的任务是在坐标轴上建 n 座塔。第 i 座塔的下标为 i #xff0c;高度为 heights[i] 。 如果以下条件满足#xff0c;我们称这些塔是 美丽 的#xff1a; 1 heights[i] maxHeights[i] heights 是… 题面 给你一个长度为 n 下标从 0 开始的整数数组 maxHeights 。 你的任务是在坐标轴上建 n 座塔。第 i 座塔的下标为 i 高度为 heights[i] 。 如果以下条件满足我们称这些塔是 美丽 的 1 heights[i] maxHeights[i] heights 是一个 山脉 数组。 如果存在下标 i 满足以下条件那么我们称数组 heights 是一个 山脉 数组 对于所有 0 j i 都有 heights[j - 1] heights[j] 对于所有 i k n - 1 都有 heights[k 1] heights[k] 请你返回满足 美丽塔 要求的方案中高度和的最大值 。 思路 题面有点像合唱队列那道题。 状态方程 f [ i ] { f [ i − 1 ] h [ i ] h [ i ] ≥ h [ i − 1 ] f [ j ] ( i − j ) ∗ h [ i ] h [ i ] h [ i − 1 ] \begin{equation} f[i] \begin{cases} f[i-1]h[i] h[i]\ge h[i-1]\\ f[j](i-j)*h[i] h[i] h[i-1] \end{cases} \end{equation} f[i]{f[i−1]h[i]f[j](i−j)∗h[i]​h[i]≥h[i−1]h[i]h[i−1]​​​ f[i]为前i个满足题意的最大值j为当前i从左往右第一个小于或等于的下标(单调栈维护)同理右边g[i]也可以得出结果为max(f[i]g[i]-h[i])。 代码 public long maximumSumOfHeights(ListInteger maxHeights) {int n maxHeights.size();int[] left new int[n 1];int[] right new int[n 1];Arrays.fill(left, -1);Arrays.fill(right, n);DequeInteger deque new ArrayDeque();for (int i 0; i n; i) {int x maxHeights.get(i);while (!deque.isEmpty() x maxHeights.get(deque.peek())) {deque.pop();}if (!deque.isEmpty()) {left[i] deque.peek();}deque.push(i);}deque.clear();for (int i n - 1; i 0; i--) {int x maxHeights.get(i);while (!deque.isEmpty() x maxHeights.get(deque.peek())) {deque.pop();}if (!deque.isEmpty()) {right[i] deque.peek();}deque.push(i);}long[] f new long[n];long[] g new long[n];for (int i 0; i n; i) {int x maxHeights.get(i);if (i 0 x maxHeights.get(i - 1)) {f[i] f[i - 1] x;} else {int j left[i];f[i] (long) x * (i - j) (j 0 ? f[j] : 0);}}for (int i n - 1; i 0; i--) {int x maxHeights.get(i);if (i n - 1 x maxHeights.get(i 1)) {g[i] g[i 1] x;} else {int j right[i];g[i] (long) x * (j - i) (j n ? g[j] : 0);}}long ans 0;for (int i 0; i n; i) {ans Math.max(ans, f[i] g[i] - maxHeights.get(i));}return ans; }说明 为什么左边是小于等于右边计算时是小于见下图应该就懂了
http://www.pierceye.com/news/381587/

相关文章:

  • nas服务器 做网站网页设计页面图片
  • 青海建设协会网站电子商务网站备案
  • 性价比高的广州网站建设不同用户入口的网站样板
  • 投资交易网站开发黑镜wordpress主题破解
  • 文化传媒公司网站建设西渡网站建设
  • 购物网站为什么做移动端seo优化快速排名
  • iis服务器网站301重定向怎么做国家企业信息公开网查询系统
  • 免费家具网站模板做网站去什么公司好
  • 五个网站南宁网页制作培训
  • 枣庄建设网站wordpress如何自己编辑
  • 河南省城乡住房建设厅网站首页哪个公司网站备案快
  • 湘潭做网站价格优选磐石网络微信里怎么进入自己的公众号
  • 孟州网站wordpress主题游戏cms
  • 用php做的网站怎么上传莱州教体局网站
  • 网站互动性无锡模板建站
  • 中铁十六局工资明细沧州网站seo公司
  • 北京网站建设软件网页制作自我介绍源代码
  • 怎么注册公司的网站免费可以做旅游海报 的网站
  • 贵阳网站建设包首页微商建立网站
  • ppt制作软件全模板免费大连seo网站管理
  • 网站门户设计设计师的网站有哪些
  • 旅游公司网站建设百度一下官方下载安装
  • 网站上传大马后怎么做宁波seo推广公司电话
  • 长沙建网站培训机构织梦网站采集侠怎么做
  • 行政事业单位网站建设动漫设计与制作大学
  • 网站链接推广工具建立网站平台
  • 做网站需要学什么软件做网站智能工具
  • 成品网站代理上海的建设项目招投标在哪个网站
  • 阿里云的网站建设花钱么广州市建设职业培训学校网站
  • 网站建设和前端开发的区别哈尔滨网站制作方案