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

Автор Kniaz, 10 лет назад, По-русски

Доброго времени суток!

19 января 2017 года в 18:05 MSK (время московское) состоится очередной раунд Codeforces #392 для участников из второго дивизиона. Традиционно, участники из первого дивизиона приглашаются поучаствовать в соревновании вне конкурса.

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

Хотелось бы сказать большое спасибо Николаю Калинину (KAN) и Алексею Вистяжу (netman) за помощь в подготовке задач, Татьяне Семёновой (Tatiana_S) за перевод условий на английский и Михаилу Мирзаянову (MikeMirzayanov) за замечательные системы Codeforces и Polygon, а также за помощь в подготовке контеста и идеи нескольких задач.

Это мой второй раунд, надеюсь он понравится вам больше чем первый. Желаю всем честного рейтинга!

UPD: Разбалловка 500 — 1000 — 1500 — 1750 — 2500 — 3000.

UPD: Разбор!!! Огромное спасибо Пикляеву Мише (awoo) и Татьяне Семёновой (Tatiana_S) за перевод разбора на английский.

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

Div. 2

I wolf29

II alexwice

III WhyamIhere

4 TaTaPiH

5 Life_chicken

6 RewriteHarvestFesta

7 djqtxdy

8 whzzt

9 Lucas97

10 Clayton

Div. 1

I W4yneb0t

II sd0061

III irkstepanov

4 wolf29

5 I_love_Tanya_Romanova

6 HellKitsune

7 kraskevich

8 kmjp

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

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

your last contest was really interesting Codeforces Round 378 (Div. 2) I hope we will see the same this time too :D

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

magic

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

short announcement... I hope problem statements will be the same

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

The usual question. Yes or no?

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

I really liked your last contest, especially the Problem F. Thanks for the contest again! :)

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

I hope there will be shorter statement and more interesting solutions :P

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

I am in Korea so I need to get waked up at 00:05

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

Score Distribution?? Not declared yet, 2 & half hour left

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

Score Distribution??

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

This is the last CF round before the Central informatics test here...

I really hope that I can get to Div1 so I can impress everyone I know with a new color wish me luck!!!

:)

UPD:I'm gonna get my new color...sadly it will not be in DIV1 :(

Ahh well I'll try again in the next contest.

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

Nice score distribution)

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

Score distribution? only 5 minutes left!

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

problem a submission failing pretest 1 if sync_with_stdio(false) and cin.tie(NULL) is present on c++11. accepted without those lines in c++14

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

Как решить C и D?

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

    С: Посчитаем, сколько людей будут опрошены за цикл (т.е. до момента, когда учитель вернется к ряду 1), обозначим это число cntFull, тогда учитель совершит k / cntFull полных обходов, а после этого задаст еще k % cntFull вопросов. Заведем матрицу NxM, и заполним ее так, будто бы учитель сделал k / cntFull обходов (в первый и последний ряд расставим единички, в средние n-2 двойки, помноженные на k / cntFull), после этого проэмулируем оставшиеся ходы. Выведем максимум матрицы, минимум матрицы, и значение matr[x][y]. Главное — не набажить в реализации, при случаях n=1,n=2. 23953545

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

    D: Напишем динамику dp[i] — ответ на префиксе длины i. Обозначим num(l, r) — число из инпута, являющееся подстрокой [l, r]. Тогда для каждого r > i, если num(l, r) меньше основания системы и не имеет лидирующих нулей мы можем сделать переход dp[r] = min(dp[r], dp[i] * base + num(i + 1, r))
    Ответ в dp[s.length]

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

