[Logo] Форум DL
  [DL]  На главную страницу 
Индекс форума ->Олимпиадное программирование ->Тактика на командных олимпиадах 1, 2
Автор Сообщение
Гомель-3

Темы: 1
Сообщений: 49

Мой профиль
A + Игорь
B + Даник
C +10 Саша (Неверный просчёт длины массива ответов)
D +1 Даник (Ограничения)
F +2 Саша ( Надо было считать до корня )
H + Игорь
Гомель-3

Темы: 1
Сообщений: 49

Мой профиль
А + Даник
B + Даник
C +8 Игорь(неверные идеи)
D + Саша
F + Игорь
G +1 Саша (Случайно убрал вычитание от N)
H + Даник
J +3 Игорь(Ограничения)
Гомель-3

Темы: 1
Сообщений: 49

Мой профиль
D + Даник
F + Даник
G + Игорь
H +10 Игор( Найкривейшая реализация + недоработаная идея)
I + Саша
J + Игорь
K +3 Игорь(Недоработаная идея)
Михаил Долинский

Темы: 1462
Сообщений: 34594

Мой профиль
А что из 4 задач которые Игорь писал Саша не мог написать ни одну?
Он отказался писать каждую из этих задач?
Александр Лосев

Темы: 2
Сообщений: 17

Мой профиль
Я бы смог решить 3/4 задач , если бы Игорь смог толково объяснить идеи для этих задач.
Михаил Долинский

Темы: 1462
Сообщений: 34594

Мой профиль
Получил по DL-почте

Отправитель Лосев Александр
Дата 12.10.2018 18:27:59
Тема Надо что-то решать
Сообщение Здравствуйте, Михаил Семёнович. У нас в команде такая проблема. После того как Даник решил самые лёгкие задачи, он начинает ничего не делать и общаться с Вовой Великовичем. Надо решит, что после сдачи лёгких задач Даник должен что-то делать,а не сидеть и скучать. Я придумать ничего не могу.  

1. Я согласен с Сашей, я и сам это многократно наблюдал, и даже делал замечания
- Даник через пару часов после начала олимпиады фактически перестаёт в ней участвовать.
По-хорошему, в таких случаях нужно просто его менять на другого - например, Короткова Артёма.
2. Но до отбора (28-го октября) осталось меньше двух недель.
Поэтому предлагаю ДАТЬ ЕМУ ШАНС
- поговорить в воскресенье ДО ОЛИМПИАДЫ на эту тему.
- ВНЕСТИ договорённости в тактику команды.
Однако (на усмотрение команды) можно и сразу заменить.
Даниил Морозов

Темы: 4
Сообщений: 10

Мой профиль
Здравствуйте!
Как сказал Михаил Семёнович: "Есть проблема - надо обдумать и обсудить". Для начала хотелось бы сказать, что у нас есть беседа вконтакте, где есть и я, и Саша, и Игорь. Все таки я считаю, что просить о помощи Михаила Семеновича следует лишь в очень крайнем случае, да и не думаю, что с этой проблемой мы бы не справились сами. Но есть как есть.
Я предлагаю вариант решения данной проблемы. Для начала, если Саша или Игорь хотят меня заменить, то пусть выскажутся об этом. В таком случае, я нахожу бессмысленным рассмотрение моей тактики. Если же я участвую в команде, то готов решить эту проблему следующим образом:
Наша тактика сегодня имеет недостаток, что когда мы с Сашей заканчиваем решение своих задач, решать начинает Игорь. В таком случае наша тактика предусматривает помощь Игорю с моей стороны или со стороны Саши. Чаще всего, Игорь говорит, что ему не нужна помощь и нам с Сашей остаются очень сложные задачи, которые мы не может решить, т.е. я (иногда и Саша) перестаём участвовать в олимпиаде. Я предлагаю, в таком случае не пытаться по одиночке думать над сложными задачами, а выбрать из сложных самую легкую и решать ВМЕСТЕ.
Для порядка и большей продуктивности, предлагаю ввести ряд следующих правил:
1) НИКТО (касается и меня, и Сашу) из команды во время олимпиады не общается ни с кем другим, кроме сокомандников.
2) Вопрос еды. Отсидеть 5 часов без еды, я считаю, достаточно сложно. Значит нам нужно и поесть, и сделать это максимально эффективным.
Тогда каждый, кто хочет поесть, приносит свою еду и может идти есть только в том случае, когда сдаёт все задачи, которые может. При этом на еду выделяется не более 10-15 минут. Также, во время обеденного перерыва, он должен думать над какой-нибудь задачей.
3) Всё-таки я считаю, что целесообразнее сначала попытаться решать проблемы с командой и только в крайнем случае просить о помощи Михаила Семеновича.
Мне кажется, что любую проблему всегда можно решить. Если все согласны с моим решением, то оно вступает в силу с ЗАВТРАШНЕГО дня. Если же нет, прошу отписаться
С уважением, Даниил.
Михаил Долинский

