USACO 2021 Pt 2 solution
USACO 2021 Pt 2 solution
设\(dp_{i,j,k}\),表示考虑了前i个h,前j个g,后面不能留下一个h/g不匹配的最大值。
其中k=「0,1,2」,分别表示「无限制,不能留h,不能留g」。
转移:
- 
\(|x_i-x_j|> K\),可以直接特判这种转移。 
- 
\(k=0\): 如果要空出了一个h,那么显然需要让一段后面的g全都被匹配,假设区间为[j,z]。那么可以转移到\(dp_{i+1+z-j,z,0}\)。也就是说\([i+2,i+1+z-j]\)和\([j+1,z]\)刚好全部匹配,这个可以预处理得到。 否则一定会空出一个h,有一个重要的发现就是空出h之后后面的限制就只需要考虑那个h了。所以可以转移到\(dp_{i+1,j,2}\)。 
- 
对于其他情况同理 
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号