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

做游戏任务赚钱的网站有哪些seo文章是什么

做游戏任务赚钱的网站有哪些,seo文章是什么,wordpress目录阅览,承德网站建设价格前言 除了 A 题,唯一一道一遍过的题。 题目大意 我们定义满足以下所有条件的一个长度为 N N N 的序列 A ( A 1 , A 2 , … , A N ) A(A_1,A_2,\dots,A_N) A(A1​,A2​,…,AN​) 为波浪序列: N ≥ 4 N\ge4 N≥4(其实满足后面就必须满足这…

前言

除了 A 题,唯一一道一遍过的题。

题目大意

我们定义满足以下所有条件的一个长度为 N N N 的序列 A = ( A 1 , A 2 , … , A N ) A=(A_1,A_2,\dots,A_N) A=(A1,A2,,AN)波浪序列

  • N ≥ 4 N\ge4 N4(其实满足后面就必须满足这个条件)。
  • A 1 ≤ A 2 A_1\le A_2 A1A2(小心不要忘了这个条件)。
  • 有且只有一个峰。
  • 有且只有一个谷。

现在有个长度为 N N N 的序列 P P P,求有多少个连续的子段是波浪序列。

思路

我们看一下条件——有且只有一个峰、一个谷。但是,整个序列里面会有许多峰、许多谷。然后,我们会从中选取一个峰、一个谷和一些其他类别的元素构成波浪序列。显然,我们要记下所有峰、所有谷的位置。默认按从小到大顺序记。

接下来,我们枚举选取子段的右端点,从第一个既包含峰又包含谷的位置开始,一直枚举到 N N N。考虑左端点可能的取值范围。前面通过从小到大的顺序暗示了这里的重要算法——二分。二分什么呢?左端点下边界?上边界?都可以。因为它是上下边界都与峰谷的位置有关,而确定上边界的峰一定“紧挨着”确定下边界的峰(指的是中间不会有别的峰),谷也是同理。式子自己想想吧!不会可以看代码。

代码

请点击 这里 查看 AC 记录。

#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;int n, p[300010];
int c1, v1[300010]; // peak
int c2, v2[300010]; // valley
int s1[300010];
int s2[300010];int main()
{cin >> n;for (int i = 1; i <= n; i++)cin >> p[i];for (int i = 2; i < n; i++){s1[i] = s1[i - 1];if (p[i - 1] < p[i] && p[i] > p[i + 1])v1[++c1] = i, s1[i]++;s2[i] = s2[i - 1];if (p[i - 1] > p[i] && p[i] < p[i + 1])v2[++c2] = i, s2[i]++;}if (!c1 || !c2){cout << "0" << endl;return 0;}long long ans = 0;for (int i = max(v1[1], v2[1]) + 1; i <= n; i++){int p1 = lower_bound(v1 + 1, v1 + c1 + 1, i) - v1 - 1;int p2 = lower_bound(v2 + 1, v2 + c2 + 1, i) - v2 - 1;
//		if (p1 < 0 || p2 < 0) p1 = p2 = 0;
//		cout << i << " " << p1 << " " << p2 << ": " << endl;
//		cout << " - " << v1[p1] << " " << v2[p2] << endl;
//		cout << " - " << v1[p1 - 1] << " " << v2[p2 - 1] << endl;if (v1[p1] > v2[p2]) continue;int vmx = max(v1[p1 - 1], v2[p2 - 1]) - 1;int vmn = min(v1[p1], v2[p2]) - 1;vmx = max(vmx, 0);if (i - vmx < 4) continue;if (i - vmn + 1 < 4) vmn = i - 3;ans += vmn - vmx;
//		cout << i << " " << vmx << " " << vmn << endl;}cout << ans << endl;return 0;
}

总结

时间复杂度 O ( N ⋅ log ⁡ N ) O(N\cdot\log N) O(NlogN),二分很好用。

http://www.dtcms.com/wzjs/38529.html

相关文章:

  • 网站动态图是怎么做的百度手机卫士下载安装
  • 百度云官网长沙网站seo服务
  • 网站建设个人网站外贸网站推广服务
  • 广州建设网站技术网络营销的方法
  • 哪里建设品牌网站百度域名收录提交入口
  • 企业模板网站怎么做南昌seo排名扣费
  • 学做网站知识有哪些网页设计公司
  • 绵阳网站建设软件有哪些百度极速版app下载安装挣钱
  • 网站开发公司官网产品推广文案怎么写
  • 动易网站后台搜狗推广登录平台官网
  • 模板网站制作windows优化大师是官方的吗
  • 做网站需要字体切换网站排名优化+o+m
  • 建晨网站建设有限公司百度手机端排名如何优化
  • 做网站怎样建立服务器今天特大军事新闻
  • 网站首页制作公司百度站长社区
  • 中国上海门户网站搜索词热度查询
  • asp学习网站新媒体运营岗位职责
  • 软件开发的环节有哪些杭州seo平台
  • 做网站流程网络营销的成功案例
  • 做直播网站的上市公司国外免费建站网站
  • 会所网站建设新闻头条今日要闻军事
  • 浪琴手表网站google官网登录入口
  • 美团初期是怎么建网站seo顾问是什么
  • ui交互设计作品爱站seo综合查询
  • 专业英文网站建设1元涨1000粉
  • 如何查看网站的robots中国舆情网
  • 保存网页的步骤广州网站运营专业乐云seo
  • 外贸网站推广平台排名前十名海南百度推广公司电话
  • 汕头新冠疫情最新动态合肥seo优化排名公司
  • 南昌制作网站的公司吗靠谱的seo收费