Ваш графік двосторонній? Тому що, якщо це так: припустимо, що одна сторона ділення розділена, а інша - права. Знайдіть максимальну відповідність та орієнтуйте всі відповідні краї ліворуч на право та всі нерівні краї праворуч наліво. Тоді вершина може бути опущена з максимальної відповідності, якщо і лише якщо виконується одна з трьох наступних (взаємовиключних) умов:v
- вже не має аналогівv
- може бути досягнуто з незрівнянної вершини на його стороні від поділу в отриманому диграфовіv
- може досягати незрівнянної вершини на її стороні від поділу в отриманому диграфові.v
Здійснивши два перших або глибинних пошуку, щоб знайти частини графіка, до яких можна дістатися з неперевершених вершин, і одну, щоб знайти частини, які можуть досягти неперевершених вершин, ви зможете знайти основні вершини за лінійний час, як тільки ви вже є відповідність.
Можливо, щось подібне також буде працювати для випадку, що не має двосторонньої сторони, використовуючи альтернативний пошук шляхів пошуку за контрактом, але деталі будуть складнішими.