[DP地狱训练]Pascal山脉
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山脉的更多相关文章
- 1636: Pascal山脉
1636: Pascal山脉 时间限制: 1 Sec 内存限制: 128 MB提交: 51 解决: 15[提交][状态][讨论版] 题目描述 小卡卡顺着老者所指的方向,来到了Pascal神峰的顶峰 ...
- DP专题训练之HDU 2955 Robberies
打算专题训练下DP,做一道帖一道吧~~现在的代码风格完全变了~~大概是懒了.所以.将就着看吧~哈哈 Description The aspiring Roy the Robber has seen a ...
- dp专题训练
****************************************************************************************** 动态规划 专题训练 ...
- DP专题训练之HDU 1087 Super Jumping!
Description Nowadays, a kind of chess game called "Super Jumping! Jumping! Jumping!" is ve ...
- DP专题训练之HDU 1231 最大连续子序列
Description 给定K个整数的序列{ N1, N2, ..., NK },其任意连续子序列可表示为{ Ni, Ni+1, ..., Nj },其中 1 <= i <= j < ...
- DP专题训练之HDU 1864 最大报销额
做DP一定要注意数组的大小,嗯,就是这样~ Description 现有一笔经费可以报销一定额度的发票.允许报销的发票类型包括买图书(A类).文具(B类).差旅(C类),要求每张发票的总额不得超过10 ...
- 【Tensorflow】 Object_detection之训练PASCAL VOC数据集
参考:Running Locally 1.检查数据.config文件是否配置好 可参考之前博客: Tensorflow Object_detection之配置Training Pipeline Ten ...
- dp周训练 状态压缩
题目链接:题意:给你一个10*10的矩阵,每到一个格子中都要拿一个0-9的数值,求从矩阵左上方走到右下方且必须0-9都经过,拿的数值和最小是多少: #include <iostream> ...
- yolo3使用darknet卷积神经网络训练pascal voc
darknet本来最开始学的是https://github.com/pjreddie/darknet yolo3作者自己开发的,但是它很久不更新了而且mAP值不好观察,于是另外有个https://gi ...
随机推荐
- Linux MMC framework2:基本组件之core
1.前言 本文主要core组件的主要流程,在介绍的过程中,将详细说明和core相关的流程,涉及到其它组件的详细流程再在相关文章中说明. 2.主要数据结构和API TODO 3. 主要流程 3.1 mm ...
- ES系列七、ES-倒排索引详解
1.单词——文档矩阵 单词-文档矩阵是表达两者之间所具有的一种包含关系的概念模型,图3-1展示了其含义.图3-1的每列代表一个文档,每行代表一个单词,打对勾的位置代表包含关系. 图3-1 单词-文档矩 ...
- C++:UNREFERENCED_PARAMETER用法
原文地址:http://www.cnblogs.com/kex1n/archive/2010/08/05/2286486.html 作用:告诉编译器,已经使用了该变量,不必检测警告! 在VC编译器下, ...
- 关于Java Web应用中的配置部署描述符web.xml
一.web.xml概述 位于每个Web应用的WEB-INF路径下的web.xml文件被称为配置描述符,这个 web.xml文件对于Java Web应用十分重要,每个Java Web应用都必须包含一个w ...
- mysql命令行怎么清屏
例如: 怎么清屏? 哈哈 我也百度了半天,之后发现,这是个坑啊,dos(面向磁盘的操作命令)下面我们都是 cls 清屏,所以习惯性的用cls结果报错,打脸了吧.. mysql 命令行窗口不想看到那一堆 ...
- js之观察者模式
观察者模式: 大体上是, 1.松耦合的代码: 2.一对多的关系: 3.主体状态变化时,所有依赖被通知: 4.主体和观察者互不知晓. 基本上,满足上面四点的,就可以算是观察者模式了.来看一个demo, ...
- php和NodeJs共存的开发环境
1 折腾 php nodejs 到一起 nodejs当然很火,就像着火了一样,但是必须承认要搭建一个前端的demo开发环境还是PHP靠谱, windows下可以非常的集成套件,比如http://www ...
- noip 2017 时间复杂度
自认为是少有的复杂的代码 这题思想很简单,就是大模拟 对于for循环,一行读入4个字符串,然后分类讨论: ①:如果是一个正常的O(n),那么累计n的指数加1 ②:如果是一个常数级别的,那么继续循环,但 ...
- Sony笔记本
关机的情况下按键盘 f2键.进菜单选更改 bios设置 修改 3个地方 进bios右移 boot上 第一项 ufei改成 legacy external device改成enabled 下面启动顺序改 ...
- python 全栈开发,Day129(玩具开机提示语,为多个玩具发送点播,聊天界面,app录音,app与服务器端文件传输,简单的对话)
一.玩具开机提示语 先下载github代码,下面的操作,都是基于这个版本来的! https://github.com/987334176/Intelligent_toy/archive/v1.2.zi ...