摘要:
题意:给定一个n个元素的数列,令Ai, Aj, Ak,使得 Ai < Aj > Ak 且 i < j < k这样的三个数为一组。求出一共有多少组。分析:n最大可达50000,常规的暴力枚举的话,复杂度为O(n^2),1s的时限肯定会超时。考虑树状数组:树状数组通常用于解决以下问题:数组{a}中的元素可能不断地被修改,能快速地获取连续几个数的和。令num[i]做c[]的下标,来检索树状数组对于本题数列中每输入一个元素num[i],就在树状数组num[i]位置,即c[num[i]]加1,表示这里有一个数。这样,sum(num[i]-1) ,即c[1]+c[2]+...... 阅读全文
posted @ 2012-10-03 16:38
MicZ
阅读(151)
评论(0)
推荐(0)