not say unrated for B :((

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

Great problems, I really enjoyed them. Thanks for contest Kniaz

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

Made 17 submissions but getting wrong answer of pretest 8 for problem D. Any reason?

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

Any idea of pretest 14 in problem C ?

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

Any idea as to what was pretest 6 in problem D?

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

Hack cases for problem C?

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

How to solve B? I feel very emberrased asking this question.

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

Is there any counterexample for greedy for problem D?

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

Loved the problem set. Thanks for the contest. Really scared about clearing the system tests this time though.

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

Guys, what is a type of problem C today? Is it math or just implementation? I have difficulties with this kind of problems

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

Do we need Big integer in div2 D ? Passed pretest but it may fail due to multiplication overflow.

UPDATE:
FST, got accepted after checking overflow
if (mul2 && mul1 >= LINF / mul2)
{
return LINF;
}

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

seconds away from submitting D :/

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

no hacks this time!! :-)

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

Anyone passed D with a DP solution? I was doing dp(i,j) as the minimum decimal number when consider i-th position the beginning of j-th part. I am pretty sure about this approach but it received WA on pretest 7 however.

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

Can smb explain the idea behind F?

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

    I'm sure you can solve it with n = 1 or n = 2. So, let's assume n >  = 3. Now, let r = x / y be the ratio of the progression( gcd(x, y) = 1) . WLOG, r > 1. Then, xn - 1 <  = r because yn - 1 divides to a0. So, you can brute force x and y up to 3200( sqrt(10^ 7)). After that, you find bounds for a0 and you just need to add the difference of those bounds plus 1 to the answer.

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

Can someone explain how to do C?

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

    The rows (1,2,3,...,n,n-1,n-2,...2) form a sort of cycle that is repeated. The total amount of questions in the cycle is m*(2n-2).

    And after that you're left with k%(m(2n-2)) questions which is less than m(2n-2) < 100*200 < 1e5 which you can fill out manually.

    Since 2*1-2=0 n = 1 is a special case (i dont exactly know if this is avoidable).

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

    There is lots of way to fail. Consider some variable.

    MD = 2n-2
    P = k/m
    Z = P/MD
    R = (P%MD)*m+k%m

    Can you explain what variable holding which information? Do you see the pattern?

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

    1) Calculate how many times the classroom (matrix) will be covered. Let it take 'cover' number of times. This can be calculated as: For 1st round: n*m For 2nd round: (n-1)*m (Won't ask the last row in second round) For 3rd round: (n-1)*m . For 'cover'th round : (n-1)*m

    Summing them up: n*m*cover — m*cover +m (Eq-1) Equate this to k and solve for 'cover'. cover = (k-m)/(n*m-m) Check whether k<m. If it is then cover = 0.

    2) Now the 'left' can be calculate easily by subtracting k with (Eq-1).

    3) If cover=0, then left = k, and we can simulate by giving 'left' number of questions to students in the way described in the question.

    4) Now, a)Initialize the top row by (cover/2)+1 [1st round = 1 time visited 2nd round = 2 3rd = 2 and so on.] b)Initialize the last row by (cover+1/2) [1st round = 1 time visited 2nd round = 1 3rd = 2 and so on.] c)Initialize others by(except first and last row) by cover

    5) If cover%2==0, start from top and stimulate the process otherwise from last row, till left=0

    6) Calculate max,min and a[x][y] from the matrix.

    Consider n=1 separately, for which cover = k/m and left = k%m. Initialize it with cover and then increment the row until left=0

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

Was D solvable using greedy: http://ideone.com/lgOWrh And, the last 30 seconds the sumbmit button wasn't working. Is it only for me or somebody else got the same problem?

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

