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

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

Codeforces, привет!

Я рад анонсировать Looksery Cup 2015, над подготовкой которого работала целая команда наших сотрудников, каждый из которых внес огромный вклад: Sfairat, olpetOdessaONU, Sklyack, MrDindows, Rubanenko, Krasnokutskiy, 2222, Maxim, Avalanche, Igor_Kudryashov, Kepnu4 и я. Отдельное спасибо координатору Zlobober за помощь с задачами и советы, а также Delinur за перевод условий.

Мы подготовили для вас 8 задач различной сложности, которые будут расположены в случайном порядке. Раунд будет длиться 2 часа 30 минут и пройдет по правилам Codeforces с плавной динамической стоимостью. Очень надеемся, что задачи понравятся и вы получите удовольствие от соревнования, а мы получим мало кларов :)



Топ-200 участников соревнования получат именные футболки с их хендлами на Codeforces:

Как сообщалось в предварительном анонсе, победитель соревнования получит возможность поехать в полностью оплаченное путешествие в Сан-Франциско.

Кроме этого, топ-15 участников получат Oculus Development Kit 2.

А участники с 16 по 50 места — гаджет Ollie.

Также хочется выразить большую благодарность MikeMirzayanov и всем, кто трудится над Codeforces и Polygon — ваш вклад в образование и развитие IT сферы трудно переоценить, я думаю все со мной согласятся.

UPD. Раунд будет рейтинговым для обоих дивизионов.

Ждем вас завтра,

Looksery Inc.

UPD3. Появился разбор

UPD2. Рейтинг будет пересчитан сегодня, но завтра могут произойти небольшие изменения, не пугайтесь

UPD. Раунд завершился, всем спасибо, что приняли участие. Поздравляем победителей! Окончательные результаты будут объявлены в течении суток, после определения читеров. По предварительным результатам top-15:

  1. tourist
  2. scott_wu
  3. Petr
  4. Haghani
  5. EvenImage
  6. PavelKunyavskiy
  7. W4yneb0t
  8. vepifanov
  9. LHiC
  10. Gullesnuffs
  11. simonlindholm
  12. subscriber
  13. Shik
  14. izban
  15. data_h
Анонс Looksery Cup 2015
  • Проголосовать: нравится
  • +1426
  • Проголосовать: не нравится

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

Just a Suggestion :: Keeping say 150 Tshirts for top 150 Performers and 50 for the randomly selected ones from top 500 might be more ATTRACTIVE .

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

Can I ask for other words to be print .___.

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

nice t-shirts !!

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

Can you please give me the t-shirt for nothing :(

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

exactly

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

Does it have pretests or not ?

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

Ради майки с таким царским ником можно и написать... Как думаете, протрезвею до завтра?

А еще кстати авку было бы круто напечатать, ну так

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

Maxim is not orange anymore!

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

Btw — 8 tasks and 2h 30 min :o? Overwhelming a bit. Either most of them will be very easy or people will not solve too many of them :P.

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

combined division again, what are the chances to be one of the top 200 :P

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

Wow, eight problems! I think many hacks will be in this contest.

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

Кажется случайный порядок задач вносит погрешности в результаты. Это нормально при команде из 3-х человек и 15 часах времени (на команду), и сомнительно при 8 задачах на 2.5 часа (+ падение стоимости, а не штрафное время).

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

    Да, 15 часов на команду обычно хватает, чтобы решить всё... а еще, думаю, хватит времени поспать, поесть два раза и опоздать часов на 10 к началу соревнования (в случае Гены — можно опоздать на 12 часов).

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

    Еще ты забыл про взломы, благодаря которым, даже в случае одного успеха, можно не хило вырваться вперёд.

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

    Если задачи короткие, то норм :)

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

I love green and also the codeforces logo :)

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

By the way, I have a feeling that this needs to be explicitly expressed by someone — I think that this contest has the best prizes on CF ever! There are 200 (!!) T-shirts and they are personally signed (!!). I don't know what these Oculus Development Kit do (and don't have time to delve into it), but they look cool and valuable. And these thingies to people from places 16-50 looks completely useless but amazingly funny, which makes me consider whether I should do some unsuccessful hacks if I will see that I have chances for being in TOP15 :3

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

Can I ask how many problem in this contest ?

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

340 red coders registered to contest. No chance for experts

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

The time is rarely suitable for coders in China. :) PS. The College Entrance Examination will start tomorrow morning. Good luck! God bless us!

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

Rubanenko почему-то красный в анонсе.

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

Today's contest is a big opportunity for Div2 participants to become members of Div1.

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

Izi problem, izi life

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

So great t-shirts *-*

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

expecting unusual rating changes in this contest like: Specialist -> Candidate Master; Expert -> Master ; Candidate Master -> International Master, etc.

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

I'm going to be on airplane during contest time..

But airplane has (unstable) wifi..

Not sure if I should participate..

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

tourist began preparing to travel to San Fransisko. ;)

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

The worst thing about random order is trying to find the "A" problem at the very beginning. But today I have a secret weapon: https://www.random.org/

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

    Now it's not secret anymore :P

    seriously speaking, I will tell you my strategy in such situation you might like it:

    I open all the problems, then I read shortest problem statement first then second-shortest and so on until 10 minutes after the starting time I open the dashboard to see if some problems are solved if yes I read them then I solve them until I finish solving them ,the difficulty of the problems will be revealed.

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

that will have random order at the contest

Painful :((

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

I think this time tourist can't make him first :/

may be other one will be the first ;)

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

scoring dynamic? ):

random problems? ):

