|
Яндекс проводит чемпионат по программированию | ☑ | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
0
Escander
06.06.13
✎
17:10
|
Ссылка на привила:
http://algorithm.contest.yandex.ru/rules/ перечень языков: http://algorithm.contest.yandex.ru/compilers/ из местных кто-то примет участие или все настолько ленивы? |
||||||||||
314
sda553
07.07.13
✎
15:25
|
первое место успело за 9 минут, мгновенно вспомнить про эрдеша-штрауса, решить вторую задачу, сделать код для прекалька, запустить (что более двух минут), сделать код с прекальком, отослать.
|
||||||||||
315
NS
07.07.13
✎
15:31
|
(314) Для решения второй задачи не надо вспоминать про Эрдера-штрауса.
Достаточно предположить что разложение всегда есть, запустить тест до 15000, и убедиться в этом. На codeforce есть пост от одного из решивших, он ничего про эрдера-штрауса не знал. И повторю - оба решивших сделали без прекалка. |
||||||||||
316
NS
07.07.13
✎
15:32
|
Про 9 минут, мгновенно и т.д. - вообще ничего не понял.
|
||||||||||
317
NS
07.07.13
✎
15:35
|
Первое место, кстати - всего-лишь призер чемпионата мира.
Странно думать что призеру чемпионата мира недостаточно 10 минут на каждую из данных задач. |
||||||||||
318
sda553
07.07.13
✎
15:35
|
первое место, отправило задача А на 25-ой минуте, а задачу Б на 34-ой. Разница в 9 минут
|
||||||||||
319
NS
07.07.13
✎
15:37
|
(318) И чего в этом странного?
|
||||||||||
320
NS
07.07.13
✎
15:38
|
http://codeforces.ru/blog/entry/8168#comment-138805
Вот его решение |
||||||||||
321
sda553
07.07.13
✎
15:40
|
(319) в том что у меня решение этой задачи, причем с невписывающимся в таймлайн временем исполнения заняло полдня.
Отсюда вопрос, смысл мне лезть в такой чемпионат. Я вижу, что я опытный программист, и способен решить любую из этих задач, но за 10 минут я это сделать не могу |
||||||||||
322
NS
07.07.13
✎
15:47
|
(321) Считается что в спортивном программировании чемпионы пишут примерно в 20 раз быстрее середнячков. Середнячков олимпиадного программирования, имеющих опыт и достижения. :) Насчет шансов выйти в финал я написал в самом начале - абсолютно без шансов, человеку не имеющему опыта в олимпиадном программировании. Это примерно то-же самое что шашист выучит правила шахмат, и тут-же захочет выйти в финал ЧМ.
А вот шансы на футболку например у меня есть. |
||||||||||
323
NS
07.07.13
✎
15:49
|
Ну и возможность оценить свои силы.
|
||||||||||
324
NS
07.07.13
✎
15:49
|
(321) В смысле способен решить любую из этих задач?
Вторую ты не решил. |
||||||||||
325
sda553
07.07.13
✎
15:54
|
(324) Почему же, я просто не захотел реализовывать прекальк, т.к. не нащел интересным это делать. Или у тебя сомнения, что я прекальк map не смогу сделать?
А то решение, что у меня есть, легко спосрбно такой прекальк сформировать....секунд за 15 Из его решения я понял, что надо запастись на чемпионат прекальком простых чисел, где нибудь до миллиона. |
||||||||||
326
NS
07.07.13
✎
15:57
|
(325) Нет, ты не смог как он уложить в две секунды без прекалка.
Не нужен прекалк простых чисел. А нужна всего-лишь заготовленная процедура факторизации. Которая есть у всех сильных олимпиадных программистов. Хотя на результат она особо не влияет. Готов поспорить что за две минуты любой из чемпионов легко напишет её с нуля. А поиск простых чисел напишет с нуля за минуту. |
||||||||||
327
sda553
07.07.13
✎
16:02
|
(326) Я и не говорил, что решу задачу как он, без прекалька.
Меня вообще удивляет, что его решение прокатило в таймлайн. Оно разве что для 24k+1 проканает |
||||||||||
328
NS
07.07.13
✎
16:12
|
(327) В смысле? Я тебя не понимаю. Как ты считал сколько времени занимает его решение? У него за десятую долю секунду сосчитало для всех чисел до 15000.
Проверил - поиск простых чисел Эратосфеном и я за минуту напишу. Поиск всех простых до миллиона занимает тысячную долю секунды. |
||||||||||
329
NS
07.07.13
✎
16:14
|
import java.io.*;
import java.util.*; public class z2 { public static void main(String[] args) throws IOException { PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out)); boolean[] a = new boolean[1000000]; Arrays.fill(a, true); int ch=0; for (int i = 2; i < 1000000; i++) if (a[i]) { //out.print(i); out.print(' '); ch++; for (int j = i + i; j < 1000000; j += i) a[j] = false; } out.println(ch); out.flush(); } } 78498 простых чисел до миллиона. |
||||||||||
330
NS
07.07.13
✎
16:22
|
Имея простые числа написать быструю факторизацию - еще 1 минута писанины.
|
||||||||||
331
NS
07.07.13
✎
18:17
|
Вот такая кривизна на Java у меня во второй задаче зашла (время решения одна секунда)
|
||||||||||
332
NS
07.07.13
✎
18:17
|
import java.io.*;
import java.util.*; public class z2 { public static int[] p = new int[100000]; public static long res(long m, long n, long c, long k, int nom) { if (k >= n * c) return 0; if ((k + c * n) % (4 * c - n) == 0) return k; while (p[nom] <= n) { int ch = 0; long p1 = p[nom]; long m1 = m; while (m1 % p1 == 0) { ch++; m1 /= p1; } m1 = m / p1; long k1 = k * p1; for (int i = 1; i <= ch; i++) { long l = res(m1, n, c, k1, nom + 1); if (l > 0) return l; m1 /= p1; k1 *= p1; } nom++; } return 0; } public static void main(String[] args) throws IOException { File file = new File("fraction.in"); File file1 = new File("fraction.out"); FileOutputStream fos = new FileOutputStream(file1); Scanner in = new Scanner(file); PrintWriter out = new PrintWriter(new OutputStreamWriter(fos)); // Scanner in=new Scanner(System.in); // PrintWriter out = new PrintWriter(new // OutputStreamWriter(System.out)); boolean[] a = new boolean[100000]; Arrays.fill(a, true); int ch = 0; for (int i = 2; i < 100000; i++) if (a[i]) { p[ch] = i; ch++; for (int j = i + i; j < 100000; j += i) a[j] = false; } long[] r1 = new long[15001]; long[] r2 = new long[15001]; long[] r3 = new long[15001]; Arrays.fill(r1, 0); Arrays.fill(r2, 0); Arrays.fill(r3, 0); for (int i = 4; i <= 15000; i++) if (r1[i] == 0) { long n = i; for (long c = n / 4; c <= 3 * n / 4; c++) { if (4 * c > n) { long l = res(n * c * n * c, n, c, 1, 0); if (l > 0) { r1[i] = ((n * n * c * c / l + c * n) / (4 * c - n)); r2[i] = ((l + c * n) / (4 * c - n)); r3[i] = c; for (int j = i + i; j <= 15000; j += i) if (r1[j] == 0) { r1[j] = r1[i] * j / i; r2[j] = r2[i] * j / i; r3[j] = r3[i] * j / i; } break; } } } } int k = in.nextInt(); for (int i = 0; i < k; i++) { int pp = in.nextInt(); out.print(r1[pp]); out.print(' '); out.print(r2[pp]); out.print(' '); out.println(r3[pp]); } out.flush(); out.close(); in.close(); } } |
||||||||||
333
NS
07.07.13
✎
18:22
|
вру, намного быстрее секунды, так как в секунду вошел ввод/вывод. И такое решение если нет разложения - это увидит, и даст правильный ответ.
|
||||||||||
334
NS
07.07.13
✎
22:54
|
Кому интересно, четвертая задача.
На самом деле проще первой. Решается "в лоб", полным перебором. Вывод результата сделал "методом треугольника" Такой используется для вывода PV в шахматных программах. |
||||||||||
335
NS
07.07.13
✎
22:55
|
import java.io.*;
import java.util.*; public class z3 { public static long[][] res = new long[1000][1000]; public static int r(long n, int kol, long nach) { int max = 0; res[kol][kol] = n; for (long i = nach; i * (i + 1) <= n; i++) { if (n % i == 0) { int max1 = r(n / i, kol + 1, i + 1); if (max1 > max) { max = max1; res[kol][kol] = i; for (int j = kol + 1; j <= kol + max; j++) res[kol][j] = res[kol + 1][j]; if (kol <= 1) break; } } } return max + 1; } public static void main(String[] args) throws IOException { Scanner in = new Scanner(System.in); PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out)); //Scanner in = new Scanner(new FileReader("proddiff.in")); //PrintWriter out = new PrintWriter(new OutputStreamWriter( // new FileOutputStream("proddiff.out"))); long n = in.nextLong(); int kol = r(n, 0, 1); out.println(kol); for (int i = 0; i < kol; i++) { out.print(res[0][i]); out.print(' '); } out.println(); out.flush(); out.close(); in.close(); } } |
||||||||||
336
8vC1
08.07.13
✎
03:11
|
Этот изврат (яндекс алгоритм) не для тру кодеров, а для людей которые собирают и главное помнят решения подобных задач, на самом деле они все простые и решаются с помощью вложенных циклов и периодических проверок условий. Участников даже язык не поднимается называть программистами. Как правило 90 % участников студенты-неудачники, у которых полно свободного времени. И само предназначение данных турниров, скрытая реклама компании спонсора. Обходите эту мерзость, не стоит оно того, да и футболка с любым логотипом стоит 500 р.
Нет |
||||||||||
337
NS
08.07.13
✎
10:24
|
Верно заметил. Это не для быдлокодеров, а для нормальных программистов. Половина победителей работает в гугле, яндексе, фейсбуке и т.д. А остальные просто успешные студенты, которые уже зарабатывают приличные деньги на призах, и имеют обеспеченное трудоустройство в приличных компаниях.
|
||||||||||
338
sda553
08.07.13
✎
10:35
|
(333) Это не твое решение, ты просто списал то, что было в (320)
(328) Объясняю, я оценил предложенный брутфорс и мне показалось, что он фуфловый по производительности (вероятно недалеко ушел от моего решения). А то, откуда взялась производительность, это вот это вот решето: for (int j = i + i; j <= 15000; j += i) if (r1[j] == 0) { r1[j] = r1[i] * j / i; r2[j] = r2[i] * j / i; r3[j] = r3[i] * j / i; } которое отсутствует в моем решении, но у меня была уже идея реализовать его в (297) Я уверен, если к моему решению приделать это решето, то оно так же не проиграет в производительности. Сейчас правда уже не проверишь, т.к. почему то закрыли загрузку задач |
||||||||||
339
sda553
08.07.13
✎
10:42
|
На четвертой я лопухнулся, как и большинство участников: решил, что надо выбирать минимальные делители, потом так же переделал ее на перебор всех делителей.
Отсюда вопрос, при сдаче задания в открытую сообщается номер проваленного теста. А что в этом тесте - видно? |
||||||||||
340
NS
08.07.13
✎
10:48
|
(338) В смысле списал?
Я ни строчки кода ни с кого не списал. :) Я вроде и не говорил что это мой алгоритм, тяжело написать свое, когда уже читал верное решение. Его решение лучше твоего, потому что количество делителей n*n*c*c заметно меньше чем второй цикл в твоем решении. Чистое время счета для всех чисел от 4 до 15000 (без учета ввода и компиляции) на Java на моей машине - 0.050 секунд. (339) Видно с какой ошибкой валится тест. Неправильный результат, нехватка памяти, или не уложился в время. Видно с какой ошибкой валится независимо от того в темную или светлую послал. В темную - проверяется на легких тестах. На тяжелых только после окончания контеста. В светлую - сразу на всех. Других отличий нет. |
||||||||||
341
sda553
08.07.13
✎
11:03
|
(33) В смысле того, что ты просто облек в код то, что было уже выведено другими.
(340) у меня на второй цикл попадает только в тяжелых запущенных случаях, типа числа 49, т.е. это будет 1 случай из 24-х. К тому же сам автор решения признает это: "Но если это объединить с конструктивом и запускать только для простых чисел вида 24*k+1, то должно получится мега шустро " (339) т.е. при сдаче в открытую мне скажут "Тест 15 WA" и дальше гадай сам что за тест смог с 15 попытки завалить мой алгоритм на неправильный ответ |
||||||||||
342
NS
08.07.13
✎
11:08
|
(341) 1. я не понял, к чему ты это. Естественно если я видел его пост и его алгоритм, и это лучшее брутфорсное решение, то реализовано будет именно оно.
2. Тоже не понял к чему это. Оба решивших не знали этой задачи. И при этом решили. Какая разница с какими ограничениями можно решить задачу если заранее знать её теорию? 3. Да. Будет сказана только ошибка, сам тест не покажут. |
||||||||||
343
sda553
08.07.13
✎
11:13
|
Ладно, собираюсь вступить в борьбу завтра во второй половине дня. Сегодня наделаю заготовок:
- Эратосфен - Рекурсивный перебор делителей - Нахождение обратной матрицы может еще чего в голову придет |
||||||||||
344
NS
08.07.13
✎
18:00
|
Насчет использования чужого кода -
"Разрешается использование любого prewritten code, опубликованного в Интернете до старта квалификации, в случае, если это не нарушает права автора данного кода." Хороший сборник алгоритмов - http://e-maxx.ru/algo/ И заметно ускоряют написание заготовки по вводу-выводу (работа с файлами, ввод массива) |
||||||||||
345
NS
08.07.13
✎
19:45
|
http://algorithm.contest.yandex.ru/
Стартовал квалификационный раунд. Записаться еще можно, начать решать можно в любое время до 9 июля 19.00 по Москве. На решение отводится 100 минут (1ч.40м.) |
||||||||||
347
NS
08.07.13
✎
20:37
|
(346) А где ты смотришь статистику?
|
||||||||||
348
NS
08.07.13
✎
20:40
|
Положение ведь можно смотреть только после старта, после начала отсчета времени?
|
||||||||||
349
NS
08.07.13
✎
20:43
|
(346) Обсуждение запрещено правилами соревнований, поэтому "во избежание" пост скрою.
|
||||||||||
350
sda553
08.07.13
✎
21:19
|
(348) хм, действительно скрыли. Но было доступно положение час назад и даже названия задач прочитал. А сейчас только большая кнопка старта.
|
||||||||||
351
sda553
08.07.13
✎
21:23
|
А не - оказывается если зайти на сайт соревнований не авторизовываясь, или просто выйти - то положение участников доступно
|
||||||||||
352
NS
08.07.13
✎
22:30
|
(351) ИМХО это глюк.
|
||||||||||
353
NS
08.07.13
✎
22:32
|
Короче, я закончил. Не очень удачно, не хватило чуть времени для решения еще одной задачи. Но и так нормально.
|
||||||||||
354
NS
08.07.13
✎
22:35
|
Задал вопрос - подтверили что это баг, никто не должен естественно видеть статистику. Так что пост с статистикой удаляю.
|
||||||||||
355
NS
09.07.13
✎
04:16
|
Решил в режиме дорешивания все задачи.
Точнее все кроме одной, которой решение вывел, но реализовать уже не в состоянии. Вырубаюсь. Ушло на решение всех задач (кроме кодирования проблемной) около 5 часов. То есть чтоб решать всё, нужно ускоряться как минимум в три раза. |
||||||||||
356
sda553
09.07.13
✎
09:06
|
ого, ты всю ночь что ли не спал? Ты же вроде вышел уже в отборочный, чего ты там вообще решал?
5 часов это немного, у меня где то столько же ушло на вторую задачу в тестовом раунде (если считать с той точки зрения, что я ее все таки решил) |
||||||||||
357
Escander
09.07.13
✎
09:49
|
господа, может вопрос нубовский, но никто не знает каким методом 1С решает СЛАУ которая строится при расчёте себестоимости при РАУЗ?
|
||||||||||
358
Escander
09.07.13
✎
10:28
|
вопрос снят
|
||||||||||
359
NS
09.07.13
✎
11:03
|
(356) спал конечно. :)
|
||||||||||
360
NS
09.07.13
✎
18:24
|
Отослал последнюю неотосланную задачу - ведикт ОК, так что все задачи у меня (правда в режиме дорешивания) решены.
|
||||||||||
361
sda553
09.07.13
✎
18:46
|
Я что то перенервничал, 2 задачи ушли быстро, на 3-ю убил кучу времени - пытался ее даже бросить, но другая задача что то еще хуже, кинулся на бесконечный ряд, потерял время на изучение теории, бросил. В итоге что попало вышло. На конец времени был на 118-ом аж месте (но я там в темную отправил поэтому еще съеду скорее всего)
|
||||||||||
362
sda553
09.07.13
✎
18:49
|
10 минут осталось до конца раунда
|
||||||||||
363
sda553
09.07.13
✎
19:03
|
243-244 место в итоге у меня. Вообщем прошел
|
||||||||||
364
NS
09.07.13
✎
19:09
|
Через 1,35 можно будет обсуждать.
|
||||||||||
365
NS
09.07.13
✎
19:12
|
В той, которую ты решал последней - меня сглючило неподеццки, вместо того чтоб погуглить я решил что точно знаю ответ.
|
||||||||||
366
sda553
09.07.13
✎
19:17
|
Что то не понимаю, раунд вроде кончился, а я что то все съезжаю и съезжаю по чуть чуть вниз, уже 248-249
|
||||||||||
367
sda553
09.07.13
✎
19:18
|
а... понял
|
||||||||||
368
NS
09.07.13
✎
19:19
|
Раунд закончится в 20.40
|
||||||||||
369
NS
09.07.13
✎
19:23
|
Турист красиво решил все задачи в темную.
|
||||||||||
370
NS
09.07.13
✎
20:39
|
(361) решение ряда под спойлером.
|
||||||||||
371
NS
09.07.13
✎
20:40
|
Сделаем замену, x=1/b
И посмотрим во что превращается ряд при a=0. Теперь возьмем почленно производную по х при любом а, и домножим на х. Чтоб проще считать программно производную в радикалах, сделаем замену к=x-1 (x=k+1) Получив формулу, подставив 1/к = b/(b-1) можно решить задачу в целых числах. |
||||||||||
372
NS
09.07.13
✎
20:44
|
А сглючило меня что если позиция в игре ним выиграна, то выигрывающий ход один, хотя понятно что это не так, например возьмем нечетное количество кучек по одному камню.
Что нужно искать количество единиц в старшем разряде с нечетным количеством единиц, я нагуглил в последнюю минуту контеста. Надо было конечно пятую решать. Она простая. Я её после контеста решил легко и быстро. |
||||||||||
373
sda553
10.07.13
✎
09:20
|
(371) Это то я быстро нашел, что взять производную по z и домножить на z, https://en.wikipedia.org/wiki/Polylogarithm#Particular_values
Но потом я почему то подумал, что не стоит вычислять для всех 10-ти а производные, т.к. много времени займет+риск ошибки и решил, что надо использовать ту формулу, которая с S(n,k) числа Стирлинга второго рода. Я попытался набросать небольшой алгоритм, для вычисления чисел Стирлинга он не сошелся, и я бросил, т.к. понял, что увязаю в этой задаче и теряю время |
||||||||||
374
NS
10.07.13
✎
10:14
|
(373) Я не имел в виду ручной расчет производных.
Вот мой код. http://likecode.ru/code/51dc4d97afb73/ Делаем замену, x=1/b При a=0 получаем ряд x+x^2+x^3... Почленно продифференцируем, и полученный ряд домножим на x. Получим 1*x+2*x^2+... — то есть получили ряд при a=1. Еще раз почленно продифференцируем и домножим на x. Получим 1^2*x+2^2*x^2+3^2*x^3... — ряд при a=2 и т.д. Сумма ряда при a=0 равна x/(1-x), сделаем замену t=x-1 (то есть x=t+1) Сумма ряда при этом стала равна -1-1/t. Возьмем производную, получим 1/t^2, домножим на x=t+1, получим 1/t+1/t^2 — это сумма ряда при a=1. Опять возьмем производную, и домножим на (t+1) и т.д. Коэффициенты при 1/t^j — будем хранить в массиве. Получив все коэффициенты сделаем замену 1/t=b/(1-b) |
||||||||||
375
NS
12.07.13
✎
17:50
|
Комментарий к популярной фразе "Могу решить ЛЮБУЮ олимпиадную задачу".
http://codeforces.ru/blog/entry/8265#comment-140481 Если в том году были задачи, которые я до сих пор не знаю как решать, то задачи этого года.... // То есть двукратный медалист чемпионата мира не может решить любую задачу. |
||||||||||
376
NS
14.07.13
✎
20:45
|
Через 15 минут стартует первый тур основной части.
http://algorithm.contest.yandex.ru/contest/308/enter/ |
||||||||||
377
NS
14.07.13
✎
22:41
|
Я каким-то образом умудрился накосячить (втемную) в третьей, простейшей задаче :(
В итоге вместо сразу выигранной футболки, 130 место. |
||||||||||
378
8vC1
14.07.13
✎
23:26
|
(377) Где можно посмотреть условия задач ?
|
||||||||||
379
NS
14.07.13
✎
23:34
|
(378) для не участников еще не выложены.
|
||||||||||
380
NS
14.07.13
✎
23:55
|
Вот задача которую никто не решил.
|
||||||||||
381
NS
14.07.13
✎
23:56
|
Государственные дороги
Ограничение времени 5 секунд Ограничение памяти 512Mb Ввод стандартный ввод Вывод стандартный вывод Легенда В средние века на территории Байтландии существовало несколько государств. При этом границы государств постоянно изменялись, в результате чего крупные города переходили из одного государства в другое. Сейчас историки пытаются выяснить конфигурацию государств в разное время. Один из применяемых ими способов основывается на упоминании в хрониках статуса соединяющих города дорог. Если в какой-то исторический момент дорога имеет статус государственной, то историки считают, что соединяемые ею города в этот момент точно принадлежат одному и тому же государству. Однако для передвижения использовались и дороги местного значения, о которых хроники даже не упоминают. Поэтому утверждение о том, что любые два города в одном государстве соединены государственной дорогой, в общем случае неверно, равно как и утверждение, что между любыми двумя городами, принадлежащими одному государству, можно было проехать исключительно по государственным дорогам. Для проверки этого подхода историкам нужна система, сохраняющая данные о статусе дорог в хронологическом порядке и отвечающая на запросы относительно того, возможно ли, что в текущий (с точки зрения внутренней хронологии системы) момент заданные города — и только они — образовывали единое государство. Формат ввода Первая строка ввода содержит два целых числа n и q (1 ? n ? 1?000?000, 1 ? q ? 2?000?000) — количество городов в средневековой Байтландии и количество событий (записей в хрониках и запросов). Города занумерованы последовательными целыми числами от 1 до n. Далее идут события и запросы, перечисленные в хронологическом порядке (запрос относится к тому моменту времени, когда произошли все перечисленные до него события, но не произошло ни одного события, перечисленного после него). Каждая из q строк обозначает событие или запрос и имеет следующий формат: «» (событие первого типа) обозначает, что дорога между городами u и v получила статус государственной (1 ? u < v ? n); «» (событие второго типа) обозначает, что дорога, которая получила статус государственной в результате m-го с начала хроник события первого типа, перестала быть таковой (m может принимать значения от 1 до количества событий первого типа, произошедших перед данным); «» — запрос: могло ли на момент, описываемый всеми уже обработанными событиями, существовать государство, список городов которого состоял из k городов с номерами (1 ? k ? n, 1 ? u1 < u2 < … < uk ? n). На всех упоминаемых в хрониках дорогах движение является двусторонним, при этом любые два различных города соединены не более чем одной дорогой. На момент инициализации базы (до первого запроса) ни одна дорога не имела статуса государственной. Одна и та же дорога может менять статус с государственной на обычную и наоборот сколько угодно раз. Гарантируется, что каждое m встретится в событиях второго типа не более одного раза. Сумма всех значений k не превосходит 2?000?000. Формат вывода В ответ на каждый запрос выведите в отдельной строке «YES» в случае, если данный список городов мог быть полным списком городов некоторого государства в соответствующий момент, и «NO» в противном случае. |
||||||||||
383
sda553
15.07.13
✎
00:01
|
Не участвовал, не смог сегодня.
Но, думаю, в первом раунде чего то добиться было шансов мало. Поучаствую в остальных двух |
||||||||||
384
NS
15.07.13
✎
00:06
|
(383) Если бы я не лажанулся в третьей задаче - занимал 24 место, выигрывал футболку (все с зачетными очками получают футболку), и шансы на выход в финал хоть и оставались призрачными, но уже появлялись зачетные очки, которые приближают к участию в финале. Так что шансы для меня лично были.
|
||||||||||
385
NS
15.07.13
✎
19:48
|
(381) Уже озвучили, решается элементарно За O(количестводорог+Сумма(k)) - при помощи Zobrist key.
То есть укладывается с огромным запасом. |
||||||||||
386
NS
15.07.13
✎
20:16
|
Это возможно нужно умножить на логарифм количества дорог.
Если хранить Зобрист каждой дороги в индексированной структуре. |
||||||||||
387
NS
15.07.13
✎
21:24
|
Не нужно умножать. У меня решение на Java уложилось в TL впритык, c индексированной структурой не уложится.
|
||||||||||
388
NS
18.07.13
✎
14:42
|
В этом туре поделил 14-106 место. Застрял на третьей задаче. Не смог запихнуть свое решение в TL.
|
||||||||||
389
NS
18.07.13
✎
14:48
|
104-106 :)
|
||||||||||
390
sda553
18.07.13
✎
14:49
|
Вообще не понял что за фигня с лягушками. Убил на них время.
В тестовом первом примере высота кочек всегда =1 Усталость первой лягушки 1,2,3,4.... Вторая увеличивает усталость если у первой усталось четная Третья увеличивает усталость когда у второй усталость четная. ПОлучается по усталостям 1-ой, второй и третьей по ходам 1 1 1 2 2 2 3 2 3 4 3 3 5 3 3 6 4 4 7 4 5 8 5 5 9 5 5 10 6 6 11 6 7 12 7 7 13 7 7 14 8 8 15 8 9 Итого лягушки находятся на кучках с номерами (ИхУсталость-1) Первая лягуха на 14-й кучке. Согласно тестового примера, расстояние между 1-й и 3-й должно быть 10. Но 15-9=6 ЧЯДНТ |
||||||||||
391
NS
18.07.13
✎
15:08
|
(390) Я её даже условие не читал. Вечером прочитаю.
|
||||||||||
392
NS
19.07.13
✎
19:37
|
(390) "Если лягушка не прыгала, то и следующие тоже не прыгали. Это непонятно из условия, но понятно из семпла."
(с) http://codeforces.ru/blog/entry/8344#comment-141473 |
||||||||||
393
sda553
19.07.13
✎
19:40
|
(392) Яндекс лажанулся, правда, пострадал при этом я
|
||||||||||
394
NS
19.07.13
✎
19:46
|
(393) Да, накосячили в двух задачах - первой и третьей.
|
||||||||||
395
NS
19.07.13
✎
19:50
|
В третьей - авторское решение задачи неверное, и проходит только из-за фичи компилятора. И аналогичное решение не должно проходить на Java, так как там промежуточные результаты не вычисляются в long double. И при этом не было правильных тестов на точность вычислений.
|
||||||||||
396
sda553
20.07.13
✎
14:54
|
(395) Это разве не задача в целых числах?
|
||||||||||
397
NS
20.07.13
✎
16:13
|
(396) эта задача вообще на другую тему.
Влоб решать, через целочисленную площадь - не уложишься в tl. |
||||||||||
398
NS
20.07.13
✎
17:18
|
А проблема в том, что в лучшем решении на java - long - не хватает разрядов, double - не хватает точности, а BigInteger не укладывается в tl. То есть решать нужно на длинной арифметике на двух лонгах.
При этом на c++ все ок с double. |
||||||||||
399
sda553
20.07.13
✎
17:59
|
В понедельник подъем в 4 утра?
|
||||||||||
400
NS
20.07.13
✎
18:15
|
(399) угу, я уже будильник поставил.
Прикинул - если войду в 150, то в итоге по трем раундам войду в сотню, и получу очередную футболку :) |
||||||||||
401
NS
22.07.13
✎
06:46
|
Писать в 5 утра конечно жесть.
Первую задачу сдал с седьмой! попытки - не видел что для расчета среднего делаю целочисленное деление. Шестую задачу со второй - не увидел что переполняю int возведением в квадрат. В итоге на остальные задачи времени не хватило. Но занял 104 место, должно хватить для футболки. |
||||||||||
402
8vC1
22.07.13
✎
08:25
|
(401) Так я не понял, сколько ввитоге задач засчитали ?
|
||||||||||
403
NS
22.07.13
✎
10:50
|
(402) Две - первую и шестую.
Футболку выиграл, в итоге 89-ое место. |
||||||||||
404
NS
22.07.13
✎
12:12
|
Все 25 вышедших, за исключением двух кандидатов - гроссмейстера codeforces. Кандидаты, оба, сыграли всего по 2-3 турнира, и просто видимо не успели набрать рейтинг.
|
||||||||||
405
sda553
22.07.13
✎
12:15
|
Ну печально че уж. Теперь, зная о таких чемпионатах, думаю набить руку и к следующему чемпионату представлять из себя реальную угрозу.
|
||||||||||
406
NS
23.07.13
✎
14:18
|
Вот эти два кандидата codeforces
http://community.topcoder.com/tc?module=MemberProfile&cr=8357090 http://community.topcoder.com/tc?module=MemberProfile&cr=8365685 Оба гроссы TopCoder, один Поляк, второй Словак. Так что не гроссам - без шансов выйти в финал. |
||||||||||
407
sda553
07.08.13
✎
17:45
|
Внезапно, из яндекса пригласили побеседовать насчет работы в яндекс
|
||||||||||
408
NS
07.08.13
✎
19:26
|
(407) тебе же не 20 лет. Странно...
|
||||||||||
409
Злопчинский
07.08.13
✎
19:57
|
(408) а фигли...
http://www.kinopoisk.ru/film/666935/ |
||||||||||
410
Злопчинский
07.08.13
✎
19:57
|
смотрел ксатит это киношку, нормально...
|
||||||||||
411
NS
07.08.13
✎
20:00
|
В Яндексе хорошие зарплаты, я даже хотел резюме туда лет пять назад послать, не послал только потому что моя тогдашняя подруга устроилась директором в тот-же департамент :)
|
||||||||||
412
NS
07.08.13
✎
20:02
|
Не пять лет назад, а или в 2005-ом, или в 2007-ом. Точно не помню.
|
||||||||||
413
saasa
07.08.13
✎
20:49
|
(403) молодец, чо уж там :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |