jzoj5669

题意

\(n\) 个数 \(x_1 ~x_n\) 。你需要找出它们的一个排列,满足 \(m\) 个条件,每个条件形如 \(x_a\) 必须在\(x_b\)之前。在此基础上,你要最大化这个排列的最大子段和

做法

  • \(x_i<0\)
    \(i\longrightarrow i'(flow:-x_i)\)
  • \(x_i>0\)
    \(S\longrightarrow i(flow:x_i),i'\longrightarrow T(flow:x_i)\)
  • \(a,b\)
    \(a\longrightarrow b(flow:\infty),a'\longrightarrow b'(flow:\infty)\)

\(ans=\sum [x_i>0]x_i-最小割\)

posted @ 2020-04-08 11:23  Grice  阅读(107)  评论(0)    收藏  举报