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

Автор vovuh, история, 8 лет назад, По-русски

Привет!

Окончательно освободившись от большей части летних забот, я снова могу приступить к подготовке Div. 3 раундов! Я решил добавить в этот блог что-то от себя, потому что TryToKnowMe (и, думаю, многие другие) заметили, что я правда копирую эту запись от раунда к раунду, меняя лишь название соревнования и дату проведения. Но кто знает, может, экономя время на написании анонса, я успеваю лучше подготовить задачи к раунду?... Пусть это останется тайной. А теперь приступим.

В 16.07.2018 17:35 (Московское время) начнётся Codeforces Round 498 (Div. 3) — очередной Codeforces раунд для третьего дивизиона. В этом раунде будет 6 задач, которые подобраны по сложности так, чтобы составить интересное соревнование для участников с рейтингами до 1600. Наверное, участникам из первого дивизиона они будут совсем не интересны, а для 1600-1899 покажутся простыми. Однако все желающие, чей рейтинг 1600 и выше могут зарегистрироваться на раунд вне конкурса.

Раунд пройдет по правилам образовательных раундов. Таким образом, во время раунда задачи будут тестироваться на предварительных тестах, а после раунда будет 12-ти часовая фаза открытых взломов. Я постарался сделать приличные тесты — так же как и вы буду расстроен, если у многих попадают решения после окончания контеста.

Вам будет предложено 6 задач и 2 часа на их решение.

Штраф за неверную попытку в этом раунде (и последующих Div. 3 раундах) будет равняться 10 минутам.

Напоминаем, что в таблицу официальных результатов попадут только достоверные участники третьего дивизиона. Как написано по ссылке — это вынужденная мера для борьбы с неспортивным поведением. Для квалификации в качестве достоверного участника третьего дивизиона надо:

  • принять участие не менее чем в двух рейтинговых раундах (и решить в каждом из них хотя бы одну задачу),
  • не иметь в рейтинге точку 1900 или выше.

Независимо от того являетесь вы достоверными участниками третьего дивизиона или нет, если ваш рейтинг менее 1600, то раунд для вас будет рейтинговым.

Спасибо MikeMirzayanov за платформы, помощь с идеями для задач и координацию моей работы. Спасибо моим очень хорошим друзьям Михаилу awoo Пикляеву, Максиму Neon Мещерякову и Ивану BledDest Андросову за помощь в подготовке и тестирование раунда.

Удачи!

UPD: Также большое спасибо тестерам uwi, mareksom и ivan100sic за неоценимую помощь в подготовке раунда!

UPD2: Таблица результатов!

Поздравляем победителей:

Rank Competitor Problems Solved Penalty
1 wendy_virgo 6 236
2 TwentyOneHundredOrBust 6 237
3 zwgtxdy 6 265
4 Syvail 6 273
5 khadgar1998 6 279

Поздравляем лучших взломщиков:

Rank Competitor Hack Count
1 jhonber 131:-7
2 antguz 9
3 pye 9:-3
4 djm03178 6:-1
5 imlk 4

Всего было сделано 199 успешных взломов и 232 неудачных взлома!

И, наконец, поздравляем людей, отправивших первое полное решение по задаче:

Problem Competitor Penalty
A eggmath 0:01
B eggmath 0:06
C vangtrangtan 0:07
D MoreThanANoob 0:23
E Student_of_Husayn 0:07
F NoTrolleNoLife 0:18

UPD3: Разбор опубликован.

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

»
8 лет назад, скрыть # |
 
Проголосовать: нравится +6 Проголосовать: не нравится

hope halyavin the system tester also provides his service this time!!!

»
8 лет назад, скрыть # |
 
Проголосовать: нравится +22 Проголосовать: не нравится

minimize hacking phase to 6 hours at least try it once if everyone agrees implement it permanently.

»
8 лет назад, скрыть # |
 
Проголосовать: нравится -38 Проголосовать: не нравится

So it is unrated for 1600-1899?

»
8 лет назад, скрыть # |
 
Проголосовать: нравится -17 Проголосовать: не нравится

let's hope strong pretests and fast responding server side...

»
8 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +2 Проголосовать: не нравится

Next contest starts after 10 days. MikeMirzayanov are you going somewhere?

»
8 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Good luck everyone <3

»
8 лет назад, скрыть # |
 
Проголосовать: нравится -19 Проголосовать: не нравится

