摘要: 题意:有N个乒乓球运动员,他们每个人都有自己的技能值,且各不相等。现在问你从中选出两个运动员和一个教练组成一场比赛,且要求教练要在两个运动员中间,教练的技能值也要在两个运动员之间。分析:假设选中A[i]当作教练,则我们需要知道A[0]~A[i-1]有ai个小于A[i],者我只需对前i个插入树状数组中有几个小于A[i]几个,也就是求1~A[i]的前缀和。。同理也可以从右往左再用一遍树状数组,即可得A[i+1]~A[n-1]有bi个大于A[i]。。Si=ai*bi+(i-ai)*(n-i-1-bi),再求S和,我们就可以得到结果。感觉自己的文字描述语言弱爆了。。。!!!请原谅// File Nam 阅读全文
posted @ 2013-03-09 18:57 z.arbitrary 阅读(297) 评论(0) 推荐(0) 编辑