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

公司网站设计需要什么今日国内新闻头条

公司网站设计需要什么,今日国内新闻头条,tomcat做静态网站,做体育直播网站题目如下 数据范围 观察数据范围理论上平方复杂度的算法计算次数逼近1e9还不至于超时,但是由于有mod 1e9导致超时。所以本题不能靠暴力枚举来解决。 所以我们可以思考如何在枚举上面减少计算次数:第一种枚举法:最外层i控制子数组的左边界&…

题目如下
在这里插入图片描述

数据范围
在这里插入图片描述

  观察数据范围理论上平方复杂度的算法计算次数逼近1e9还不至于超时,但是由于有mod 1e9导致超时。所以本题不能靠暴力枚举来解决。
所以我们可以思考如何在枚举上面减少计算次数:第一种枚举法:最外层i控制子数组的左边界,内层则从左边界开始遍历到最后其中维持最小值。如此可以枚举完所有的子数组,显然超时。这种枚举法不好在忽略了一个值可能是很多子数组的最小值。例如 在数组[3,1,2,4]中子数组[3,1,2] [1,2]最小值都是1所以不方便减少计算次数。第二种枚举法:因为子数组长度最小可以为1所以每个数都可以至少是一个子数组的最小值,我们可以通过从一个数出发向左向右寻找第一个小于这个数的左右边界。我们只需要算出在这个边界能形成多少个包含i的子数组就可以得到以arr[i]为最小值的子数组的数量。(即从[l,i] [i,r]各自选1个值就行 排列组合的思想)显然也超时,但是很好利用了特性。
所以我们来思考如何减少第二种枚举法的复杂度:因为向左向右寻找的思路一样所以这里就仅说明向左寻找的思路。显然每次向左搜索第一个小于这个数的重复计算太多,我们可以想想几种情况如果数组有(i,j都是下标且i < j)那么我们令i j对应的第一个小于的坐标为i1 和 j1,当arr[i] > arr[j]时 有i1 >= j1(j >= j1) 我们记为1情况当arr[i] <= arr[j]时 有i1 <= j1 我们记为2情况
从两个情况我们可以看出j可能会被i作为答案所以我们先存起来,如果j不是i答案那么i的答案i1必然在j1前所以寻找j1所排除的与i1并无关系甚至推广来说只要当前处理的i下标大于j那么因为j排掉的答案并不是i的答案。换句话说我们处理完j以后只需要把j存起来以防万一i的答案是j就行。所以我们可以考虑引入单调栈从左到右遍历数组(按严格递增的趋势)对每个处理的i如果栈顶大于等于就出栈直到栈空或者栈顶小于arr[i]。如此便确定左边界,当然我们采用左开右开的区间方便计算(使用-1作为哨兵)。右边界同理只不过是从右往左遍历这里不多赘述。那么这里还要注意处理重复区间:当我们允许左边界包含重复数字时就不能让右边界包含了,假设数组存在多个重复值任选两个两个一样的数,如果我们让左右都可以包含重复值就会产生重复计算所以只能让一边可以包含重复值。

通过代码

class Solution {
public:int sumSubarrayMins(vector<int>& arr) {int n = arr.size(),mod = (1e9 + 7),ans = 0;vector<int> l(n),r(n);stack<int> s;for (int i = 0; i < n; i++) {while(!s.empty() && arr[s.top()] > arr[i]){s.pop();}l[i] = (s.empty())?-1:s.top();s.push(i);}s = stack<int>();for (int i = n - 1; i >= 0; i--) {while(!s.empty() && arr[s.top()] >= arr[i]){s.pop();}r[i] = (s.empty())?n:s.top();s.push(i);}for(int i = 0;i < n;i++){ans = (ans + (long long)arr[i] * (i - l[i]) * (r[i] - i)) % mod;}return ans; }};

在这里插入图片描述

http://www.hrbkazy.com/news/19528.html

相关文章:

  • 做网站公司 衡阳公司友妙招链接
  • 做苗木的哪个网站效果好搜索引擎有哪些平台
  • 个人网站可以做淘宝推广百度爱采购优化
  • 奥派网站建设谷歌广告推广怎么做
  • 网站js修改头像代码国内最近的新闻大事
  • 河口区建设工程招标网站数据分析方法
  • 个体工商户能够做经营性网站吗搜索引擎优化人员优化
  • 网站可以放多少视频百度百科词条
  • 蓝色系 网站不收费的小说网站排名
  • 做外贸如何分析客户网站指数是指什么
  • 巩义旅游网站建设公司搜索引擎外部链接优化
  • 做一个京东网站怎么做志鸿优化网
  • 如何自己做网站优化网域名解析ip查询
  • 杭州网站建设推荐互联网营销师证书怎么考
  • 分类目录网站平台网址搜索引擎
  • 网站建设服务项目2021全国大学生营销大赛
  • dhl网站做形式发票优化网站最好的刷排名软件
  • 网站开发 实战百度应用商店官网
  • 龙岩网站制作公司seo搜索优化费用
  • 关于网站建设live2500百度不让访问危险网站怎么办
  • 如何用macbook做网站如何注册百度账号
  • asp 网站管理系统培训心得体会100字
  • 免费域名申请哪个网站好网站快速收录入口
  • 装个宽带多少钱宁波受欢迎全网seo优化
  • 安徽服饰网站建设百度登录
  • 网站建设中倒计时模板辅导班培训机构
  • 济南建立网站下载百度2023最新版
  • wordpress网站建设要钱吗学生个人网页制作成品
  • 毕设DW做网站的过程网站推广的四个阶段
  • 做网站设计师工资多少全网搜索引擎优化