没太懂怎么用线段树求gt和lt数组,倒是可以用单调栈,创建单调递增的栈,从左往右遍历一次,元素进入的时候栈的大小就是比它小的左边元素个数,一次遍历求出全部lt,同理创建单调递减的栈,从右往左遍历,一次遍历求出全部gt。再从头到尾遍历一次,求每个lt和gt对应位置的积的和。三次遍历,每次时间复杂度o(n),总时间复杂度o(n)
点赞 2

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务