AtCoder Regular Contest 108 (A-F) 题解
AtCoder Regular Contest 108 (A-F) 题解
A
枚举P的因子,时间复杂度\(O(\sqrt p)\)
B
从前往后扫,维护一个栈,遇到一个完整的fox,就弹出。时间复杂度\(O(N)\)
C
搞一个生成树,根据父亲的颜色决定当前点的颜色。
D
分类讨论好题,👍
讨论每一种情况,看看字符串有多少形态?
时间复杂度:\(O(n)\)
E
我们可以发现若l和r选择的话,则l,r内部的期望点数实际上与区间[l,r]外是无关的。
所以用dp[l] [r]表示 l,r选择 内部的期望点数。
最终大概长成这样:
\[dp_{l,r}=\sum_{a_r>a_i>a_l}(dp_{l,i}+dp_{i,r})*K
\]
咋优化这个呢?
实际上由于\(a_l<a_r\),所以对于\(f_{l,i}\)我们实际上只需要满足限制: \(a_i<a_r\),同理\(f_{i,r}\)只需要满足限制\(a_l<a_i\)。
所以我们只需要对于每一个\(dp_{l,*}\)和\(dp_{*,r}\)记录一个BIT就可以了。
F
一端在树的直径上,剩下的数学乱搞就可以了。时间复杂度\(O(N)\)。
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号