题意
(n)个点带点权DAG,要选择一段连续的拓扑序上的点,使得点权最大。(nle 50)
做法
一段连续的充要条件为:任意一条路径上为不选-选-不选
将每个点拆成两个(X_1,X_2)
对于((X,Y)in E),有(X_1longrightarrow Y_1,X_2longrightarrow Y_2(flow:infty))
- (val_Xge 0),有(Slongrightarrow X_1(flow:val_X)),(X_2(flow:val_X)longrightarrow T)
- (val_X<0),有(X_1longrightarrow X_2(flow:|val_X|))
答案为(sum val_X[val_xge 0]-maxflow)