I think that Problem D is the easiest problem in this contest (:

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

Hello everyone !!

I hope high rating and good luck for everyone.

I have a question .

I have heard a lot of people said when the two division participate together is easier will have a high rating.

Why ??? Anyway I thank for you answer in advance!!

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

Does random order mean that it is shuffled by a computer and is completely random or are they put in an order developers want them to be?

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

Когда уже другие элементы одежды будут в качестве призов довать? А то у меня маек уже хватает, а вот шорт, например, нет. :)

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

some random t-shirts for us peasants would be much appreciated :)

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

finally 5808 registrants :)

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

Can you delay contest 5 min to allow for more registrants?

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

happy coding :)

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

I love the prizes! GL & HF to everyone!

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

hey guys look at unknownuser96 in room 118 link

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

(╯°□°)╯︵ ┻━┻

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

Задачи очень интересные! Спасибо за контест! :)

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

D problem author,great problem, like!

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

На чем С ломали?

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

Hard would be an understatement , at least for poor coders like me

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

How is C solved? I could only think of a O(N2) DP solution with O(N) space complexity.

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

    A lot of casework. Whoever goes last will generally win, unless it is possible for Daenerys to burn all the towns with odd number of residents, it is possible for Daenerys to burn all the towns with even number of residents and k is even, or it is possible for Stannis to burn all the towns with even number of residents and k is odd.

    Unfortunately, there is also the sad final case of n=k, in which case nobody gets a turn and so there is no "going last"; in this case answer simply depends on number of towns with odd number of residents.

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

    Do it in O(1). There's a categorization (although not really simple) based on the number of cities with odd/even populations (called odd, even respectively), something like this (not sure, though):

    • If n = k, the game has ended, just count the number of cities with odd populations.
    • If , Daenerys always wins; Daenerys always bombs an odd city.
    • If (but not the above), the winner depends on (it's Stannis if odd, Daenerys if even); the winner always bombs an even city.
    • If none of the above applies, the winner depends on (that is, the number of moves; again, Stannis if odd, Daenerys if even); the winner plays the city opposing the previous move, to guarantee that he has a choice for the final move.
  • »
    »
    11 лет назад, скрыть # ^ |
    Rev. 2  
    Проголосовать: нравится +13 Проголосовать: не нравится

    Just coded stupid O(n2) solution to see patterns and then checked clever O(1) solution by the stupid one.

    upd. Too bad, it failed. But I think the right approach should be like this.

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

    Call the number of odd houses is odd, and the number of even houses is even

    If Stannis can burn all the even houses before the game end, he can force Daenerys to burn only the odd houses in later move (after all even houses run out), and if the number of odd houses after the game is odd, he will win. The condition to do this is (n-k+1) div 2 >= even and odd-(n-k-even) mod 2 = 1.

    If Daenerys can burn all the odd houses before the game end, he will always win. The condition to do this is (n-k) div 2 >= odd.

    In all other case, the person who end the game is winner. Why? Because in all move (except the final), the players can make opposite move to each other (if Stannis burn odd house, Daenerys will burn even house and vice-versa). And the player who do the last move can just perform the move that give him victory.

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

    I solved that with DP , state is player , CitiesToBeDestroyed , RemainingOddCities

    Note that RemainingEvenCities can be omitted since it can be drived from the other parameters .

    Till now it is O(N*N) , since both players will play optimally and each one of them will try to cancel each other move , I removed x odd city & x even city & 2 * x CitiesToBeDestroyed before calling the DP ( left at most 128 for the DP to figure out a solution )

    Thus it will be O(N * 128)

    Take a look at my solution 11465922

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

KareemMohsen and MostafaG submissions for last round look suspicious.

11467747 = 11467830 11461749 = 11467680

P.S. It's impossible to view these submissions until the end of contest, but I was in the same room with them and

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

Anybody solved D with fenwick tree ? I couldn't.(

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

    I don't understand problem D ! I work my tasks about 1 h ( first 10 minutes and last 50 ), all other time I spent for reading D.

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

    Optimal solution is O(n * m)

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

      I will cry now (. What was the solution for D?

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

        Let b[x][y] be 1 if (x,y) is 'W', -1 if it is 'B', 0 if out of bounds.

        Increase answer by one for every (x, y) in board such that b[x][y] != b[x+1][y] + b[x][y+1] — b[x+1][y+1].

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

          why? please explain more ...

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

            Every rectangle with bottom-right corner (x,y) is added a number of times Rx, y to the final answer (it might be 0 if we never use it).

            Because you're only doing linear operations, the final answer for any sum of rectangles is Cx, y * ax, y, where ax, y is the value on the board at position (x,y) and Cx, y is the sum of Rx, y for all rectangles that contain (x,y).

            But how can we calculate Cx, y easily? Well, except for the rectangle with bottom-right corner (x,y), all rectangles that influenced (x,y) are the ones that influenced either (x+1,y) or (x,y+1). To eliminate double-counting, remove the ones that influenced both (x+1,y) and (y,x+1): the ones that influenced (x+1,y+1). Our final result is: Cx, y = Rx, y + Cx + 1, y + Cx, y + 1 - Cx + 1, y + 1.

            To get the sum we're looking for, we want final Cx, y to be equal to bx, y for every (x,y), so from the earlier equation Rx, y =  - bx, y + bx + 1, y + bx, y + 1 - bx + 1, y + 1.

            After you calculate all Rx, y, count the ones that are not zero, and that's your answer.

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

            I used a similar method. For cells not lying on the right or bottom border, I considered all cases in which that prefix rectangle would be used atleast once (how many times, does not matter as we can just multiply the required integer, after using it once). It will always be used unless its right, bottom and bottom-right cells are similar to it or exactly two of them are different and are adjacent.

            For the bordering cells (right or bottom border) they would be used if they are not equal to adjacent cell on the border.

            Please look at my submission for a better understanding. Solution complexity if O(n*m).

            11473484

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

      My solution is O(N2M2). I think 2D Fenwick Tree is unnecessary since N2 * M2 ≤ 108

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

    i was unsure whether O(n^2*m^2) would pass. hence i implemented an O(n^2*m) solution.

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

Why O(255025000000) operation is not TL ? 11473557

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

Was Problem E just this paper? Here

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

Interesting problems . Thanks for good contest .

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

I understand you want to introduce your company's work in the statements. But WTF was problem D's statement?

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

Классные задачки! Хотя, кроме F и E все простые, над всеми пришлось подумать.

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

Hoping for a systest miracle: for enough people to fail for 278th to get to top 200

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

Winner is from North Korea. Hmmm... Congratulations to vepifanov with a trip to San-Francisco. :P

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

How to solve H? I've spent literally the whole contest on it :( Still getting WA#4, and I have no idea why.

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

    overflow

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

    Binary search; when you have fixed some answer, you have intervals of possible values for a,b,c,d in matrix B. From those invervals you can get invervals for values of ad and bc. Now you only need to check them for intersection.

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

      Now you only need to check them for intersection

      Would you please explain it?

      In this problem, how can I tell from the values of ad and cd that our current answer is valid? I don't understand it.

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

        Assuming answer is equal to X, you can pick any value in range [A-X,A+X] (I denote values of original matrix by A,B,C,D here) for a and any value in range [D-X,D+X] for d. This gives you some range [L1,R1] for possible values of product of a and d. By picking proper values for a and d in your new matrix you can reach any resulting product from that range. In the same way you can get range [L2,R2] of possible values for product of b and c. You are interested in picking such values for a,b,c,d that ac-bd=0, therefore ac=bd, which implies that [L1,R1] and [L2,R2] have a common point. I hope my code (11475874) is clear enough.

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

    Yup, same situation. I figured out how to solve it if (a+b+c+d)=/=0, but then got stuck. Really frustrating when you see the number of people that solved it...

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

    I feel your pain... Spent whole contest on H, in the end I ended submitting random calculations until this passed pretests, but I have absolutely no idea why:

    for (int bs = -1; bs <= 1; bs += 2) {
    		for (int cs = -1; cs <= 1; cs += 2) {
    			for (int ds = -1; ds <= 1; ds += 2) {
    				if (bs*cs == ds) {
    					long long den = -a + bs*b + cs*c - ds*d;
    					if (den != 0) k = min(k, fabs((a*d - b*c) / (double) den));
    				}
    
    • »
      »
      »
      11 лет назад, скрыть # ^ |
      Rev. 2  
      Проголосовать: нравится 0 Проголосовать: не нравится

      I can't understand why this works. My solution had 8 cases:
      1) (a+x)(d+x)=(b+x)(c+x);
      2) (a+x)(d+x)=(b-x)(c-x);
      3) (a+x)(d-x)=(b+x)(c-x);
      4) (a+x)(d-x)=(b-x)(c+x);
      5) (a+x)(d-x)=(b+x)(c+x);
      6) (a-x)(d+x)=(b+x)(c+x);
      7) (a+x)(d-x)=(b-x)(c-x);
      8) (a-x)(d+x)=(b-x)(c-x);
      This solution don't work. But when i sent just first 4 cases have AC.
      Why?
      Example, 5th case: ad-bc=2*sqr(x)+x(b+c+a-d), when discriminant>=0 we can find new answer. If I am wrong please explain, all the time I spent on this task.
      UPD when Discriminant > 4*(10e18) my solution broked.

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

    I am not positive this works but basically binary search. The truth condition is if by changing each of the elements by this much you can get the opposite sign of the determinant. Maybe this fails somewhere but I don't think so.

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

    Me too. ;-(

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

    I suspect that there might actually be a simpler solution to this. Note that in the samples, for B each element differs by the same amount from its corresponding element in A (that is, |1.2 - 1| = |1.8 - 2| = |2.8 - 3| = |4.2 - 4|). I tried proving it, although I don't think it was rigorous or even worked. However, if it holds, then it's just checking 24 cases: add or subtract a number t to each element in A (that's where 24 comes from), compute its determinant (a quadratic expression in t), and find its solutions. Take the one with minimum magnitude among all found solutions.

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

    Check my O(1) solution for H. I just tried all the possible combinations of +x or -x at all the places of the matrix. SOLUTION

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

      Can u plz explain ur solution in detail. Sorry for inconvenience.

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

      explain plz?

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

      For the record, here is another constant-time solution for H, except that it relies on arbitrary-precision arithmetic to get the accuracy to 1e-9: 11493234

      The explanation is based on similar thinking to the editorial, treating the matrix as two vectors. After drawing some pictures, we need to find a line passing through the origin (i.e. this is the degenerate matrix B) such that the distances along diagonal lines from the the vectors to this line are the smallest possible (i.e. the largest of them is minimised). Diagonals are usefully dealt with by rotating 1/8th turn, then it becomes a matter of dropping down vertical lines from the vectors onto a line of the form y = mx. And the rest are details.

      But I'd really like to know if there is a simple reason why prateek_jhunjhunwala's solution works, or is it just a coincidence?

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

How to solve problem D? Is it possible to solve O(n*m) is the optimal solution?

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

Congratulations I_love_you ! will be nice t-shirt with this handle ;)

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

Test is ended. Please give me good score~~~

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

Задачки идейные и в целом хорошие, спасибо. По много минут думать над G и H, чтобы потом за две минуты закодить -- приятно.

Кажется, правда, между E,F и остальными задачами получился большой разрыв по сложности, о чём ещё перед контестом разные комментаторы писали.

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

Обменялись любезностями.)

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

