题目名称 1260. 三元数对
输入输出 three.in/out
难度等级 ★☆
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 Gravatarcqw 于2012-11-09加入
开放分组 全部用户
提交状态
分类标签
排序 线段树 离散化
分享题解
通过:57, 提交:183, 通过率:31.15%
Gravatar┭┮﹏┭┮ 100 0.014 s 2.75 MiB C++
Gravatarsywgz 100 0.024 s 1.66 MiB C++
Gravatarwolf 100 0.024 s 2.54 MiB C++
Gravatarliu_runda 100 0.027 s 0.86 MiB C++
GravatarAsm.Def 100 0.027 s 1.34 MiB C++
Gravatarliu_runda 100 0.028 s 0.98 MiB C++
Gravatarliu_runda 100 0.028 s 0.98 MiB C++
GravatarAsm.Def 100 0.031 s 1.57 MiB C++
Gravatarzhengtn03 100 0.032 s 1.23 MiB C++
Gravatarzhengtn03 100 0.033 s 1.23 MiB C++
本题关联比赛
20121109
20121109
20200622
关于 三元数对 的近10条评论(全部评论)
longlong持续背刺我(啊啊!!)
Gravatar┭┮﹏┭┮
2023-09-16 21:08 11楼
用归并排序写了一遍,慢了1ms。。。我不是说用归并求逆序对,我是说树状数组离散化的时候排序不用STLsort()(逃)
Gravatarliu_runda
2016-03-04 11:12 10楼
回复 @皮波Forever : 瞎说。。
Gravatarliu_runda
2016-03-04 11:11 9楼
离散化,树状数组扫两遍。一开始竟然把离散化要排序的数组名打错了。。。
Gravatarliu_runda
2016-03-04 10:28 8楼
看完题目直觉是该写个三路归并排序了
Gravatar皮波Forever
2016-03-04 10:25 7楼
将输入数据排序后离散化,用BIT维护每个数出现次数,然后正着倒着分别扫一次(第一次记录lower, 第二次用lower乘上greater,并更新答案)
p.s. QAQQAQQAQQAQ国正叔写的跑好快...@sywgz
GravatarAsm.Def
2014-10-24 20:45 6楼
将这30000个数字重新编号就行了= =一开始写了个O(n^2)算法居然超时
GravatarHouJikan
2014-09-14 15:17 5楼
归并排序的思想,轻松秒杀
GravatarTBK
2012-11-11 07:35 4楼
O(n^2)的DP
GravatarTruth.Cirno
2012-11-09 13:58 3楼
没想到不是暴力也超时了~
Gravatar王者自由
2012-11-09 13:07 2楼

1260. 三元数对

★☆   输入文件:three.in   输出文件:three.out   简单对比
时间限制:1 s   内存限制:128 MiB

【题目描述】

Chineselyl 最近对一种叫做“三元数对”的东西非常感兴趣。在含有 $n$ 个整数的序列 $A_1,A_2,…A_n$ 中,三个数被称作“三元数对”当且仅当 $i<j<k$ 且 $A_i<A_j<A_k$ 。现在 Chineselyl 正忙着准备会考呢,他想请你帮忙统计一下一个整数序列中“三元数对”的个数。

【输入格式】

第一行一个整数 $n$

接下来有 $N$ 行,分别表示这个整数序列的每一项

【输出格式】

输出这个整数序列中三元数对的个数

【样例输入】

5
1
2
2
3
4

【样例输出】

7

【输入输出样例说明】

这 7 个三元数对分别是

1 2 3
1 2 4
1 2 3
1 2 4
1 3 4
2 3 4
2 3 4

【数据规模】

$30\%$ 的数据中 $n \le 100 $

$60\%$ 的数据中 $n \le 2000 $

$100\%$ 的数据中 $n \le 30000, 0 \le A_i \le maxlongint$

注:大规模数据随机生成。