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

Автор deinier, 12 лет назад, По-английски

Hi everybody:

Remember that tomorrow will be this round in TopCoder. Here you have the link: http://community.topcoder.com/tc?module=MatchDetails&rd=15173 and registration will start at 09:00 AM EDT and the contest will start at 12:10 PM EDT. You can check the time for your country here: http://www.timeanddate.com/worldclock/fixedtime.html?&day=04&month=08&year=2012&hour=12&min=10&sec=0&p1=179. Have a nice contest!!!!

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

»
12 лет назад, # |
  Проголосовать: нравится +17 Проголосовать: не нравится

Как решать 1000?

  • »
    »
    12 лет назад, # ^ |
    Rev. 3   Проголосовать: нравится +22 Проголосовать: не нравится

    Пусть мы знаем, сколько есть способов построить дерево с K крутыми(будем называть их так) фруктами для всех K. Тогда задача решается очевидным Meet-in-the-Middle. Научимся искать это число (назовем его f(K)).

    Пусть у нас есть B горьких фруктов. Тогда построим граф, в котором вершины разделены на 3 типа: K вершин первого типа, B вершин второго и остальные — третьего. Проведем ребра между всеми парами вершин, кроме тех, в которых оба элемента пары принадлежат первому типу, либо один принадлежит первому, а второй — третьему. Найдем количество остовных деревьев в таком графе, посчитав соответствующий определитель (назовем это количество g(K)). Тогда посчитаем динамику:

    .

    Ну а дальше все просто.

»
12 лет назад, # |
  Проголосовать: нравится +27 Проголосовать: не нравится

I feel so unlucky. I've finished debugging my 1000ptr 4 minutes before the end of the coding phase. It works fine locally on Visual Studio, but gives wrong answer to the last sample on gcc. Probably, I have memory leak somewhere. Moreover, as far as I know, I'm not the only one with the same problem.