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

atcoder C - ~

https://atcoder.jp/contests/abc406/tasks/abc406_c

题目简述:
给定一个序列p,让你求出p的所有子序列中波浪形序列的个数

波浪形序列的定义:1:长度>=4;2:仅存在一个波峰和波谷;3:序列的第一个数小于第二个数

#include<bits/stdc++.h>
using namespace std;
#define int long long
//typedef long long ll;
#define endl "\n"
//#define PII pair<int,int>
#define x first
#define y second
//priority_queue<int, vector<int>, greater<int>> pq;//小根堆
//{并查集
//int fa[N];
//int n;
//void init(){
//	for(int i=0;i<=n;i++)fa[i]=i;
//}初始化
//int get(int x){
//	return fa[x]=(fa[x]==x?x:get(fa[x]));
//}查找
//void merge(int a,int b){
//	fa[get(a)]=get(b);
//}合并
//}
const int N=5e5+10;
int a[N];
int n;
void solve(){cin >> n;for(int i=1;i<=n;i++)cin >>a[i];vector<pair<int,bool> >q;for(int i=1;i+2<=n;i++){if(a[i+1]>a[i]&&a[i+1]>a[i+2])q.push_back(make_pair(i,true));
//波峰为true		if(a[i+1]<a[i]&&a[i+1]<a[i+2])q.push_back(make_pair(i,false));
//波谷为false		}int ans=0;for(int i=0;i+1<q.size();i++)if(q[i].y&&!q[i+1].y)
//相邻波峰波谷{int l=0,r=n-1;if(i>0)l=q[i-1].x;if(i+2<q.size())r=q[i+2].x;ans+=(q[i].x-l)*(r-q[i+1].x);
//计算所有可能位置}cout << ans << endl;
}	 
signed main(){ios::sync_with_stdio(false);cin.tie(nullptr);int q=1;
//	cin >> q;while(q--)solve();
}

http://www.xdnf.cn/news/519859.html

相关文章:

  • EmuEdit
  • 网页 H5 微应用接入钉钉自动登录
  • python29
  • 【从基础到模型网络】深度学习-语义分割-ROI
  • C++ - 网络编程之初始连接(Winsock2 概述、初始连接案例、初始连接案例解读)
  • 封装、继承、多态的理解
  • Java面试实战:从Spring Boot到分布式缓存的深度探索
  • 程序代码篇---python获取http界面上按钮或者数据输入
  • 批量下载AlphaFold结构
  • leetcode刷题日记——翻转二叉树
  • 第11章 JDBC与MySQL数据库
  • UI架构的历史与基础入门
  • GOP模式调节画面质量讲解
  • 八股碎碎念01——HashMap原理
  • GESP编程能力等级认证C++3级1-数组1
  • 研读论文《Attention Is All You Need》(6)
  • 软考复习——部署
  • 嵌入式通信协议(二)——IIC总线
  • 《P5283 [十二省联考 2019] 异或粽子》
  • OpenAI Chat API 详解:打造智能对话应用的基石
  • 牛客网NC210769:孪生素数对问题解析与实现
  • 5月18日day29打卡
  • Listener method could not be invoked with the incoming message
  • 《C++与OpenCV实战:图像增强大核心算法详解》​​
  • [ctfshow web入门] web122
  • Git目录分析与第一个git commit文件
  • 20倍云台球机是一种高性能的监控设备
  • PortSwigger Labs CSRF详细教程
  • C++学习:六个月从基础到就业——C++17:string_view与filesystem
  • Vue3前端xlsx导出