蒟蒻第一次用差分约束系统(虽然这题可以上 DP)。
设 Si 表示前 i 只牛中斑点牛的个数。
显然有 0≤Si−Si−1≤1。
再根据题目的限制,有 Sbi−Sai−1=1。
前者和后者都可以拆成两个不等式,然后化为 a−b≤c 的形式,即 Si−1−Si≤0Si−Si−1≤1Sbi−Sai−1≤1Sai−1−Sbi≤−1
于是建边跑 SPFA 即可(此题需要用优先队列或是 SLF 优化)(当然你用容错 SLF + mcfx 优化也能过)。
代码:
1 |
|
蒟蒻第一次用差分约束系统(虽然这题可以上 DP)。
设 Si 表示前 i 只牛中斑点牛的个数。
显然有 0≤Si−Si−1≤1。
再根据题目的限制,有 Sbi−Sai−1=1。
前者和后者都可以拆成两个不等式,然后化为 a−b≤c 的形式,即 Si−1−Si≤0Si−Si−1≤1Sbi−Sai−1≤1Sai−1−Sbi≤−1
于是建边跑 SPFA 即可(此题需要用优先队列或是 SLF 优化)(当然你用容错 SLF + mcfx 优化也能过)。
代码:
1 | #include <cstdio> |