Does anyone have some good test cases for C? I got WA on 10. :(

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

What if my B solution is right !! It token me most contest time searching for the wrong after hacking . I hope that to be unrated contest or for who face the same problem only .

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

What if my B solution is right ! It token me most contest time searching for the wrong after hacking. I hope that to be unrated contest or for who faced the same problem only .

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

Hi guys, i really tried during the contest to cover all the cases on problem C, but i didn't do it. After the contest i have seen i didin't even have to. :) Anyway, i wish i could figure out what kind of situation have i missed. Can you, guys, please help me ?:D (code : https://csacademy.com/code/0ADQMygT) Thank you in advance! Btw great contest overall! Keep up the good work! :D

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

This contest should be unrated only for those who suffered in problem B. :(

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

Please don't make it unrated :(

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

still 'Pending system testing'!!! :(

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

Thanks Kniaz for writing problems. I like tasks A, B, E, F very much, D is OK, but problem C is terrible. I hate this type. A lot of commands 'if', 'else'. But it's only my liking. So excluding problem C contest was pretty good.

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

WTF is this!! This guy's all solutions got hacked!

http://codeforces.me/submissions/Fuck_Anas_Abbas

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

I like the last sample test for problem div2C.

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

Kniaz why are your Pretests this weak?!!!!!

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

Is this how to solve F?

First, insert in a fenwick tree values of antilog( log(x / n-1) )

Then, simply use these values to calculate the number of GP for a certain b(b has values from 2 to r)

The GP will be of the form xa^n-1,xa^n-2b,....,xb^n-1.

Finally, multiply by 2, and handle n=1 separately.

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

Please fix problem B validator/solution as there are alot of participants who solved the problem and their solution should pass the time limit constraints my solution was : Submission for Problem B

the test case that gives time limit for alot of participants is test case 17 : R!!Y!!B!!G! which is invalid ! as stated in the input section .

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

153 Lines for problem B :/ Much time wasted there

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

How much time for upsolving?

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

How many tests for D are there? Failed test 100 :(

edit: there are 102 :D

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

What is solution for "R!!Y!!B!!G!" test 17 for B?

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

Waiting for rating change

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

ok, can someone explain test 100 to me for problem D? 2 10000000000000000000000000

Answer: 33554432

But how? As I see it, there is only one possible way to write this number in base 2 :O o.O

Plz someone explain

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

Wrong answer on test case 84 — wrong answer 2nd numbers differ — expected: '14084507042253521', found: '14084507042253522' why???????

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

Is there a way to see submissions made using a particular language for a problem? I want to see Python submissions for Problem C.

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

What was so hard about E? Don't you just have to calculate the shortage at each edge, and then try to fulfill the shortage from the deepest node you can reach?

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

WhyamIinthewinnerlist lmao Nice contest thanks :D

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

Does anyone know why my code for D gets different veredicts if I switch between C++ and C++14?

GNU C++14: Wrong answer on test 28

GNU C++: Accepted

Edit: it might be because signed integer overflow causes undefined behaviour.

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

Could somebody explain the verdict seen here 23954999.

My code outputs the correct result locally, yet the judge gives some strange error which does not seem to be my fault.

edit: Perhaps MikeMirzayanov could shed some light on this problem?

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

When will be rating updated?

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

In question B the output of the following testcase !BGY! should be 2 0 0 0 ?

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

Please can anybody help me with D .I am getting Wa on pretest 8 because of oveflow.. Here is my code

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

Stupid time waster problems like C should worth 5000 score, for the patience you must have to solve them.

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

wish some points!

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

When will the ratings will be updated ??? Wating and wating .......

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

Waiting for the rating update -.-'

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

Will it be unrated?????

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

*** *****?

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

rating will update soon?

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

Tired of refreshing !

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

0 Rating change thank you .:)

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

Why is wolf29 in Div1 in your post? He was blue before the contest.

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

Why did the rating changes get rollbacked? :/

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

Why the heck did u take the ratings back?

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

Why are the ratings reverted back to the previous one??

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

I'm new here, so tell pardon me if i said something stupid. When the contest was over, I had 3 problems solved. I came back some time later and found out it shows 2 problems solved and one wrong solution. Is there a way to evaluate a persons code even after the contest is over. If so, can you tell me what do they really do?

pardon my English :(

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

Both my submissions http://codeforces.me/contest/758/submission/23964519 http://codeforces.me/contest/758/submission/23963310 are correct when I test them in "Custom Invocation"

"Input" RYBGRYBGR

Output 0 0 0 0

But in pretest I got Verdict — "Wrong answer on pretest 1" and Output 0 1 1 0

Why I get different result in Custom Invocation and System test? I think it is not my fault

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

Finally BLUE again :D

I'll try to enjoy the feeling before losing it the next contest :3

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

Is the Venture Cup final on Sunday rated for Div2 ?