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

Автор RAD, 16 лет назад, По-русски
Этим контестом мы хотим всех поздравить с наступившим новым учебным годом. Желаем отличных оценок, халяв на сессии и Accepted на контестах. Пусть этот год принесет вам много новых интересных знаний! 

Артем Рахов и команда Codeforces

P. S. Обратите внимание, что раунд пройдет по правилам Codeforces. Ознакомьтесь с правилами до начала соревнования. Удачи!

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

16 лет назад, скрыть # |
 
Проголосовать: нравится +11 Проголосовать: не нравится
Удачи всем!
16 лет назад, скрыть # |
 
Проголосовать: нравится +13 Проголосовать: не нравится
Can you please translate this post to English?
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Зачем люди из 1 дивизиона специально регистрируются на 2 дивизион?
16 лет назад, скрыть # |
 
Проголосовать: нравится +12 Проголосовать: не нравится
Спасибо за контест!
Задачи отличные!
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Замечу, что из-под firefox 3.6.9, flashplugin 10.1.82.76 под 64-разрядным линуксом не скроллились страницы вражеского кода при взламывании — получилась некоторого рода лотерея.
За контест спасибо. :-)
16 лет назад, скрыть # |
 
Проголосовать: нравится +2 Проголосовать: не нравится
Поздравляю кодера ant.ermilov, который совершил успешный взлом almaz_kh по задаче E - Число с заданным количеством делителей за 19 секунд до окончания контеста!
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Прозьба , пишите текст , который нужно вывести в кавычках , а то у меня 4 отправки лишние, изза того что я вывожу "Impossible." .В конце точка.
16 лет назад, скрыть # |
 
Проголосовать: нравится +11 Проголосовать: не нравится

Однако печально, что очевидный способ взлома по первой задаче, когда подаёшь n=3000 и ряд из 3000 чисел, некоторые не предусмотрели. +4 взлома )

Было круто! 

16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
I want to know the 22nd test of problem E!!!!!
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
D is just a 2-sat problem???
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
What's 11th test of problem C?
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
What is the 6th test case for C??
Or any hints about C?
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
We can't see others solutions?
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
RAD, could you tell me the input and output for the 4th test case in problem E? Thank you.
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
What is the 7th test case for E?
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
What about the second problem. Is it possible to solve it using DFS ?
  • 16 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится
    Easiest way to solve is to use transitive property of comparison.
    i.e. if for x and y participants exist such another participant(z), that 
    • p_x>p_z & p_z>p_y (won x and lost to y) => p_x>p_y (y better x)
    • p_x<p_z & p_z<p_y (lost to x and won y) => p_x<p_y (x better y)
     Otherwise we cannot define outcome and able to output any.

    PS. IMHO TopSort absolutely crazy for that problem ;)
  • 16 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится
    yes. because everyone has a "pj", we can think the input as a directional Graph. if a and b appear less than N-1 times, then dfs(a,b)-bool. if a can reach b, we can see a win b.

    Just as SKYDOS 's TopSort.
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Скажите пожалуйста, когда появятся решения? Очень интересно узнать их. Так например, какое решение предполагалось в задаче С?
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
In problem B how it's supossed to write the numbers??
I did it like
cout<<num1<<" "<<num2<<endl;

but I got P.E. on test 1
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Что за ошибка
 Ошибка представления данных на тесте 1

16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
RAD: Can I please have test case 18 for C, and 10 for D...? Thanks
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
can i know what is the test case 3 for Problem B???
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Can someone post an idea for Problem E ?

Thanx ! :)

16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
my solution about A B C.
hope can do something to you.

i want to know how to do C and E.
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
What is the test case #3 for problem E?
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Hey, 

How can I view others solutions? The popup box which appears doesn't have the  other  code.
16 лет назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится
I generated a huge data to hack a TLE solution, but the judge says 'submit already challenged'. What does this mean??? 
I wasted a lot of time to try to hack it, But this solution hadn't been hacked until faild on system tests.
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Can someone please have a look at my solutions to problem C and D and help me identify the flaws in it...

