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 内核分析工具 Dtrace、SystemTap、火焰图、crash等

    << System语言详解 >> 关于 SystemTap 的书. 我们在分析各种系统异常和故障的时候,通常会用到 pstack(jstack) /pldd/ lsof/ tc ...

  2. phantomjs 中如何使用xpath

    function getNodeInfo(inputcsvPath) { var htmlnodeInfo = page.evaluate(function () { //_Ltg var XPATH ...

  3. springboot系列九,springboot整合邮件服务、整合定时任务调度

    一.整合邮件服务 如果要进行邮件的整合处理,那么你一定需要有一个邮件服务器,实际上 java 本身提供有一套 JavaMail 组件以实现邮件服务器的搭建,但是这个搭建的服务器意义不大,因为你现在搭建 ...

  4. 【转】C++的const类成员函数

    我们知道,在C++中,若一个变量声明为const类型,则试图修改该变量的值的操作都被视编译错误.例如, const char blank=' '; blank='\n'; //错误 面向对象程序设计中 ...

  5. mybatis主键自增长

    在数据库中建序列:SEQ_T_RESOURCE 第一种:会在传入该方法的的参数集合中添加主键元素,相当于:map.put("RES_ID",xxx); <insert id= ...

  6. CentOS 6.5下PXE+Kickstart无人值守安装操作系统centos7.3

    CentOS 6.5下PXE+Kickstart无人值守安装操作系统centos7.3 一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行 ...

  7. nagios系列(一)centos6.5环境部署nagios服务端

    nagios软件安装包存放目录:/home/oldboy/tools nagios服务安装目录:/usr/local/nagios 1.配置yum源 echo "------ step 1: ...

  8. PYTHON-操作系统基础

    预习:操作系统基础1,编程语言的分类2,多版本共存3,执行python程序的两种方式4,变量5,输入输出6,运算符7,基本数据类型8,流程控制之if ------------------------- ...

  9. 谷歌云ssh开启root密码登录

    修改配置 1.先选择从浏览器打开ssh连接服务器 连接登录成功后,输入以下命令 sudo -i #切换到root passwd #修改密码 然后会要求输入新密码,然后再重复一次密码,输入密码的时候不会 ...

  10. PTA之简单阶乘计算

    本题要求实现一个计算非负整数阶乘的简单函数. 时间限制: 400ms 内存限制: 64MB 代码长度限制: 16KB 函数接口定义: int Factorial( const int N ); 其中N ...