Есть такая задача: дано подвешенное дерево и запросы к нему. Каждый запрос — путь в графе, причём LCA концов границ этого отрезка — одна из этих границ. В каждой вершине написано число от 0 до n. Для каждого запроса в порядке их поступления требуется идя по нему от 1 границы до другой занулить все вершины, которые равны n, исключая края отрезков таких вершин. Иными словами, если на этом пути встречаются несколько подряд идущих вершин равных n, то с первой и последней из них мы ничего не делаем, а остальным присваиваем 0. Я предполагаю, что данную задачу можно решить сканлайном вида "будем обходить дерево DFS-ом и заходя в вершину, из которой начинается отрезок начинаем занулять, проверяя не конец ли текущая вершина", но по неизвестным причинам такой способ получает WA(вероятно из-за порядка запросов, а он, как видно из условия, важен), был бы рад, если бы кто-нибудь поможет с этой задачей. Желательно предоставить конкретную реализацию или доказательство, что моя идея ошибочна.
Сложно написать стресс тест?
Проблема не в том, чтобы понять, на каких тестах ошибка, а в том, почему она возникает с иденой точки зрения
Зная небольшой тест, несложно понять, в чем ошибка
Ключевое слово небольшой. Когда ошибка возникает при размере графа 10^5+ это сомнительная тактика
Если ошибка в идее, то среди тестов размера до 10~15 точно можно найти контртест. Иначе, баг в реализации.
В таком случае могу лишь скинуть мой сверхкостыльный код
Не говори мне, что пострессил и не нашел маленький тест
https://codeforces.net/blog/entry/64327#comment-482394