16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
I want to know the test 15th of problem B
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Дайте пожалуйста тест 1 на С и тест 1 на В
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Переношу сюда.
И действительно странно, что вот это
#include <cstdio>
int main() {
    puts("4 3");
    return 0;
}
PE #1.

Это
#include <cstdio>
int main() {
    puts("3 4");
    return 0;
}
 - PE #1.

А это
#include <cstdio>
int main() {
    puts("1 2");
    return 0;
}
WA #1.

o_O
  • 16 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится
    Что же чекер ожидает от нас увидеть? Уже кучу всего перепробовал.
  • 16 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится
    +1
    сам заметил такое и с Дельфи и Фри Паскалем.
    Поддерживаю Макса.
    ЧЗХ?
    • 16 лет назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится
      А я кажется понял в чём там проблема. :)

      #include <cstdio>
      int s;
      int main() {
          scanf("%d", &s);
          if ( s == 4 )
              puts("4 3");
          else
              puts("1 2");
          return 0;
      }
      WA #1.

      #include <cstdio>
      int main() {
          puts("3 1");
          return 0;
      }
      WA #2

      Значит на входе у нас скорее всего N = 3, а мы тут ему хоп - 4 3 выдаём. А откуда у тебя 4 если N = 3? Вот тебе Ошибка представления данных.

      Только не знаю, нормальное ли это поведение для чекера.
      А ещё, возможно, нехорошо, что сэмплтест не является первым финальным тестом.
      • 16 лет назад, скрыть # ^ |
         
        Проголосовать: нравится +6 Проголосовать: не нравится
        Действительно, чекер так и работает: пытается считать целое число от 1 до N, если не получилось - Ошибка представления данных, так что такое поведение совершенно нормально.

        Сейчас семплы - это первые претесты, а не финальные тесты. Для реального контеста это нормально, а для дорешивания видимо не очень удобно. В следующий раз учтем!

16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Nice problem set (Y).

Other solution for problem E could be:
* Factorize N (assume that M will be the number of prime factors) -- O(sqrt(N))
* Calculate all the possible arrays b[1..M'] (M' <= M) multiplying i prime factors of N (with i: 0 <= i <= m) -- O(M * 2 ^ M))
* Sort the resulting array b[1..M'] in non-increasing order -- O(M' log M')
* Calculate a number X (X = 2 ^ (b[1] - 1) * 3 ^ (b[2] - 1]) * 5 ^ (b[3] - 1) ...) -- O(M' log N)
* Take the minimum X among all the possible arrays -- O(sqrt(N) + M * 2 ^ M * (M' log M' + M' log N)). This algorithm will run in time.

For example,
N = 16
* b = [2, 2, 2, 2] -> 210
* b = [4, 2, 2] -> 120
* b = [4, 4] -> 216
* b = [8, 2] -> 384
* b = [16] -> 32678
(Some arrays may appear several times)

I wanted to share this information with you, but, IMO DP is a more elegant (and shorter) solution for this problem =).
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Can I see D's test 11?
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Может мне кто-то помочь с задачой С. выдает "неправельный ответ на тесте 17"

int a[100010], b[3];
int n;
bool res;
int main() {
    int k = 1;
    scanf("%d", &n);
    scanf("%d %d", &a[0], &a[1]);
    for (int i = 2; i < n; ++i) {
        scanf("%d", &a[i]);
        if (a[0] > a[k]) {
            if (a[k] < a[i]) { b[2] = i + 1; res = true; break; }
            else ++k;
        } else {
            if (a[k] > a[i]) { b[2] = i + 1; res = true; break; }
            else ++k;
        }
    }
    b[0] = 1;
    b[1] = k + 1;
    if (res == false) printf("0\n");
    else printf("3\n%d %d %d\n", b[0], b[1], b[2]);
    return 0;
}
16 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
What is C's test case 19 ?
I`m getting WA :((