Темы: 1462
Сообщений: 34594

Мой профиль
Я поддерживаю все предложения Даника по тактике, но хочу добавить следующее

Игорь слишком рано уходит на компьютер.
Думаю, будет более эффективно, если он попытается объяснять БОЛЬШЕ задач
Саше или Данику или обоим одновременно.

Если идеи задач не настолько сложные, чтобы Саша и Даник (по отдельности или вместе)
их не могли в принципе понять, надо объяснять им подробнее и понятнее, чтобы
кто-то из них или они вдвоём (что хуже) пошли писать решение.

Главный придумывальщик - Игорь, значит его за комп не нужно пускать ВПЛОТЬ до последнего часа олимпиады.
Так ВЫГОДНЕЕ для Вашей команды.

Ну и, естественно, Даник и Саша должны прилагать все усилия, чтоб понять объяснения Игоря,
а Игорь должен прилагать все усилия, чтобы Данику и Саше было проще его понять.
Игорь Морев

Темы: 3
Сообщений: 6

Мой профиль
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;

int main()
{
//freopen("BIRTHDAY.in","r",stdin);freopen("BIRTHDAY.out","w",stdout);
int n,m,a[100],i,j,a2,b[100]{0},k,k1,k2,k3;
queue<int> X;
string a1,a3,ss[100];
bool b1,c[100];
fill(c,c+100,false);
vector<pair<string,int> > v;
map<int,int> za[100];
map<int,int>::iterator s1;
vector<pair<pair<int,int>,int> > v1;
cin>>n;
for(i=0;i<n;i++)
{
cin>>a1;
ss[i]=a1;
v.push_back(make_pair(a1,1000000200));
}
cin>>m;
for(i=0;i<m;i++)
{
j=0;
cin>>a1>>a2;
b1=false;
while(j<v.size())
{
if(v[j].first==a1)
{
v[j].second=min(v[j].second,a2);
b1=true;
break;
}
j++;
}
if(!b1)
{
v.push_back(make_pair(a1,a2));
}
}
sort(v.begin(),v.end());
cin>>k;
for(i=0;i<k;i++)
{
cin>>k1;
cin>>a1;
k2=lower_bound(v.begin(),v.end(),make_pair(a1,0))-v.begin();
b1=v[k2].first==a1;
if(b1)b[k2]++;
if(b1)c[k2]=true;
if(b1)v1.push_back(make_pair(make_pair(k1,0),k2));
for(j=0;j<k1;j++)
{
cin>>a3;
k3=lower_bound(v.begin(),v.end(),make_pair(a3,0))-v.begin();
if(v[k3].first==a3 && b1) za[k3][i]++;
}
}
for(i=0;i<v.size();i++)
if(!c[i] && v[i].second!=1000000200)
X.push(i);
while(!X.empty())
{
a2=X.front();
X.pop();
b1=false;
if(v[a2].second==1000000200) b1=true;
for(s1=za[a2].begin();s1!=za[a2].end();s1++)
{
v1[s1->first].first.first-=s1->second;
if(b1 || v1[s1->first].first.second==-1)v1[s1->first].first.second=-1;
else v1[s1->first].first.second+=v[a2].second*s1->second;
if(v1[s1->first].first.first==0)
{
if(v1[s1->first].first.second!=-1)v[v1[s1->first].second].second=min(v[v1[s1->first].second].second,v1[s1->first].first.second);
b[v1[s1->first].second]--;
if(b[v1[s1->first].second]==0)X.push(v1[s1->first].second);
}
}
}
int ans=0;
b1=false;
for(i=0;i<n;i++)
{
k3=lower_bound(v.begin(),v.end(),make_pair(ss[i],0))-v.begin();
ans+=v[k3].second;
if(1000000200==v[k3].second) {b1=true;break;}
}
if(b1) cout<<"-1";
else cout<<ans;
}
Михаил Долинский

Темы: 1462
Сообщений: 34594

Мой профиль
Прошла 1-ая Питерская олимпиада.
Таблица результатов
43-ое место, 6 решённых задач из 10.

Не плохо (в усложнённый уровень прошли, я думаю), а как лучше?
Программа-минимум - не проигрывать Гомель-2.
 
Индекс форума ->Олимпиадное программирование ->Тактика на командных олимпиадах 1, 2
Time:0,062