THe problem D was very difficult understand I needed more than 45 min in order to understand MY english is bad I think that was that. but is the first time that happened this. did Someone have the same problem??

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

Seems like RNS hadn't even tried to pretend to be single person. 2 submits in the very same second, 2 accepted within 14 seconds of each other...

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

    Also the two neighbours submissions have pretty different amount of includes...

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

    I think I've read somewhere before that they are a team from Korea always participating together.

    I wonder what they are going to do with the tshirt. smh

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

      I do believe in integrity of Codeforces contests enough to be sure there would be no T-shirt for them

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

        We're aware of this "user", this won't be left unpunished.

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

          And his name is nowhere in the rank list. Faith in codeforces restored (not that it was ever shaken)!!

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

          I feel like having a big banner on CF home page saying "NORTH KOREA DOES IT AGAIN: ANOTHER SHAMEFUL CHEATING ATTEMPT FROM NORTH KOREAN STUDENTS" would be a more appropriate punishment than hiding them from the leaderboard.

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

            I think that that kind of generalization would be too racist.

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

              Suppose Brazil U20 wins the World Cup 3 times in a row. The day after the 3rd final you open the newspaper and it says "Brazil does it again: another amazing performance from Brazilian youth". Does it sound a racist generaliazation?

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

                You can't say it's shame on all north korea coders just because one of them cheated

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

                Your example is just silly. It doesn't sound like a racist generalization because it isn't. One might claim that usage of "Brazil" and "Brazilian youth" is a generalization since it's actually only a team who've won the cup, not the whole country/nation. But it's wrong because that is their national team we're talking about. That sentence congratulates the whole country because the team that represents them have won. It's totally different than blaming a whole nation based on limited observation. I think you should consider what you've said before and try to be less offending.

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

                  I do not understand your argument. You were happy with Brazilian headline. Now I went ahead and replaced Brazil with NK, the phrasing referring to the act of stellar performance with the phrasing referring to the act of shameful cheating, and Brazilian youth, that represented the team, with NK students, that represented the NK lab behind the user.

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

                  I still think that my argument is clear, but I will try to put it in other words just to be sure:

                  There are 10 people in a room.

                  First case: Some person steals something from me. Then, I come to conclusion of every person in that room is a thief.

                  Second case: I want someone to play ping pong with me, that's why I go into that room and ask them to chose a representative player for their room. They choose the player. I play with that player. He wins. I congratulate the room.

                  The important thing to notice is: I'm not saying everyone in this room can beat me. I'm just saying that this room has defeated me. In the second sentence, "the room" actually refers to the player that represents its room.

                  First case is a generalization. Second one isn't. It's not related to action's morality or something. It's just that these examples are different. Trying to compare them is absurd.

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

                  Now I realize you probably don't possess all the information. This is not the first or second case of a user claiming to be from North Korea being in the top through obvious cheating (code strongly resembling other NK user's code) or less obvious suspicions (submits for different problems within seconds of each other, different coding style, etc). Sometimes they get punished (like on Rockethon this year), sometimes they don't (there was a long discussion on Codechef sometime ago about a Long contest, not sure what happened in other Long contests). I haven't encountered a single case of NK user in the top that resembled an honest result. (I believe there are links pointing to some of these occasions in comments around here so you can check for yourself.)

                  Hence analogy to your example would be -- every time I see a user from that room coming out, he is stealing something. And I come to conclusion that that room is full of thieves.

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

            Hiding them from leaderboard doesn't prevent us from something like you've described. The cheating issue is much more general and complex than just punishing separate users that get too high in the leaderboard.

            Also that would be not fair to say that the worst cheaters are from North Korea, there are many other countries with high amount of cheaters...

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

              North Korean cheaters are the only ones I've seen hailed in internet media (I am referring to NK press making news out of their 'victories' in online contests). I suspect they wouldn't continue this blatant cheating if they got publicly scolded once.

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

                I think they wouldn't care. It's like they're cheating for the sake of cheating, being that obvious.

                Not a big banner highlighting someone, but a Hall of Shame (in a sufficiently non-annoying manner) for all cheaters would be appropriate.

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

                  They were quite obvious at Codechef contests too, yet Codechef chose not to ban them. They are actually posting news about results of those contests to show how advanced their university is.

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

                  Mhm, I wonder why Codechef did what they did. My guess is negligence, but being threatened is also a possibility.

                  You can't stop propaganda, anyway. If they didn't win any contests, they could outright lie.

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

            I wonder if Korean students are really aware that they are participating not in a team competition?

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

    Why should they ? The believe these are team contests.. :P Here Here

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

    Is that all the proof you have?

    I'm pretty sure I've had 2 accepts in 14 seconds at some point in some contest. You give up on debugging a problem, do something else, go back to debugging the first one and find the bug immediately.

    Also, if the internet connection is down, you'd continue solving things and then submit 2-3 solved problems at the same time when you're able to submit.

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

      I do not want to go deeper into 14 seconds delta, but non trivial submits on different problems in the same second?

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

        I explained it. Connection comes back up, you submit 2 things you solved during downtime. Some random lag causes the first submission to delay by 2-3 seconds, so it looks like the same second instead of 5 seconds difference.

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

          While using different templates for different problems

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

            That is slightly strange, but still not proof. For example, when a problem requires maxflow, I copypaste some code that I wrote years ago, using a completely different coding style and different macros.

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

              There ought to be a moment when you stop multiply small probabilities and say that something that walks like a duck and quacks like a duck is a duck. Besides admins can check you theory about disconnect by looking into logs

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

                Obviously it looks 99% like what you're saying, but you have to give an extreme amount of "innocent until proven guilty", since false positives are quite terrible.

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

                  No, it looks maybe 99.9999% like what you're saying. The chances of getting 2 submits on the same second are already extremely low — it's never happened to me before, AFAIK, and I've made a LOT of submits. A few seconds are very, very rarely enough to fix a bug and submit. Especially if "you're on a slow connection".

                  By quantum physics, there's non-zero probability of an event occurring (as long as it's in accordance with basic laws — causality comes to mind here). How low does the chance of being a false positive have to be for you to disregard it?

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

                  to W4yneb0t:

                  I don't know why are you arguing whether it's cheating or a rare cased happened.

                  simply if it is really rare case happened at least RNS could say so,but even him didn't say that it's rare case happened and if he is banned from commenting then he could create new account to say so ,or he can ask a friend to use his account to comment.

                  also if you're saying that those proofs are only 99% correct then could you give us example of how a 100% proof look like?

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

                  As Xellos pointed out above, there's no such thing as a 100% proof. It's hard to say what's enough, but 99.999% definitely is and 90% definitely isn't. With only the info in Egor's original post (before he and Xellos responded with more info), I wouldn't even give it 90%.

                  This is not another matter of two gray users submitting the exact same code with 1 character changed. Take it more seriously.

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

                  if I was in RNS situation and I know that I'm not a cheater then I would post a comment with explanation to how is that these rare cases happened with me.

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

              While bragging about competing as a team.

              Anyway, which of these two options do you think is better?:

              1. skip solutions of suspected cheaters and give them a chance to appeal it

              2. nothing

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

                Bragging where?

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

                  One link (Russian, Ctrl+F AcRush), evidence that at least one NK team considers individual participants "teams". Further links showing mugurelionut's digs into it: team rns4 (presumably this RNS) did cheat by using another account to submit.

                  Just try googling for more. Okay, one more link, compare it with this situation.

                  At this point, you're asking if it's "all the proof" that there's of NK sending teams into individual contests and publicly talking about winning them (hence "bragging"); repeatedly, NK "users" have successive submits with extremely small time gaps, different users had nearly identical codes (plus CC decided they didn't cheat, which is suspicious by itself), and individual users repeatedly send codes with completely different structures. Once again: extremely similar behaviour for different users. Yes, that's all the proof.

                  Anyway, you haven't answered my question: which choice is better?

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

                  Ok, I'm largely convinced. I'm not sure which is better — some people would just say "well fuck you then" instead of appealing, and even if they appeal successfully, there will be some damaging community drama.

                  I suppose whoever made the decision to disqualify the offender has had access to all this info that you and Egor posted. This info wasn't shown anywhere to someone who is new to the discussion. In this case, it's fine to disqualify.

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

        maybe he is multi-threading human? :D

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

    tourist also should be punished... it's clearly impossible to solve 7 problems in 1:08 alone.

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

    Maybe they don't know that contest for only one coder?)) Or maybe they need a good result to be not killed by their authorities?

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

I love this contest

very nice problems.

Hello div 2 again.

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

D was truly written in an AWFUL way, it took me around an hour to get the statement behind the simple problem :/

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

k = n in C is so wrong in so many ways >_>... Who would want to play a game which is already ended? I think such tests should be excluded since we have "Stannis starts the game." and when it's already ended it's false xD.

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

With all due respect, let's all take English to the grave and bury it together after this contest. Specially on problem D.

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

Am I they only one who had problems with viewing the code for hacking ? The whole code goes out of the box !

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

Shoutout to dreamoon_love_AA for hacking my C (with n = k) so that I fixed it and got a lot of points on it :)

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

We hope a good stay in San Francisco for tourist!

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

Hoping to become purple, please update ratings fast.

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

Интересно это нормально ? Test: #54, время: 0 мс., память: 4 КБ, код возврата: 0, код возврата чекера: 1, вердикт: WRONG_ANSWER Ввод -1 1 1 1 Вывод 0.99999997764 Ответ 1.0000000000 Протокол тестирования wrong answer 1st numbers differ — expected: '1.0000000', found: '1.0000000', error = '0.0000000'

Посылал в дорешку. http://mirror.codeforces.com/contest/549/submission/11475797

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

how to solve G? I tried by sorting the people according to the initial cash they hold, updating the final cash in hand, and checking for validity. But this doesn't pass the pretests. What is the correct solution?

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

Вот почему нельзя в условии B было написать, что человек всегда себе звонит? Как это можно понять не вчитываясь во "Входные данные"? Из самого условия я понял, что могут быть петли, а не то, что они будут обязательно. Есть ощущение, что я такой далеко не один.

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

    И сразу же вопрос вдогонку — без дополнительного условия о единицах она вообще решаема за полином?

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

    При этом все стараются как можно больше времени потратить на веселье, поэтому рассылают сообщения всем, без разбора, и даже себе.

    Это написано в двух местах в условии, в первом абзаце и во входных данных. В первом абзаце даже специально отмечено болдом.

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

      Вот из первого абзаца я и понял, что могут быть петли(и на это обращают внимание, поэтому выделили). А о том, что они есть всегда по-моему можно понять только из входных данных.

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

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

        Повторю за Максимом с добавкой.

        поэтому рассылают сообщения всем, без разбора, и даже себе.

        Гарантируется, что i-й символ i-й строки всегда равен 1.

        По-моему, тут всё предельно понятно.

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

С каких пор переполнение int в одной из двух самых сложных задач в контесте перестали отлавливать претестами? Спасибо конечно авторам за бесценный опыт, но по-моему это странно.

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

    Мы думали, что там одна сложная задача :(

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

      Казалось бы, даже если она не сложная...

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

        Если серьезно, то я считаю, что не взять лонги — такая же бага, как не разобрать случай с несвязным графом, с одной вершиной, взять маленький массив, неправильно посчитать eps, сделать мало итераций, etc. По этому поводу можно долго холиварить: кому-то это нравится, кому-то нет. Я считаю, что этот момент остается за автором, который принял такое решение, зная, что проблемсет не содержит кучу реализаций, и, наверное, чуть проще среднего.

        Тем более, что в этой задаче лонги очень даже очевидные.

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

Dropped far from top 20 because added eps for comparison in H. So stupid :(

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

Sorry if this is a stupid question (first time participating), but: The contests announcement said the order of problems is going to be random, but couldn't people have guessed the value of problem based on how fast its points are falling off? (there was a table on RHS that listed how many points I can get at that point in time for each problem).

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

    Yes; that doesn't falsify the statement that the problems are ordered randomly, even though you can figure out what the "proper" order should be by watching the scores falling.

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

      I don't recall exactly what I saw in the table, but:

      How did the points all start out at 3000 if some problems were actually worth only 250, 1000 points, etc.? For instance, if problem A showed 2xxx points in the table early in the contest, wouldn't that have been misleading?

      Thanks.

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

        That is called dynamic scoring. The score of a problem depends on the number of people that have solved it; naturally, the more people that solved it, the less the point value is. But at the beginning of the contest, the number of people that will eventually solve it is obviously unknown (not happened yet), so the scores are based on the current number of people that passed pretests.

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

    These numbers depended on the number of solutions that passed pretests at any point in time. You could just look at the dashboard and guess the order of problems based on the number of solutions listed there.

    It's perfectly okay to use that.

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

    Of course, but it's only a guess. Also, it might be very wrong because everyone submitted a wrong solution (see problem C).

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

One unsuccessful hacking attempt can send someone from 1600 to 2700

As did to me! :(

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

Series of silly bug

  • C: forgot base case where n = k
  • F: use cin/cout without sync_with_stdio(false)
  • H: use eps

from ~80 -> 943 Orz

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

Seems that the writer of C scenario hates the Lansters :P

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

Is an expected complexity to E? I came up with a solution based on inversion pretty quickly, but when I realized that I need to compute convex hulls on fractions (or on doubles and have hope that this somehow will pass) and that TL seems very risky for such complexity (with hevy operations on fractions/doubles) I felt sad :(.

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

In problem C, what would be the answer for this case:

8 2

2 2 2 1 1 1 1 1

with explanation please.

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

Can anyone explain why my G failed? Shouldn't nlogn sorting pass for n<=2*10^5? http://mirror.codeforces.com/contest/549/submission/11470961

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

E: since the values of coordinate are small, we can decrease the number of points by ignoring the points which is not in the convex hull.

After that, for each point we use geometric inversion at the point, then we can easily calculate the answer by sorting the points by the argument.

The time complexity is O(|coordinate| log |coordinate|)

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

    Wow, that is so smart! Problem with large number of points magically disappears.

    However I'm pretty sure that removing points from convex hull leaves not of them, where z is a range of coordinates.

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

    Btw, I also came up with an inversion, but what do you mean by "we can easily calculate the answer by sorting the points by the argument"? In my understanding we need to check whether there is a line that separates two sets of point which is equivalent to checking whether two convex polygons intersect, which is not that trivial.

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

      sorry, I mistook. But we can calculate the answer O(z^2log z), by judging whether two convex hulls intersect.(since two polygons are convex, we can judge it by plane sweep method)

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

    Lolololol, that is so wrong, you can't disregard points inside convex hull ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°)!! But that was a good try :D. I wonder whether there are tests detecting this :P.

    UPD: However we can throw away points inside one of them — that one which we apply inversion to. But this blows up complexity to :P. But it should pass either way

    UPD2: Duh, what I said it's not true as well -_-. I got lost xd

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

I was at place 212 in the first "final standings" and I am now at place 202! Could you find two more cheaters :p? These T-shirts are so nice!

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

Прошу прощения, что означает вердикт "Попытка игнорирована"? Я получил "Претесты пройдены", до конца контеста ничего не отправлял больше по задаче, сейчас обнаружил, что попытка игнорирована без какого бы то ни было пояснения. Как это работает?
UPD: http://mirror.codeforces.com/contest/549/submission/11462849
UPD2: Зачли. Но хоть комментарий бы написали, а то меня уже минусуют, как будто у меня сразу было зачтено. Спасибо :)
UPD3: Увидел коммент :)

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

    Отлично!

    Надо ещё найти одного читера для Nicolas16 и 110 для vitux.

    P.S Это, конечно, шутка... если вы не читер. :D

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

      Я рад вашему задору, но если вы отвечаете за свои слова, то будьте добры пояснить, в каком месте кода я считерил. Код имеется по ссылке. (Не хотел отвечать резко, но прямые безосновательные обвинения тоже не слишком приятны)
      P. S. Рад, что у вас есть чувство юмора :)

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

        Извините если я вас обидел. Видимо мне стоило полностью дописать коммент перед тем как публиковать, но до вашего ответа я успел добавить правку.

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

          Мне кажется, все три наши правки были сделаны в тот момент, когда следующий комментарий уже писался, поэтому не были прочитаны вовремя. Своеобразно получилось, да :)

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

    Вообще, если причина в том, что моё решение было признано читерским, и если это сделано автоматом, то было бы неплохо, если будет сразу выдаваться комментарий. Ну то есть, типа "Было списано из статьи ... ресурса ..." или "... из посылки ... участника ...". Это должно сильно упростить решение таких ситуаций. Да и вообще уведомление это неплохо. Я мог закрыть контест и открыть через неделю результаты. А то получается как-то очень грубо и без уважения.

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

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

    По поводу комментария к игнорированной посылке — идея хорошая, но на текущей стадии развития все читеры игнорируются по большей части вручную, поэтому писать такие комментарии пока не представляется возможным в силу огромного количества случаев читерства. Наверное, ваш сабмит был причислен к их числу по ошибке, приносим свои извинения.

    Тем не менее, мы работаем над улучшением данной процедуры.

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

      Скорее всего, ручная модерация делается на основе выборки, сделанной какой-то программой, мне слабо верится, что есть иной способ. И модератор должен получать от такой программы какую-то информацию о том, почему посылка попала в выборку. Скорее всего, если в случае игнорирования такая информация будет автоматом прокидываться в уведомление, это позволит сильно сократить нервы. Понятно, что информация будет не полной, но хотя бы номер сопоставленного решения будет сильно полезен :)

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

    На данный момент все три мои посылки проигнорированы. Узнал я об этом случайно. Зато, похоже, теперь знаю причину. Мне прислали несколько номеров посылок, код в которых совпадает (частично или полностью) с моим. Причём не все они заигнорированы. Думаю, причина в том, что я писал в ideone.com (так уж сложились обстоятельства), а кто-то догадался посмотреть на предмет наличия решений на этом ресурсе в последних сниппетах. Вот незадача. В общем, полагаю, вина в моей безалаберности. В принципе, установить, что код именно мой, не так сложно, просто посмотрев стиль моих предыдущих посылок, но сейчас уже глупо спорить об этом. Так или иначе, но код утёк. Если посылки останутся проигнорированы, то я просил бы сделать контест нерейтинговым для меня -- задачи я решил честно, а получать минус в рейтинг странно из-за этого. Достаточно потраченных времени и сил.

    По поводу вежливости хотел бы дополнить ещё раз -- всё было бы куда мягче, если бы изначально было уведомление, а не безмолвное и беспощадное блокирование посылки.

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

Now lets move on to the Champions League Final!! :)

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

Может быть я что-то пропустил в условии, но в задаче H нигде не было указано, что элементы вырожденной матрицы, которую мы будем искать, не могут быть нулями. В таком случае, мы можем составить матрицу в которой один из элементов — максимальное значение матрицы, данной во входных данных, а все остальные — нули. Определитель данной матрицы будет равен нулю. Таким образом, ответ всегда 0.

Подскажите пожалуйста, где я неправ.

Глупость.

UPD: Спасибо большое всем прокомментировавшим: ошибку понял, в следующий раз буду внимательнее.

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

    Ну, как бы, смотрите.
    Нам нужно минимизировать max(a[1][1]-b[1][1],a[1][2]-b[1][2],a[2][1]-b[2][1],a[2][2]-b[2][2]).
    Как это, по-вашему, всегда будет равно 0?
    По простой логике, если max(a[1][1]-b[1][1],a[1][2]-b[1][2],a[2][1]-b[2][1],a[2][2]-b[2][2])=0, то a=b, по-другому никак. А входная матрица, конечно, не обязательно вырожденная. Перечитайте условие.
    З.Ы. 11468397 Хорошая попытка, но нет=)

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

    Так ведь ответ тогда будет не ноль, а максимум из модулей трех оставшихся элементов...

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

    Так можно, но это не будет верным решением.

    Например исходные данные: (1 1 1 1) Ваше решение: B = (1 0 0 0), k = 1 (наибольшее из абсолютных значений разности исходной матрицы и B) Оптимальное решение: (1 1 1 1), k = 0

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

    Ответом будет норма матрицы A-B, в вашем случае — второе максимальное значение по модулю матрицы А.

    upd: Долго писал :)

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

