OJ题号:ZHOJ1055

思路:树状数组。

首先将数据离散化,然后用线段树维护小于当前高度的山峰已经出现过的数量。

 #include<cstdio>
#include<cstring>
#include<algorithm>
const int N=,root=;
int n;
class FenwickTree {
private:
int val[N<<];
public:
FenwickTree() {
memset(val,,sizeof val);
}
int lowbit(const int x) {
return x&-x;
}
int query(int p) {
int ans=;
while(p) {
ans+=val[p];
p-=lowbit(p);
}
return ans;
}
void modify(int p) {
while(p<=n) {
val[p]++;
p+=lowbit(p);
}
}
};
FenwickTree tree;
int main() {
scanf("%d",&n);
int a[n+],b[n+];
for(int i=;i<=n;i++) {
scanf("%d",&a[i]);
b[i]=a[i];
}
std::sort(&b[],&b[n+]);
int ans[n+];
for(int i=;i<=n;i++) {
int t=std::lower_bound(&b[],&b[n+],a[i])-&b[];
ans[i]=tree.query(t-);
tree.modify(t);
}
for(int i=;i<=n;i++) printf("%d ",ans[i]);
printf("\n");
return ;
}

[DP地狱训练]Pascal山脉的更多相关文章

  1. 1636: Pascal山脉

    1636: Pascal山脉 时间限制: 1 Sec  内存限制: 128 MB提交: 51  解决: 15[提交][状态][讨论版] 题目描述 小卡卡顺着老者所指的方向,来到了Pascal神峰的顶峰 ...

  2. DP专题训练之HDU 2955 Robberies

    打算专题训练下DP,做一道帖一道吧~~现在的代码风格完全变了~~大概是懒了.所以.将就着看吧~哈哈 Description The aspiring Roy the Robber has seen a ...

  3. dp专题训练

    ****************************************************************************************** 动态规划 专题训练 ...

  4. DP专题训练之HDU 1087 Super Jumping!

    Description Nowadays, a kind of chess game called "Super Jumping! Jumping! Jumping!" is ve ...

  5. DP专题训练之HDU 1231 最大连续子序列

    Description 给定K个整数的序列{ N1, N2, ..., NK },其任意连续子序列可表示为{ Ni, Ni+1, ..., Nj },其中 1 <= i <= j < ...

  6. DP专题训练之HDU 1864 最大报销额

    做DP一定要注意数组的大小,嗯,就是这样~ Description 现有一笔经费可以报销一定额度的发票.允许报销的发票类型包括买图书(A类).文具(B类).差旅(C类),要求每张发票的总额不得超过10 ...

  7. 【Tensorflow】 Object_detection之训练PASCAL VOC数据集

    参考:Running Locally 1.检查数据.config文件是否配置好 可参考之前博客: Tensorflow Object_detection之配置Training Pipeline Ten ...

  8. dp周训练 状态压缩

    题目链接:题意:给你一个10*10的矩阵,每到一个格子中都要拿一个0-9的数值,求从矩阵左上方走到右下方且必须0-9都经过,拿的数值和最小是多少: #include <iostream> ...

  9. yolo3使用darknet卷积神经网络训练pascal voc

    darknet本来最开始学的是https://github.com/pjreddie/darknet yolo3作者自己开发的,但是它很久不更新了而且mAP值不好观察,于是另外有个https://gi ...

随机推荐

  1. Linux MMC framework2:基本组件之core

    1.前言 本文主要core组件的主要流程,在介绍的过程中,将详细说明和core相关的流程,涉及到其它组件的详细流程再在相关文章中说明. 2.主要数据结构和API TODO 3. 主要流程 3.1 mm ...

  2. ES系列七、ES-倒排索引详解

    1.单词——文档矩阵 单词-文档矩阵是表达两者之间所具有的一种包含关系的概念模型,图3-1展示了其含义.图3-1的每列代表一个文档,每行代表一个单词,打对勾的位置代表包含关系. 图3-1 单词-文档矩 ...

  3. C++:UNREFERENCED_PARAMETER用法

    原文地址:http://www.cnblogs.com/kex1n/archive/2010/08/05/2286486.html 作用:告诉编译器,已经使用了该变量,不必检测警告! 在VC编译器下, ...

  4. 关于Java Web应用中的配置部署描述符web.xml

    一.web.xml概述 位于每个Web应用的WEB-INF路径下的web.xml文件被称为配置描述符,这个 web.xml文件对于Java Web应用十分重要,每个Java Web应用都必须包含一个w ...

  5. mysql命令行怎么清屏

    例如: 怎么清屏? 哈哈 我也百度了半天,之后发现,这是个坑啊,dos(面向磁盘的操作命令)下面我们都是 cls 清屏,所以习惯性的用cls结果报错,打脸了吧.. mysql 命令行窗口不想看到那一堆 ...

  6. js之观察者模式

    观察者模式: 大体上是, 1.松耦合的代码: 2.一对多的关系: 3.主体状态变化时,所有依赖被通知: 4.主体和观察者互不知晓. 基本上,满足上面四点的,就可以算是观察者模式了.来看一个demo, ...

  7. php和NodeJs共存的开发环境

    1 折腾 php nodejs 到一起 nodejs当然很火,就像着火了一样,但是必须承认要搭建一个前端的demo开发环境还是PHP靠谱, windows下可以非常的集成套件,比如http://www ...

  8. noip 2017 时间复杂度

    自认为是少有的复杂的代码 这题思想很简单,就是大模拟 对于for循环,一行读入4个字符串,然后分类讨论: ①:如果是一个正常的O(n),那么累计n的指数加1 ②:如果是一个常数级别的,那么继续循环,但 ...

  9. Sony笔记本

    关机的情况下按键盘 f2键.进菜单选更改 bios设置 修改 3个地方 进bios右移 boot上 第一项 ufei改成 legacy external device改成enabled 下面启动顺序改 ...

  10. python 全栈开发,Day129(玩具开机提示语,为多个玩具发送点播,聊天界面,app录音,app与服务器端文件传输,简单的对话)

    一.玩具开机提示语 先下载github代码,下面的操作,都是基于这个版本来的! https://github.com/987334176/Intelligent_toy/archive/v1.2.zi ...