Expecting more and more mathematical problems.

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

vovuh i think you have to add this

penalte is 10 minutes so people who ask for it get downVote haha

»
8 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

I always feel comfortable to solve div 3 problems.

So I love it very much.

»
8 лет назад, скрыть # |
 
Проголосовать: нравится +16 Проголосовать: не нравится

I always feel comfortable with div 3 problems. So I love it very much.

»
8 лет назад, скрыть # |
 
Проголосовать: нравится +2 Проголосовать: не нравится

Sad that I may have to miss the round for my final year project work :(

»
8 лет назад, скрыть # |
 
Проголосовать: нравится +42 Проголосовать: не нравится

»
8 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Just mark the changes

»
8 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

For a long time, I am still in Cyan. :) Div 3, the road to changing color.

Many thanks about Div 3 idea.

»
8 лет назад, скрыть # |
 
Проголосовать: нравится +5 Проголосовать: не нравится

Don't worry buddy, we know you didn't copy pasted. Who need that when you have scripts lol

»
8 лет назад, скрыть # |
 
Проголосовать: нравится +4 Проголосовать: не нравится

Why topcoders hide their faces behind anime profile pics?

»
8 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Hope that this will be my last div3 contest from next time I can participate out of contest.

»
8 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится -12 Проголосовать: не нравится

Strong pretest :)

  • »
    »
    8 лет назад, скрыть # ^ |
    Rev. 2  
    Проголосовать: нравится -7 Проголосовать: не нравится

    Have you read this?

    You may edit your comment only for fixing grammar mistakes or small changes. Do not change the main idea of your comment. All previous revisions are available for others. Are you sure you want to edit comment?

    Main idea of Hope that this will be my last div3 contest from next time I can participate out of competition in div3. Never had that feeling :( and Strong pretest :) is not the same.

»
8 лет назад, скрыть # |
 
Проголосовать: нравится +6 Проголосовать: не нравится

Upvote for ivan100sic and good luck!

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

Probably, participants from the first division will not be at all interested by this problems.

I am always interested in Div.3 problem sets. :D

»
8 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится -41 Проголосовать: не нравится

Easy offline solution for E using cartesian tree (treap). 40444978

»
8 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

How to go faster than O(n2 * k) in B?

»
8 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Can anybody explain problems D and F please?

  • »
    »
    8 лет назад, скрыть # ^ |
    Rev. 3  
    Проголосовать: нравится 0 Проголосовать: не нравится

    For D you just can see that changes makes cycles i -> n — i + 1. For every cycle find min changes.

  • »
    »
    8 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +7 Проголосовать: не нравится

    The key observation to solve problem D is that each letter in string A has 3 counterparts (except when n is odd and you consider the middle letter). These counterparts are the letter at the opposite position in string A, the same position in string B, and the opposite position in string B. You can think of these 4 letters as a group. Each group, after preprocessing modifications, must contain two pairs of letters. Once this observation is made, a bit of case-bashing can determine the number of modifications necessary.

    My solution for problem F was meet-in-the-middle. If you start from the bottom right corner, you can determine the possible values for any grid square which can result in a final XOR-value of k. I calculated these values along with the number of paths which resulted in these values up to the 'middle' of the grid (where Manhattan distance to either corner was equal to (n+m)/2-1). Then, the process was repeated starting from the upper left of the grid.

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

how to solve F?

»
8 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

there is no hacking in Div3?

»
8 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Great contest, Problem set was so balanced and covered all topics perfectly. Ideal contest for div 3 participants. Dude make one div 2 as well, I would really like to attempt it officially :P

»
8 лет назад, скрыть # |
Rev. 3  
Проголосовать: нравится +27 Проголосовать: не нравится

YogayoG hacked all his solutions!!

»
8 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится

