51nod 2500 后面第一个大于
小b有一个长度为n的序列t,现在她对于每个i,求最小的正数j满足i+j≤ni+j≤n且ti+j>titi+j>ti,输出j,如果不存在这样的j,则输出0。
样例解释:
对于i=1,t2>t1t2>t1,所以最小的j=1;
对于i=7,不存在这样的j,所以输出0。
收起
输入
第一行输入一个数n;
第二行输入n个数t1-tn,以空格隔开;
其中1≤n≤30000,对于任意ti满足30≤ti≤100.
输出
输出一行n个数,第i个数表示i的答案。
输入样例
8
73 74 75 71 69 72 76 73
输出样例
1 1 4 2 1 1 0 0 暴力方法。
代码:
#include <iostream>
#include <cstdlib>
#include <cstdio> using namespace std;
int n,t[];
int main() {
scanf("%d",&n);
for(int i = ;i < n;i ++) {
scanf("%d",&t[i]);
}
for(int i = ;i < n;i ++) {
if(i) putchar(' ');
for(int j = ;i + j < n;j ++) {
if(t[i + j] > t[i]) {
printf("%d",j);
break;
}
else if(i + j == n - ) printf("");
}
}
return ;
}
简单方法。
代码:
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <vector> using namespace std;
int n,t,ans[],m = ;
vector<int> ind[];
int main() {
scanf("%d",&n);
for(int i = ;i < n;i ++) {
scanf("%d",&t);
for(int j = m;j < t;j ++) {
for(int k = ind[j].size() - ;k >= ;k --) {
ans[ind[j][k]] = i - ind[j][k];
ind[j].pop_back();
}
}
m = min(m,t);
ind[t].push_back(i);
}
for(int i = ;i < n;i ++) {
if(i) putchar(' ');
printf("%d",ans[i]);
}
return ;
}
51nod 2500 后面第一个大于的更多相关文章
- hdu2795Billboard(线段树,找第一个大于w的点)
Billboard Time Limit: 20000/8000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- poj2578---三个数中找出第一个大于168的
#include <stdio.h> #include <stdlib.h> int main() { int a,b,c; scanf("%d %d %d" ...
- [2014亚马逊amazon] 在线笔试题 大于非负整数N的第一个回文数 Symmetric Number
1.题目 如标题,求大于整数N(N>=0)的第一个回文数的字符串表示形式. 这个题目也是当时笔试第一次见到,花了一个小时才做出了.慢慢总结还是挺简单的. 2.分析 分析如下: (1)一位数N(9 ...
- 给出一个长度为n的数列,请对于每一个数,输出他右边第一个比他大的数。n<=100000.
RT,一个ppt里看到的题,不过没讲做法.百度上基本搜不到.自己想了个做法,理论上可行,复杂度也是O(nlogn). 首先,做一次RMQ,求区间最大值. 对于任意一个数s[i],可以用logn的时间求 ...
- 把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> ...
- 《程序员代码面试指南》第一章 栈和队列 构造数组的MaxTree
题目 给出一个无重复元素的数组,构造此数组的MaxTree, java代码 /** * @Description: 构造数组的MaxTree * @Author: lizhouwei * @Creat ...
- 51nod 1010 只包含因子2 3 5的数 二分答案
1010 只包含因子2 3 5的数 K的因子中只包含2 3 5.满足条件的前10个数是:2,3,4,5,6,8,9,10,12,15. 所有这样的K组成了一个序列S,现在给出一个数n,求S中 > ...
- 51Nod 1134 最长递增子序列(动态规划O(nlogn))
#include <iostream> #include <algorithm> #include <stdio.h> #define MAXN 50010 usi ...
- C++算法库学习__std::sort__对 vector进行排序_排序后就可以进行使用std::lower_bound进行二分查找(查找第一个大于等于指定值的迭代器的位置)__std::unique
std::sort 对vector成员进行排序; std::sort(v.begin(),v.end(),compare); std::lower_bound 在排序的vector中进行 ...
随机推荐
- [Docker] 六步运行一个 sentry 实例
# 6步, https://hub.docker.com/_/sentry/ # 依赖Redisdocker run -d --name sentry-redis redis:3.2.12 # 依赖p ...
- China.NETConf2019 - 用ASP.NETCore构建可检测的高可用服务
一.前言 2019 中国 .NET 开发者峰会(.NET Conf China 2019)于2019年11月10日完美谢幕,校宝在线作为星牌赞助给予了峰会大力支持,我和项斌等一行十位同事以讲师.志愿者 ...
- 【视频开发】Gstreamer框架中使用gst-launch进行流媒体播放
Gstreamer框架中使用gst-launch进行流媒体播放 Gstreamer是一套开源的流媒体框架,用其也可以进行流媒体开发,Gstreamer是基于glib库编写的,需要将多个不同功能的元件( ...
- pod的时区问题
1制作image时进行配置修改 2将宿主机的时区配置文件挂载到pod中(此处注意,宿主机之间需已经完成时间同步) volumeMounts: - name: host-time mountpath: ...
- C/C++配置
VScode 插件推荐与C/C++配置 https://www.cnblogs.com/harrypotterjackson/p/11432252.html 阅读目录 C++类 美化 git tab ...
- Java设计模式--观察者模式到监听器
观察者模式是对象的行为模式.又叫做发布-订阅模式.模型-视图模式.源-监听器模式. 抽象主题角色:主题角色将所有对观察者对象的引用到保存在一个集合里,每个主题都可以拥有任意数量的观察者.抽象主题提供一 ...
- 008 SpringCloud 学习笔记4-----Ribbon负载均衡
1.Ribbon概述 实际环境中,我们往往会开启很多个itcast-service-provider的集群.此时我们获取的服务列表中就会有多个,到底该访问哪一个呢? Eureka中已经帮我们集成了负载 ...
- 002 spring boot框架,引入mybatis-generator插件,自动生成Mapper和Entity
1.创建一个springboot项目 2.创建项目的文件结构以及jdk的版本 3.选择项目所需要的依赖 点击next,直到项目构建完成. 4.项目初步结构 5.POM文件 <?xml versi ...
- day22——从空间角度研究类、类与类之间的关系
day22 从空间角度研究类 何处添加对象属性 在类的______init______可以添加 class Human: mind = "有思想的" def __init__(se ...
- Django框架(十三)——Auth模块
Auth模块 一.什么是auth模块 Auth模块是Django自带的用户认证模块 Auth模块是Django自带的用户认证模块,可以实现包括用户注册.用户登录.用户认证.注销.修改密码等功能.默认使 ...