题目 3109

楼兰图腾

查看题解 ↗GitHub ↗如何评测
题号
3109
时间限制
1000 ms
内存限制
128 MB
标签
树状数组线段树分块

在完成了分配任务之后,西部314来到了楼兰古城的西部。

相传很久以前这片土地上(比楼兰古城还早)生活着两个部落,一个部落崇拜尖刀(‘V’),一个部落崇拜铁锹(‘∧’),他们分别用V和∧的形状来代表各自部落的图腾。

西部314在楼兰古城的下面发现了一幅巨大的壁画,壁画上被标记出了N个点,经测量发现这N个点的水平位置和竖直位置是两两不同的。

西部314认为这幅壁画所包含的信息与这N个点的相对位置有关,因此不妨设坐标分别为(1,y1),(2,y2),…,(n,yn)(1,y_1),(2,y_2),\dots,(n,y_n),其中y1y_1~yny_n是1到n的一个排列。

西部314打算研究这幅壁画中包含着多少个图腾。

如果三个点(i,yi),(j,yj),(k,yk)(i,y_i),(j,y_j),(k,y_k)满足1≤i<j<k≤n且yi>yj,yj<yk1 \le i < j < k \le n 且 y_i > y_j, y_j < y_k,则称这三个点构成V图腾;

如果三个点(i,yi),(j,yj),(k,yk)(i,y_i),(j,y_j),(k,y_k)满足1≤i<j<k≤n且yi<yj,yj>yk1 \le i < j< k \le n 且 y_i < y_j, y_j > y_k,则称这三个点构成∧图腾;

西部314想知道,这n个点中两个部落图腾的数目。

因此,你需要编写一个程序来求出V的个数和∧的个数。

输入格式

第一行一个数n。

第二行是n个数,分别代表y1,y2,…,yny_1,y_2,\dots,y_n。

输出格式

两个数,中间用空格隔开,依次为V的个数和∧的个数。

数据范围

对于所有数据,n≤200000n \le 200000,且输出答案不会超过int64。
y1∼yny_1 \sim y_n 是 11 到 nn 的一个排列。

输入样例:

文本
5
1 5 3 2 4

输出样例:

文本
3 4

来源

  • 《算法竞赛进阶指南》
  • acwing 可能含有视频讲解

数据下载

题目 3109 的公开数据

正在读取文件列表…

常用命令

题目 3109 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。