ЛКШ.2014.Июль.A'

Fine cpp code [link]
Solutions [3B.incrementator]

Сводная таблица

День 1 (6 июля) Условия [миу] Вход Таблица результатов Лекция RMQ & LCA
День 2 (7 июля) Условия [миу] Вход Таблица результатов Лекция ScanLine & Корневая
День 3 (8 июля) Условия [миу] Вход Таблица результатов Лекция Корневая & 2D & Декартово
День 4 (9 июля) Условия [миу] Вход Таблица результатов Лекция Persistent & Хеши & Бор
День 5 (10 июля) Условия [миу] Вход Таблица результатов Лекция Суф.массив за O(nlogn) & Задачи на строки
День 6 (11 июля) Условия [миу] Вход Таблица результатов Лекция Укконен & Еще задачи на строки
День 7 (13 июля) Условия [миу] Вход Таблица результатов Лекция Гранди & Ретро
День 8 (14 июля) Условия [миу] Вход Таблица результатов Лекция Паросочетания
День 9 (15 июля) Условия [миу] Вход Таблица результатов Лекция Потоки простые
День 10 (16 июля) Условия [миу] Вход Таблица результатов Лекция Потоки сложные
День 11 (19 июля) Условия [миу] Вход Таблица результатов Лекция Геометрия
День 12 (20 июля) Условия [миу] Вход Таблица результатов Лекция Жадность
День 13 (21 июля) Подготовка к теорзачету и пара задач на динамику [link] [миу]
День 14 (22 июля) Подготовка к теорзачету [миу]
День 15 (23 июля) Билеты Теорзачет
День 16 (24 июля) [миу]   Таблица результатов rules Пракзачет

FAQ по C/C++
  1. cin/cout могут работать быстро: ios_base::sync_with_stdio(0);
  2. sort: sort(a, a + n); sort(a, a + n, aless); bool aless(int i, int j) { return a[i] > a[j]; }
  3. lower_bound: int i = lower_bound(a, a + n, x) - a;
  4. сдвиги: i >> 5 == i / 32 && i << 5 == i * 32
  5. структуры на С++11: struct P { int x, y; }; P a = {2, 3}, b = {4, 5};
  6. глобальный namespace: int a; void f( int a ) { ::a = a; }
  7. время работы программы: fprintf(stderr, "time = %.2f\n", 1. * clock() / CLOCKS_PER_SEC); #include<ctime> #include<cstdio>
  8. вывод long long через printf:
    #ifdef _WIN32
    #define I64 "%I64d"
    #else
    #define I64 "%lld"
    #endif
    printf(I64 " " I64 "\n", a, b);
  9. g++ -DDEBUG и [cerr] [fprintf]