Блог пользователя map

Автор map, 14 лет назад, По-русски

Здравствуйте!

Сегодня автором задач являюсь я. На контесте Вам будет предложено помочь Челябинским школьникам в решении их нетривиальных проблем.

Выражаю благодарность всем тем, кто помогал готовить раунд: Антону Гардеру за неоценимую помощь в составлении комплектов задач,  Демиду Кучеренко за помощь в составлении условий, Артему Рахову за координирование действий и терпение : ), Марии Беловой за перевод и Михаилу Мирзаянову за великолепную систему.

Всем удачи!

Победитель - Solo.

Разбор - http://codeforces.me/blog/entry/1571

  • Проголосовать: нравится
  • +51
  • Проголосовать: не нравится

14 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
Good luck and have fun!
14 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
Раунд таки состоится) Я рад :) Он обещает быть суровым :)
14 лет назад, # |
  Проголосовать: нравится +18 Проголосовать: не нравится
А где же set? :)
14 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
Всем удачи на контесте! Надеюсь, он будет интересный!
14 лет назад, # |
  Проголосовать: нравится -12 Проголосовать: не нравится
народ я тут 1 раз зарегался где будут задачи,куда их отсылать ?
  • 14 лет назад, # ^ |
      Проголосовать: нравится -10 Проголосовать: не нравится
    когда соревнование начнется, то появятся условия задач, их надо сдавать в проверяющую систему, нажав кнопку "Отослать". 

    P.S. Важно помнить, что решения с файлами не принимаются!
  • 14 лет назад, # ^ |
      Проголосовать: нравится +9 Проголосовать: не нравится
    Интерестно,а ЧАВО ж это такое?
14 лет назад, # |
  Проголосовать: нравится -6 Проголосовать: не нравится
я напишу на делфи мне отсылать файл dpr ?
14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
1110 участников. Не хватило всего одного...
14 лет назад, # |
  Проголосовать: нравится -7 Проголосовать: не нравится
Эх, почти сдал задачку за 0.00 в блокноте. Остальное надо думать, так что лучше пойду качать реферат по политологии :)
14 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
<вопрос снят>
14 лет назад, # |
  Проголосовать: нравится +29 Проголосовать: не нравится
Just solved first problem from android powered mobile, although it took little bit extra time but at least provide me mobility :-)
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
А это нормально, что под релизом lower_bound() работает без эксепшенов с неотсортированным массивом? :-) Под дебагом так валится.
  • 14 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится
    Да, нормально.
    В релизе все проверки обычно отключаются - чтобы даже если что-то пойдёт не так, программа не роняла завод.
14 лет назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится
Я буду читать условия
Я буду читать условия
Я буду читать условия
Я буду читать условия
Я буду читать условия

  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Я тоже - в С не прочитал про то, что нужно вывести количество различных артефактов, а не просто количество...
  • 14 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
    а еще я буду внимательно проверять код перед отправкой!!!
  • 14 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
    Присоединяюсь. Думал, что в D только неотрицательные координаты=(
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      сперва, я кстати не заметил, что вектора с отрицательными координатами, потом таки заметил положительность и забыл обратно про отрицателные(
14 лет назад, # |
Rev. 2   Проголосовать: нравится -13 Проголосовать: не нравится
Может запретить хачить с отрицательными очками?
А то у нас в комнате мазохист появился) Который с 2346pts. идёт до -654pts. и всё больше и больше в абсолютном значении)
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
What's the 4th test case for problem C?
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    for me, i was using a set instead of a multiset, maybe you did the same (or something concerning ordering?
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      I am sure I am handling the ordering. But you never know. Hope someone gives me the 4th test case to test on. Such a long implementation, only to find it fails. :/ 
14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
E надо было посложнее сделать)
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    да вообще как то задачи были явно не по порядку сложности...

    возможно, конечно, это это обусловлено логикой "надо знать крутые структуры", но все же))
    • 14 лет назад, # ^ |
        Проголосовать: нравится +8 Проголосовать: не нравится
      Надо знать правильный язык. Set писать не надо :)
      • 14 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
        Обидно, что на задачу Е можно было юзать готовые структуры, Сишники были в явном выигрыше над Паскалистами(которых не так много).
        • 14 лет назад, # ^ |
            Проголосовать: нравится +3 Проголосовать: не нравится
          С этим тоже надо быть аккуратным. У меня один взлом, на том что человек пользуется структурами, не умея этого делать. Например 100000 вызывать count у мультисета не хорошо. И в си есть много чего другого веселого. 
          А вообще я же не виноват, что кто-то пишет на паскале. Кстати о явном выигрыше.
          • 14 лет назад, # ^ |
              Проголосовать: нравится +2 Проголосовать: не нравится
            А что, факт, что он бы тоже эту задачу писал на паскале?
14 лет назад, # |
Rev. 2   Проголосовать: нравится +5 Проголосовать: не нравится
Вопрос к авторам. Зачем такие длинные имена в задаче С. по-моему 600кб. инпута это не очень хорошо в такой задаче.

UPD: вопрос к участникам. На чем у людей взломы по задаче A??
  • 14 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится
    видел решение взломанное на том что там искалась в тупую сумма иксов+сумма игреков+сумма зетов и сравнивалась с нулем
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Кроме того что это не очень хорошо, авторы, похоже, не добавляли таких тестов, что вдвойне странно. По крайней мере 600кб gets+ stringstream- ов, как по мне, не должны проходить в 30 мс..
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Судя по популярности, и вправду оказалось, что задачи были расположены не в порядке увеличения сложности. Хотя лично у меня даже на С++ последняя задача вызвала наибольшее затруднения.
Что касаемо размеров инпута, то, Павел, соглашусь с Вами, но на мой взгляд это некритично.
  • 14 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
    Я думаю если сильно неаккуратно написать, то можно и TL схватить. А это вряд-ли подразумевалось. Хотя судя по временам работы, тестов на это просто не было.
    • 14 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
      У КФ сервера быстрые, поэтому те тесты которые у тебя на компе падали по времени скорее всего здесь спокойно заходили
14 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
Задачи не очень удачно распределены, на мой взгляд. Сел решать С, полагая, что дальше - сложнее, как итог провозился я с ней больше часа и на остальные задачи времени толком не хватило. А ведь Е решалась на С++ так легко(

UPD. Да, совсем забыл, спасибо за контест)
14 лет назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится
I just can't understand Problem D. For sample 1, "In the first test, Anton goes to the vector (1;2), and Dasha loses", why Dasha loses? Any explanation is appreciated.

Overall, I think it is a nice problemset, but the problem descriptions are not that good. E.g. problem B could be much more concise.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Because Dasha, can't make any move according to the vectors (you don't have to check reflections at all -> see english analysis).
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Не стала писать С, решение простое... но лично для меня, т.к. язык еще не привычен, возни с данными много...
14 лет назад, # |
  Проголосовать: нравится +7 Проголосовать: не нравится