I hope updating the ratings doesn't delay for too long

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

First I got accepted on my solution for problem A , then the verdict changed to "skipped" , why ?? Can someone explain for me ? And I've only submitted ones.

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

Очень классные думательные задачи, спасибо авторам!

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

Wish you'd try to catch cheaters every round because many people participate together. Why don't you add a report option? If someone spotted 2 or more codes very much the same they could report them to you.

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

I wish after 49, there was 50.. Where happiness meets cottons :)

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

deleted

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

Will be there any editorial, plz?_

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

I have a question. In the final standings, it doesn't show that I solved A. It just shows I have 1 unsuccessful attempt at D. Why?

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

Посмотрите, пожалуйста, что у меня в решение не так? Не проходит третий тест(( http://mirror.codeforces.com/contest/549/submission/11474914

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

    Судя по логике Вашего решения, Вы полагаете, что игрок, который ходит последним, проигрывает, если нельзя уничтожить города какого-то типа. На самом деле, все наоборот. Да и странные Вы какие-то условия проверяете — противоречивые и непонятно откуда полученные. Советую прочитать разбор.

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

    Дедушка, кажется это не ваше решение.

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

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

Dynamic scoring in contests with joint divisions is very poor. C worth 2000pts is a joke. As a result we get people with F done and without n=k case in C ending up lower than those with case n=k considered.

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

    Because of the number of solving users, I have not read the problem statement E and F. And I spend a lot of time for problem C and calculate as more as possible on my A4 papers. However, when I see others solutions for C when hacking, I was shock for the length.

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

Thanks for the contest. This contest shows my poor English reading skill. I spent nearly an hour in struggling with the statement of D. Thanks for the example input and output, and strict pretest of D.

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

Sorry its already mentioned in the post.

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

Очень интересно выглядит таблица изменения рейтинга по итогам контеста.

http://mirror.codeforces.com/contest/549/ratings/page/1?order=BY_RATING_CHANGE_DESC

shad0w_walker имел до начала контеста рейтинг 1518, набрал на контесте 0 баллов, и получил +261 к рейтингу (не решив ни одной задачи!). И таких пользователей, получивших большой прирост к рейтингу имея 0 баллов, немало.

Но вот следующий за ним Ivy_End имел до начала контеста меньший рейтинг 1399, решил больше (1890 баллов), а прирост к рейтингу у него всего лишь +258. Возможно, тут дело в том, что у Ivy_End до этого был всего лишь один контест, но можно найти и пользователь, у которых достаточно много контестов написано, первоначальный рейтинг был меньше, чем у shad0w_walker, решили они существенно больше нуля задач, но не получили такой сильный рост рейтинга.

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

    А, это читеры с проигнорированными посылками:

    http://mirror.codeforces.com/submissions/shad0w_walker/contest/549

    Сначала им пересчитали рейтинг, а потом уже заигнорили на читерстве. Может быть тогда и изменение рейтинга откатить?

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

    Посмотрел таких, у которых стоит 0 баллов и большое изменение рейтинга.

    Из тех, у кого указана страна в профиле подавляющее большинство (десятки) из Китая и Индии. Пару раз попались египтяне, один раз — Кипр, один раз — Казахстан, один раз — Белорусия.

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

Why were some people's codes skipped? Although the codes were skipped their ratings still increased.

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

Can anyone explain in detail the binary search solution to question H? I have been struggling for the last hours to solve it/understand it.

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

    My solution: 11477556

    Binary search for the answer (maximum for absolute value of change of any of a, b, c, d). Minimum possible value is 0.0. Maximum possible value is max(min(|a|, |d|), min(|c|, |b|)). (Because it is sufficient to replace one of a, d with 0.0 and one of c, b with 0.0.)

    Step of binary search. Find maximum and minimum for a * d and for b * c, changing any of them (a, b, c, d) up to x, where x is current value of the answer. See my functions bestMax and bestMin. They select the best of 4 values. (Proof: the result of a multiplication is a liner function of each of the values multiplied. Maximum value of a linear function is observed when its argument is min or max.)

    Then you compare four values. If range of (a * d) values intersects with range of (b * c) values (see function best), then such values can be selected that (a * d) — (b * c) = 0. If this condition is satisfied, then the answer is <= current value of x, set max bound of binary search to current x. Otherwise set min bound of binary search to current x.

    Number of steps is set to 1000, so precision is about a value of 2^1000, which is much more than 10^9.

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

Wow, just wow!! I must applaud codeforces on the algorithm they are using to catch cheaters. But the algorithm is so effective, that it is not only catching catchers, but also innocent problem solvers. Kudos to codeforces!! -_-

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

Когда примерно появятся окончательные результаты и "правильный" рейтинг?

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

We've finished to process similar solutions. This time we unrated users with very-very similar solutions, but didn't count the first (by time)/original solutions in each equivalence group. Next round we will punish them too. We believe that it is the duty of a participant to not allow solutions to leak. For example, you should not use ideone with enable Public - your code will be available to everyone feature. Also next time we will make deeper analyze to compare solutions and find cheaters

In case of repeating cheating an account will not be able to take part in rounds for some time.

Please work personally. Use of another's solutions does not make you smarter. It is ugly and shameful, it is disrespectful to Codeforces and other participants.

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

    Could you Please explain how the current dynamic scoring works?

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

    Problem A was a cakewalk problem and it had several (about 3000+ ) solutions accepted . So chances of 2 or more solutions being same are really high , i personally know some people who solved it really quick and i am sure they didn't cheat but still they got caught for cheating and this round went unrated for them , i think an exception should be made for problem 'A' only and should not catch cheaters for this this problem . Thank you :)

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

    It looks like my soltions got accepted again. Sorry for the angry outburst, but I do think you should look into the solutions more carefully.

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

    There are also cheaters who have two accounts and use one to view other's solution (after passing the pretest) and then use the other one to copy it. To handle this situation, I think problem writers should make sure their pretest are strong enough.

    Another solution is to add more limit on hacking. For example, one can lock a problem if and only if his solution have passed the pretest for 30 mins or the contest will end in 30 mins.

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

cheaters removed and Update again rating and hello div 1 again (:

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

Однако мой код доступен всем в моей комнате, кто решил эту задачу. И если кто-то решит дать списать своему товарищу, он может просто заблокировать задачу и дать ему чужой код. В таком случае будет дисквалифицирован невинный человек?

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

Losery Cup 2015

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

I didn't get green t-shirt but I got green :)

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

I'd rather have my username exactly the same on the back of my t-shirt. I mean Monyura shouldn't be monyura on his t-shirt.

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

I had taken part in the contest but I can't find the changing about my rating.I solved 5 problems,and one of them fst. but now I can't find any record about it.who can tell me why

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

А что с призами? Не видел ни одного комментария организаторов по этому поводу. Они будут разосланы по почте, на адрес, указанный в профиле? Свяжутся ли со мной, когда посылка будет отправлена?

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

    Хороший вопрос. Что с призами?

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

    Вам, как и всем призерам, должно было прийти письмо от MikeMirzayanov с просьбой проверить, что поле адресс находися в актуальном состоянии. Если это так, мы напишем сообщение, как только приз будет отправлен. Сейчас мы ведем переговоры, как лучше эту отравку орагнизовать, все призы найдут своих героев:)

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

Did any one get their tshirt?

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

Отсутствие футболок как-то связано с тем, что Snapchat купили Looksery?

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

    Это наш первый опыт в проведении раунда, так что все не так оперативно, как у Google. Но смею заверить — мы от своих обязательств не отказываемся.

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

      Можно было, наверное, довезти часть футболок на физтеховские сборы, на которые приезжала от вас команда.

      Я тоже от футболочки бы не отказался :)

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

Я ещё не получил футболку. Думаю, я не один такой. Прошу привезти на сборы в ПТЗ, если можно