На форумі обговорюються лише питання, пов'язані з олімпіадою
Ви не зайшли.
Уважаемое жюри!
Во-первых, хочу выразить благодарность за прием аппеляции по задаче Trees.
Ну а во-вторых, мне кажется (и не только мне - см. пост xXx в ветке про задачу Trees), что в этой задаче есть еще одна ошибка.
А именно входные тесты не соответствуют условию. Экспериментальным путем было установлено, что в тестах имеются деревья с ребрами, концы которых имеют номера больше чем P для этого дерева. Т.е. по сути ребра выходят в несуществующие вершины.
Как это проявляется. Я взял правильное решение Reiten-а с форума - в исходном виде оно набирает 60 баллов в онлайн проверке. В решение добавляется строка, которая вызывает деление на ноль при вершинах больше чем p. (См. строку с комментарием "Проблема").
#include <cstdio> using namespace std; const int maxN=20; const int maxP=50; const int maxV=maxN*maxP; struct edge { int w; edge *next; edge(int W=0,edge *NXT=0):w(W),next(NXT) {} }; edge *adj[maxV]; edge edgs[2*maxV]; int eCnt; int sg[maxV]; inline void AddEdge(int a,int b) { edgs[eCnt]=edge(b,adj[a]); adj[a]=&edgs[eCnt++]; } int CountSG(int v,int prv=-1) { bool reachable[maxP+2]={0}; for(edge *e=adj[v];e;e=e->next) if(e->w!=prv) reachable[CountSG(e->w,v)]=true; for(sg[v]=0;reachable[sg[v]];sg[v]++); return sg[v]; } int main() { int firstv[maxN]; int v,n,p,i,a,b,j,sumsg,cnt; edge *e; // freopen("trees.in","r",stdin); scanf("%d",&n); for(i=0,v=0;i<n;i++) { firstv[i]=v; scanf("%d",&p); for(j=0;j<p-1;j++) { scanf("%d%d",&a,&b); if ((a<1)||(a>p)||(b<1)||(b>p)) n /= 0; ////////// ПРОБЛЕМА AddEdge(a-1+v,b-1+v); AddEdge(b-1+v,a-1+v); } v+=p; } for(i=0,sumsg=0;i<n;i++) sumsg^=CountSG(firstv[i]); if(sumsg) { for(i=0,cnt=0;i<n;i++) for(e=adj[firstv[i]];e;e=e->next) if((sumsg^sg[firstv[i]]^sg[e->w])==0)cnt++; printf("1 %d\n",cnt); } else { for(i=0,cnt=0;i<n;i++) if(sumsg^sg[firstv[i]])cnt++; printf("2 %d\n",cnt); } return 0; }
Такое решение не проходит тесты 21..27. Т.е. делаем вывод, что эти тесты содержат ребра, выходящие за пределы дерева.
В подтверждение этого свидетельствует и то, что только Reiten набрал 60 баллов по этой задаче, но довольно многие набрали 53-54 балла.
Причина прохождения решения Reiten-а состоит в том, что он использует сквозные номера, а другие участники (например, я или xXx) использовали отдельные массивы для каждого дерева.
Поэтому вердикт такой: тесты 21..27 скорее всего некорректны, а решение жюри также использует сквозную нумерацию и потому работает.
Прошу рассмотреть данную аппеляцию и извинить меня, если она не обоснована.
С наступающим Старым новым годом!
Поза форумом
в своем посте в ветке Trees я не совсем это имел ввиду... на мой взгляд тесты соответсвуют условию (тк в условии не оговорено, что вершины эт числа от 1 до P, сказано лишь про корень)...
я вижу проблему в том, что решение, которое плотно размещает деревья (напр через каждые Pi вершин), допускает коллизии(если номера вершин < 1 or > P)... те одни деревья могут нарушать структуру других деревьев(как это сделанно в решении reiten'a и мне кажется в авторском)....
а решение, которое размещает деревья с запасом(напр как сделал Джулгаков Дмитрий) получает wa...(чем больше запас, тем меньше балов )
Відредаговано xXx (2007-01-10 21:37:31)
Поза форумом
xXx написав:
в своем посте в ветке Trees я не совсем это имел ввиду... на мой взгляд тесты соответсвуют условию (тк в условии не оговорено, что вершины эт числа от 1 до P, сказано лишь про корень)...
я вижу проблему в том, что решение, которое плотно размещает деревья (напр через каждые Pi вершин), допускает коллизии(если номера вершин < 1 or > P)... те одни деревья могут нарушать структуру других деревьев(как это сделанно в решении reiten'a и мне кажется в авторском)....
а решение, которое размещает деревья с запасом(напр как сделал Джулгаков Дмитрий) получает wa...(чем больше запас, тем меньше балов )
Такая точка зрения конечно возможна, но тогда все решения будут некорректными, так как я уверен, что ни одно решение не делает принудительной перенумерации вершин, а иначе, можно сделать тесты с вершинами и 1000000 и 1000000000 и т. д.
Поза форумом
Так что я придерживаюсь мнения Дмитрия Джулгакова, что проблема скорее всего в тестах.
Поза форумом
А жюри на посты только смотрит
Поза форумом
necro написав:
А жюри на посты только смотрит
Нет, не только смотрит, еще и проверило еще раз тесты. Все ваши рассуждения интересны, но тесты корректны. В любом случае удельный вес вопроса в общем результате/10 ничтожно мал, на состав участников 4 тура и на их баллы в 4-м туре не влияет НИКАК. Истина, она, конечно, дороже балла за тест, мы ее выясним, но попозже.
Поза форумом
reiten написав:
...............
Такая точка зрения конечно возможна, но тогда все решения будут некорректными, так как я уверен, что ни одно решение не делает принудительной перенумерации вершин, а иначе, можно сделать тесты с вершинами и 1000000 и 1000000000 и т. д.
Да... именно так... нет перенумерации - решение не корректно...(я и не говорил, что все решения должны получать полный бал, просто я намекнул на то, что присутствие запаса на вершины ухудшает бал, хотя ответ должен быть не менее правильным...) Думаю для абсолютной справедливости, если тесты содержат номера вершин больше P то они должны содержать очень большие номера около 1000000000...
Відредаговано xXx (2007-01-11 17:35:50)
Поза форумом
Передумал...
Номер
М.
1) Порядковое число предмета в ряду других однородных.
2) Что-л., обозначенное определенным числом по порядку.
3) ....
........
это цитата из толкового словаря...
номера вершин как и номера страниц в книге это последовательные натуральные числа... (может и не натуральные, может быть целые в любом случае это не соблюдается в тестах)
решение которое перенумеровует вершины получает wa23,24,25...которое максимально плотно размещает вершины деревьев - 60б...
надеюсь когда-нибудь услышать мнение жури по этому поводу....
Поза форумом
Можно вопрос? А этот словарь входит в число официальных документов олимпиады?
Поза форумом
Журі NetOI-2006-Пасіхов написав:
В любом случае удельный вес вопроса в общем результате/10 ничтожно мал, на состав участников 4 тура и на их баллы в 4-м туре не влияет НИКАК. Истина, она, конечно, дороже балла за тест, мы ее выясним, но попозже.
Честно говоря, я уже совсем запутался в причинах этого странного эффекта. Действительно вес вопроса всего 6 баллов - т.е. 0,6 балла на очном туре А что касается истины... подождем архива олимпиады и все прояснится.
Поза форумом
Скажи мужик если бы ты написал межнар был вторым абсолютом и отстал от первого на 1 бал, а после этого к тебе подходит первый абсолют и говорит мужик да ты круче
Відредаговано necro (2007-01-11 22:00:41)
Поза форумом