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

怎样选择 网站建设网站平台建设服务合同

怎样选择 网站建设,网站平台建设服务合同,网站 虚拟空间,大连工程信息网思路: a[]存愤怒值;b[i]存以i结尾的,窗口里的最大值;c[i]存以i结尾的,窗口里面包含✳的最大值。 (✳为新大象的位置) 例:1 2 3 4 ✳ 5 6 7 8 9 则ans的计算公式b3b4c4c5c6b7b8b9…

思路:

a[]存愤怒值;b[i]存以i结尾的,窗口里的最大值;c[i]存以i结尾的,窗口里面包含✳的最大值。

(✳为新大象的位置)

例:1 2 3 4 ✳ 5 6 7 8 9

则ans的计算公式=b3+b4+c4+c5+c6+b7+b8+b9;

b3为max[1 2 3];  b4为max[2 3 4];

c4为max[3 4 ✳]; c5为max[4 ✳ 5]; c6为max[✳ 5 6];

b7为max[5 6 7]; b8为max[6 7 8]; b9为max[7 8 9];

由此可以归纳得到一个公式:n个数,每个窗口长度为m,遍历到i时,ans可以分成三段:①[b(m)+b(m+1)+...+b(i-1)] + ②[c(i-1)+c(i)+...+c(i+m-2)] + ③[b(i+m-1)+...+b(n)]

(求max[]使用单调队列来求,求ans用前缀和)

ans=sumb[i-1]+sumc[i+m-2]-sumc[i-2]+sumb[n]-sumb[i+m-2]

但是还有ans某部分不存在的情况:

当i<=m时,此时①不存在,即ans=sumc[i+m-2]+sumb[n]-sumb[i+m-2]

若i>=n-m+2时,此时③不存在,,即ans=sumb[i-1]+sumc[n]-sumc[i-2]

当i>m&&i<n-m+2时,ans=sumb[i-1]+sumc[i+m-2]-sumc[i-2]+sumb[n]-sumb[i+m-2]

代码:

 

#include <bits/stdc++.h>
using namespace std;
const int N = 5e6 + 10;
int n, m, A, ans = 0;
int a[N], b[N], c[N];
int sumc[N], sumb[N];
void getmax(int n, int m)
{deque<int> q;for (int i = 1; i <= n; i++){if (!q.empty() && q.front() <= i - m)q.pop_front();while (!q.empty() && a[i] >= a[q.back()])q.pop_back();q.push_back(i);if (i >= m){b[i] = a[q.front()];sumb[i] = sumb[i - 1] + b[i];}}
}
void getmax2(int n, int m)
{deque<int> q;for (int i = 1; i <= n; i++){if (!q.empty() && q.front() <= i - m)q.pop_front();while (!q.empty() && a[i] >= a[q.back()])q.pop_back();q.push_back(i);if (i >= m){c[i] = max(A, a[q.front()]);sumc[i] = sumc[i - 1] + c[i];}}
}int main()
{cin >> n >> m >> A;for (int i = 1; i <= n; i++){cin >> a[i];}getmax(n, m);      // 求b[]getmax2(n, m - 1); // 求c[]for (int i = 1; i <= n + 1; i++){if (i <= m){ans = max(ans, sumc[i + m - 2] + sumb[n] - sumb[i + m - 2]);}else if (i >= n - m + 2){ans = max(ans, sumb[i - 1] + sumc[n] - sumc[i - 2]);}else{ans = max(ans, sumb[i - 1] + sumc[i + m - 2] - sumc[i - 2] + sumb[n] - sumb[i + m - 2]);}}cout << ans;return 0;
}

http://www.yayakq.cn/news/407124/

相关文章:

  • 河南app手机网站制作网站风格一般具有哪三大特征
  • 付费抽奖网站怎么做与设计行业相关的网站
  • 那个网站可以兼职做效果图高级网络规划师报考条件
  • 开奖网站开发如何查看网站关键词
  • 惠州附近做商城网站建设哪家好佛山营销型网页设计
  • 怎样在网站上做有效的广告投放国外广告设计网站
  • 中山市企业网站seo哪里好上海网站建设聚众网络
  • 什么是网络营销成败的关键网站优化推广 site
  • 如何建设属于自己的网站宁波网站建设公司代理
  • 网站建设的计划书高端网红
  • 网站建设评分细则产权交易中心网站建设的原因
  • 网站图片设置4:3芯片公司网站建设
  • 企业网站建设招标wordpress 首页 分类
  • 广州云脑网站建设网上交易系统
  • 手机网站开发工具vi设计要求
  • 可以和朋友合资做网站吗下载别人网站的asp
  • 网站模块数据同步asp.net 3.5网站开发全程解析
  • 便宜的网站空间做一些好玩的个人网站
  • 信誉好的常州做网站Wordpress微博样式
  • 企业网站优化做什么东莞公司网络营销公司
  • 哈尔滨座做网站的c 可以做网站嘛
  • 网站如何排版百度推广登录入口电脑
  • 张家口城乡建设局网站计算机网站建设体会
  • 网站群管理平台深圳哪些公司需要做网站
  • 网站建设推广服务合同范本迅速编程做网站
  • 网站虚拟机可以自己做吗下载官方购物网站
  • 如果网站曾被挂木马中国114黄页网站宣传广告
  • 建设网站技术公司简介深圳创业补贴政策2021
  • 中国建行官方网站做网站muse好还是DW好用
  • 锡盟建设工程造价管理站网站如何自助建网站