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

怎么使用网站上的模板山东济南最新消息

怎么使用网站上的模板,山东济南最新消息,ensp企业网络拓扑图,哈尔滨网站建设的公司题目背景模板题&#xff0c;无背景。2019.12.12 更新数据&#xff0c;放宽时限&#xff0c;现在不再卡常了。题目描述给出项数为 n 的整数数列 a1…n​。定义函数 f(i) 代表数列中第 i 个元素之后第一个大于 ai​ 的元素的下标&#xff0c;即 f(i)mini<j≤n,aj​>ai​​{…

题目背景

模板题,无背景。

2019.12.12 更新数据,放宽时限,现在不再卡常了。

题目描述

给出项数为 n 的整数数列 a1…n​。

定义函数 f(i) 代表数列中第 i 个元素之后第一个大于 ai​ 的元素的下标,即 f(i)=mini<j≤n,aj​>ai​​{j}。若不存在,则 f(i)=0。

试求出 f(1…n)。

输入格式

第一行一个正整数 n。

第二行 n 个正整数 a1…n​。

输出格式

一行 n 个整数表示 f(1),f(2),…,f(n) 的值。

输入输出样例

输入 #1复制

5
1 4 2 3 5

输出 #1复制

2 5 4 5 0

说明/提示

【数据规模与约定】

对于 30% 的数据,n≤100;

对于 60% 的数据,n≤5×103 ;

对于 100% 的数据,1≤n≤3×106,1≤ai​≤109。

解题思路

这道题是单调栈的模板题,在这道题之后我也写过其他单调栈的题目,基本无差。

首先定义一个栈,将原数组逆序判断,因为我们要比较i位置后面的数据。

当栈不为空且栈最顶端数据小于数组当前的数据时,将此时栈的数据踢出。

如果栈是空的,那么直接按题目要求输入0,存入新数组中;如果不为空,那么就将此时栈中最顶端的下标存入所求新数组中。

每次循环都要将此次循环的下标存入栈中。

最后直接输出所求的数组即可,完整代码如下:

​
#include<bits/stdc++.h>
#define int long long
using namespace std;
int p[10000005],arr[10000005],f[10000005];
signed main()
{int n;cin>>n;stack<int>q;for(int i=1;i<=n;i++){cin>>arr[i];}for(int i=n;i>0;i--){while(!q.empty()&&arr[q.top()]<=arr[i]){q.pop();}if(q.empty()){f[i]=0;}else{f[i]=q.top();}q.push(i);}for(int i=1;i<=n;i++){cout<<f[i]<<" ";}return 0;
}​

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

相关文章:

  • 网络公司网站创建安徽seo优化
  • 深圳网站建设计如何注册属于自己的网站
  • 义乌网一件代发开封seo推广
  • 大数据网站建设中小企业网站制作
  • 兰州网站制作培训班上海官网seo
  • 营销推广计划seo关键词如何设置
  • 代做设计网站短视频seo推广
  • 简述网站一般建设的流程seo网站关键词优化价格
  • 网站的商桥怎么做郑州网站推广技术
  • 做网站美工重庆森林经典台词
  • 微信号 网站模板百度信息流广告怎么收费
  • 免费网站建设培训学校seo引擎优化
  • 政府网站建设经验交流材料seo也成搜索引擎优化
  • 咸阳网站网站建设免费的大数据分析平台
  • 深圳万户网络技术有限公司优化问题
  • 浏览网站模板百度云官网入口
  • 怎么建设小型网站百度竞价排名是什么
  • 专业做室内设计的网站有哪些方面无锡网络优化推广公司
  • 网站建设内容保障工作个人总结企业网站模板设计
  • pv3d 优秀网站企业网络推广计划书
  • 建设网站具备的知识网络运营是做什么的工作
  • 国家中小企业公共服务平台福州seo兼职
  • 做网站一般链接什么数据库企业营销策划书
  • 苏州seo网站公司b站视频推广的方法有哪些
  • wordpress管理员 404seo赚钱方式
  • 荆州 商务 网站建设今日热搜榜排行榜
  • 莱特币做空网站香飘飘奶茶
  • 博客系统做网站网络营销专业就业前景
  • 免费建设网站的方法交换友情链接的网站标准是什么
  • 做网站吗地推任务网