Realized the importance of time today !! :( But it was a great round.

»
8 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

why in Problem D my code get WA on test 3 -_-

»
8 лет назад, скрыть # |
 
Проголосовать: нравится -8 Проголосовать: не нравится

my code is giving correct output for problem E in Sublime editor but wrong answer on the codeforces editor.How it is?

include<bits/stdc++.h>

using namespace std;
#define ll long long
vector<ll>v[200010];
vector<ll>vis(200010,0);
map<ll,ll>mp,mm;
vector<ll>gr;

ll dfs(ll s)
{
    mp[s]=gr.size();
    gr.push_back(s);

    vis[s]=1;
    ll a=0;
    for(auto aa:v[s])
    {
       if(!vis[aa])
       {   
         a+=dfs(aa);
       }
    }
    mm[s]=a+1;

}

int main()
{
    ll i=0,j=0,k=0,l=0,m,n,s=0,x=0,y=0,d;
    cin>>n>>m;

    for(i=2;i<=n;i++)
    {
       cin>>x;
       v[x].push_back(i);

    }
   dfs(1);

   // for(auto aa:gr)
   //   cout<<aa<<" ";

   for(i=0;i<m;i++)
   {
      cin>>x>>y;
      j=mp[x];

      if(j+y-1<=mm[x])
        cout<<gr[j+y-1]<<"\n";
      else
        cout<<"-1\n";
   }





}
»
8 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +38 Проголосовать: не нравится

Found some serious cheating going on here-

deact Copied F from Roundgod --

40438080 Copied from — 40428801

Sad thing is that in order to hide it, five minutes later, this guy submits another code, with all the headers removed thinking he will not get caught.

Here is the second submission — 40438951

»
8 лет назад, скрыть # |
 
Проголосовать: нравится +26 Проголосовать: не нравится

" halve the grid diagonally not vertically nor horizontally you idiot! "

thats what test 22 on problem F would have said to me if it could speak.

»
8 лет назад, скрыть # |
 
Проголосовать: нравится +16 Проголосовать: не нравится

Hmm... is this normal??

image

»
8 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

can someone help me to find the logical error for Problem D 40443887

»
8 лет назад, скрыть # |
Rev. 3  
Проголосовать: нравится 0 Проголосовать: не нравится

Can anybody tell , why this 40450609 gives a runtime error on test case 2; Whereas it runs fine on removing the for loop for calculating subordinates O(n)

for(ll i=n-1;i>0;i--)
    {
        child[i+1]+=(child[i+1]==0);
        child[i]+=child[i+1];
    }

and calculating it when using dfs 40450928.

»
8 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

When will the rating be updated ?

»
8 лет назад, скрыть # |
 
Проголосовать: нравится +5 Проголосовать: не нравится

When will the ranting be updated?

»
8 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Problem D :

7 abacaba bacabaa

  1. Replace a1 with b
  2. Swap a5 and b5
  3. Swap b3 and b5
  4. Replace a4 with a
  5. Replace a5 with c

Answer should be 3. Please correct if I'm wrong

»
8 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +7 Проголосовать: не нравится

another contest saying an array can be a birthday present, how boring you guys are!

»
8 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Where's editorial ?

»
8 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

why sysem testing didn't start

»
8 лет назад, скрыть # |
 
Проголосовать: нравится -27 Проголосовать: не нравится

I seemed to have used the right logic for B but my solution got hacked. It seems I didn't factor in some edge cases. Can someone help out?. My solution is here. Thanks in advance :)

»
8 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +3 Проголосовать: не нравится

where is the rating changes??

»
8 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

vovuh it was a good round :)

»
8 лет назад, скрыть # |
 
Проголосовать: нравится +4 Проголосовать: не нравится

Very late in rating update.

»
8 лет назад, скрыть # |
 
Проголосовать: нравится +86 Проголосовать: не нравится

wow, You forget to make deact unrated... 40438080 is a directly copy from 40428801. Why this guy still rated? vovuh

»
8 лет назад, скрыть # |
 
Проголосовать: нравится -35 Проголосовать: не нравится

Maybe I have misunderstood something but...

It is told only the trusted participants of the third division will be included in the official standings table, but in standings there are many untrusted participants. And trusted participants ratings are affected by them. For example I am on 169th place in COMMON STANDINGS, but in RATING CHANGES and MY RATING HISTORY I am on 220th place, so my rating has been changed as I am on 220th place, vovuh, MikeMirzayanov.

»
8 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

OMG, i was in the best hackers list. :))

»
8 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

How do you mathematically compute the number of possible paths for problem F? I see many different combinatoric formulae here, but none of them are explained.

»
8 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +3 Проголосовать: не нравится

can someone explain how to divide matrix in problem f clearly.. UPD:GOT IT..clear and short codes are sometimes helpful;

»
8 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Первый раз такая проблема.. не знаю куда писать.. Что надо сделать? http://codeforces.me/contest/192/submission/40535392