拆点(WA)
for (ri i = 1, k, x; i <= m; ++i)
{
read(k);
for (ri j = 1; j <= k; ++j) read(w[j]);
for (ri j = 0, pre = i + n; j < k; ++j, pre = cnt)
{
read(x);
add(pre, t, w[j + 1] - w[j], x), add(t, pre, 0, -x);
add(pre, ++cnt, inf, 0), add(cnt, pre, 0, 0);
}
read(x), add(cnt, t, inf, x), add(t, cnt, 0, -x);
}
不拆点(AC)
for (ri i = 1, y = n + 1, k, x; i <= m; ++i, ++y)
{
read(k);
for (ri j = 1; j <= k; ++j) read(w[j]);
for (ri j = 0; j < k; ++j)
{
read(x);
add(y, t, w[j + 1] - w[j], x), add(t, y, 0, -x);
}
read(x), add(y, t, inf, x), add(t, y, 0, -x);
}
其他地方都一样