求助可持久化Trie
查看原帖
求助可持久化Trie
538609
Neutralized楼主2022/4/22 09:26

思路是单调栈求出左右第一个比 aia_i 大的数后确定 aia_i 为最大数的区间 [Lefi,Rigi][\,Lef_i\,,\,Rig_i\,]
然后标记这两个端点,再进行一次单调栈,在每个点入栈前取出 以它为左/右第一大数的数 aia_i ,然后在当前的单调栈里二分查找比 aia_i 大的数

相当于绕开 aia_i 的左右第一个大的数之后求左右第一个大的数的位置,记为 LiL_iRiR_i
于是 aia_i 作为次大数的区间就是 [Li+1,Rigi1][\,L_i+1\,,\,Rig_i-1\,][Lefi+1,Ri1][\,Lef_i+1\,,\,R_i-1\,]

然后对于每个数枚举这两个区间取最大就行了

WA 10 pts,感觉没什么问题,求助(

code

2022/4/22 09:26
加载中...