Сегодня в трех задачах из пяти я использовал map :)
14 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
Nice contest!
14 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
I've really enjoyed this round.
Congrats on the excellent problem set..
14 лет назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится
Nice contest! But I have made two STUPID mistakes :( In problem B, i have set initial min value to 1000 instead of 1001 :( And in E, i have forgotten to add line m[a[j]]++; - with these changes, all my code passes :( It's pity nobody hacked my B :(
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
For C and this input:
1 1 2 2
a
b: a 2
c: a 1
1 a
1 a

Why is the answer:
1
c 2

We can make b since b needs 2 a's, and ally #1 has 2 a's. So I don't understand why the answer isn't:
1
b 1
  • 14 лет назад, # ^ |
    Rev. 3   Проголосовать: нравится +1 Проголосовать: не нравится
    Because after getting first 'a' you have to make artifact 'c'.
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Why? The problem statement says:
      "It is guaranteed that after the i-th purchase no more than one opportunity to collect the composite artifact appears. If such an opportunity arose, the hero must take advantage of it."

      But if we make another a, then doesn't that mean that we had *more than one opportunity to collect the composite artiffact", which seems to contradict the problem statement?
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        According to the statement: "If such an opportunity arose, the hero must take advantage of it." You must make 'c', and remove 'a' (all basic artifacts, used to make composite artifact, disappear). Then you have no 'a', you get second 'a' and have to make second 'c'.
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Yes, it seems I just didn't understand the problem statement, although I think it would have been much clearer if the statement I listed below in my reply to philolo1 would have been there.

          But anyway, thanks to the writer for a nice set, keep up the good work!
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    this is because the rule is, that you check after every purchase, whether you can build a component.
    So when we have a we build c. b will never be build.
    • 14 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится +4 Проголосовать: не нравится
      I don't see that rule in the problem statement. The only rule I see is the one  I just mentioned, which makes me think that the composite artifact can only be made once. Anyway, maybe I just didn't understand the problem statement, although I read it about 10 times.

      It would have been much clearer if they had said:

      "As soon as you purchase an item, you have to make whatever composite item you can (if any) at that point in time".


      • 14 лет назад, # ^ |
          Проголосовать: нравится +2 Проголосовать: не нравится
        But it is described here:
        "It is guaranteed that after the i-th purchase no more than one opportunity to collect the composite artifact appears. If such an opportunity arose, the hero must take advantage of it."
        • 14 лет назад, # ^ |
            Проголосовать: нравится +1 Проголосовать: не нравится
          My whole point is that I didn't find that part of the statement very clear.
14 лет назад, # |
Rev. 4   Проголосовать: нравится +1 Проголосовать: не нравится
What would the result be with these input?
For B:
4 4
1 4 20 10
1 4 20 5
3 3 4 30
3 4 4 20
and
4 4
1 4 20 5
1 4 20 10
3 3 4 30
3 4 4 20
14 лет назад, # |
  Проголосовать: нравится +2 Проголосовать: не нравится
How long does it usually take to update the ratings?
14 лет назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится
The problems were really made to suit div 2. Thanks to problem setters. 

But  problem statement D was  confusing for me. 
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
And Of course handle of the today's problem setter is "map" :)
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Сколько время обычно занимает обновление рейтингов после контеста?
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    около 20 минут после окончания проверки кажется
14 лет назад, # |
Rev. 2   Проголосовать: нравится +8 Проголосовать: не нравится

Задача С :

вообще вангвард собирается из виталити бустера, фитка и кольца( которое у лесника продаётся).

то что вангвард собирается из дизолятора и рефрешки, (особенно майилшторм из 2-х персиков)  меня вообще рассмешило =)

дисолятор, персик и рефрешку купить нельзя, они собираются.

К примеру персик это кольцо и войд стоун.

Именно это меня сбивало при осознании задачи.

(кто не в теме, названия артефактов взяли из популярной сетевой игры Warcraft III (карта Dota))

14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
How do I see all the test cases for a problem? I tried in practice, and it only gives me a little of test case 4 for problem C, followed by "..."

Anyway to get the complete test case and expected output?
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Задачу А можно было и посложнее бы, на самом деле.

Решается интуитивно, никаких подводных камней... Зачем такое ставить?

  • 14 лет назад, # ^ |
      Проголосовать: нравится +13 Проголосовать: не нравится
    чтобы очень-очень начинающие что-нибудь сдали :)
    • 14 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится
      Если бы все было настолько просто, то не было бы такого количества взломов по ней, и все бы прошли финальные тесты.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Чтобы людям, которые ничего другого не смогли сдать не было обидно и печально, мне кажется.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
I wonder why my solution in Python for problem 'E' is getting TLE. [ http://pastie.org/1701659 ]

14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
I've solved E using STL set and map. What is the best approach for this problem? Is there any good dp solution which don't use hash table?
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Maybe, but it is harder...
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
I've solved E using segment tree.. wasted coding time.. LOL
14 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
Unfortunately I missed the contest, but I enjoyed E so much. Thanks