Всем привет.
VK Cup 2017 Раунд 1 пройдет 18-го марта в 18:35 по московскому времени (время в вашем часовом поясе), параллельно состоятся обычные div1 и div2 Codeforces Round #405.
Соревнование «VK Cup 2017 — Раунд 1» предназначено для команд, вышедших из квалификационных раундов. Лучшие 400 команд пройдут дальше в Раунд 2, у остальных же будет еще один шанс пройти дальше в Уайлд-кард Раунде 1 в Апреле. Те, кто не участвуют в VK Cup, могут принять участие в Codeforces Round #405 индивидуально. Все три раунда будут длиться 2 часа, все три будут рейтинговыми.
Хочу поблагодарить: KAN за помощь в подготовке соревнования, MikeMirzayanov за то, что мы тут, AlexFetisov за тестирование задач и компанию ВКонтакте за прекрасный ежегодный турнир.
Я являюсь автором задач и надеюсь (и ожидаю?), что вам они понравятся. Помните, что вы можете прочитать много задач и попробовать решить те, что найдете наиболее интересными.
Желаю вам насладиться раундом и избежать глупых ошибок.
Проблема с регистрацией на основной раунд исправлена.
div2: 500-1000-1500-2000-2500
div1: 500-1000-1500- 2250 -2500
vk-cup: 250-500-1000-1500- 2250 -2500
Поздравляем команды, занявшие первые места в VK Cup Раунде 1:
Также поздравляем победителей в параллельных раундах!
Div. 1:
Div. 2:
Разбор тут.
limak is back :)
will the VK cup round 1 questions be available in english??
Or atleast will the questions of VK cup round 1 be a subset of union of rounds 405 div1 and div2 ??
Number of problems?
There are 7 problems. 5 for each division and 6 for participants of VK Cup. In more detail: div2 gets 1-5, div1 gets 3-7, vk-round1 gets 2-7.
Please add this detail in the blog.
"May the Force be with you"
During the contest, remember that you can read many problems and try to solve those that fit you most
What does this mean? Does it mean that it is possible that A could be harder than B and the order is toughness will be random.
No. Problems are sorted by the expected difficulty. That sentence means that maybe a problem B is some unpleasant geometry in 2D and you don't like it, while a problem C is about geometry 3D, what is your favorite topic. Then maybe you should solve C first.
Thanks , I will unregister :D
You can read D instead.
Thanks I don't like Machine Learning
Is D about 4D geometry (my favorite topic)? :D
And problem E is like Polymeric Falcighol Derivation?
Poor problem A.
It's quite rare for having a tree in such depth in comment section
I'll just increase the tree
Yours made it reach max depth so I can't increase it anymore :(
Depth first Search
when some sub-sub-.. comments have more likes than the blog.
You are still registered :P
Thanks.
And if both of them aren't your favorite topic, read problem D or E, which is geometry + insane amount of math.
When I registered for VK Cup Round 1 Contest,the system showed me the information which told me that I registered for Codeforces Round #405(rated,Div2,based on VK Cup 2017 Round 1) before and I needed to unregister before continuing.However,I didn't register for Codeforces Round #405(rated,Div2,based on VK Cup 2017 Round 1)at all,what's the matter?And please tell me how I can successfully register? (I competed in the qualification round and got qualified.)
In case if your name does show up on Codeforces Round #405(rated,Div2,based on VK Cup 2017 Round 1)'s registrant list, you can unregister yourself by going to http://mirror.codeforces.com/contestRegistrants/791/friends/true and click the "x" next to your handle.
If that's not the case then I don't know D:
I didn't find myself in the website you offered,so maybe it's not the case.
Yeah I just checked that as well. I suppose that's not the case then...
Hopefully someone can help you soon.
I have the same problem and don't know how to fix it :(
Please, try again.
Yeah, the same information was shown to me and my partner. It said that I have registered for div.2 and my partner has registered for div.1. I don't know what to do to manage this, as in fact we have done nothing before. Hope someone could solve this matter. I don't want to miss the chance to take part in VK Cup.
Just for information: you are not allowed to take part in Round 1 if you are not Russian-speaking. I urge you to respect the organizers and other participants. In addition, Codeforces team did an additional job in order to allow parallel participation of users from all over the world.
Yeah thats fine.But if someone had by mistake written qualification round and qualified then now he has no other choice than to participate in round 1 because it now doesnt allow to register for parallel round
-Вк кап только для русскоязычных.
-анонс только на английском.
I can't register for Round 1. Each time get this message
Try to register Div.2 and then unregister.
Please, try again.
Проблема с регистрацией на основной раунд будет скоро исправлена.
Mike to the rescue.
How is the average rating of a team calculated? And how will the ratings be updated for the official round?
I always meet extremely frustrating bugs. LOL ...
Thank you for your wish.
Допустимые языки C/C++, Pascal, Java, C#, Python, Ruby, Perl, PHP, Haskell, Scala, OCaml, Go, D, JavaScript и Kotlin.
С чем это связано? В квалификациях я писал на Rust, а теперь не смогу?
Будет и он, просто выпал случайно из этого списка. Удачи в Раунде!
Понял. Спасибо за информацию!
I know that you love it Errichto, especially for you I'm posting it earlier than normally. :3
I will postpone the system testing 5 minutes for every post like this.
hahaaha :-D
System Test should start now , cuz it takes long time
Excuse me, the terms of agreement of this contest are written in Russian :( (I suppose it is same as usual.)
Is is the first time on Codeforces history that a problem gets only 250 points score :\
No, sometimes you have a Div 1 + Div 2 round with a Div2-C problem that is only 1250 points worth, so Div1-A (which is the same problem) is only worth 250 points.
Frankly, the VK Cup A should be worth 0 points as the corresponding Div2B problem is worth 1000 points...
For example, Task A from Codeforces Round #329 (Div. 2)
Smooth dynamic scoring will also give 250 for most A's, as is described in this post. I met with a 250-point problem A on my first contest on CF :)
Будет ли сдача задачи по времени влиять на балы?
Иными словами правила стандартные?
Будет, правила обычные.
May be this contest bring high ratings to everyone. All the best :)
It's a zero sum game.
"May the logic be with you."
Rating prediction: div1 div2
Рейтинг команд мои приложением, к сожалению, пока не рассчитывается.
Extensions:
Have fun & high rating:)
Poland STRONK!!!!
WTF difficulty?
wasn't there only one graph problem (Friendship Condition)?
771A - Bear and Friendship Condition and 771C - Bear and Tree Jumps? It was about 24 teams than solved more than 3 tasks on VK Cup 2017 - Round 1. So, for most of participants 2/3 tasks was graphs.
It's a bit like saying that 771D - Bear and Company was about strings — there was a string on the input but it doesn't mean much. I would say that the Tree Jumps is a dp + number theory problem.
Btw. you're saying that almost everybody solved at most 3 problems, so for them 2/3 tasks were about graphs. It would be true if they solved exactly 3 problems, not "at most 3".
D is cool :)
Do you know how to solve it?
You should solve problem for one vertex and solve for other vertexes using answer of a parent.
Still don't understand. Could you elaborate, please?
You basically root the tree in any node and do two DP/DFS passes:
First, compute the solution for all subtrees — you can easily do that by storing number of nodes in distance
d mod k
from the root in current subtree. The solution is then the sum of jumping distances in all children + number of nodes in distanced mod k == k-1
in all children.In the second pass, you just need to compute remaining distances using DP values in parent of every node: sum of distances above the node = sum of distances above its parent + sum of distances in all parent's children except for the current node + the same trick with modulo (index hell inc.)
Tried using centroid decomposition.... Still got a TLE on pretest 9... I guess I need some optimization
Centroid decomposition is overkill. Just do extremely tedious subtree DP.
What is your CD logic?
No
From last 5 minutes, when I am clicking on Hack a Solution, page does not open. Is this due to slow internet connection or everybody else is facing a problem?
That's frustrating... a lot of solutions for B in my room were wrong -- mine included -- and I couldn't hack anything at the end of the contest =|
I had 3 successful hacks on DIV 2B
answer is NO
The hacking system seems to be down for me :(
http://imgur.com/JmyUhUN
Hope all my solution passes and I will finally become candidate master.
is there any better order for (DIV1)C than n^5 ?
O(n) solution: 25615179
Edit: This is for Div. 2 C, not Div. 1 C.
I guess he meant div1C.
The first letter of each name should be uppercase, while the other letters should be lowercase
¯_(ツ)_/¯
Oops.
As it turns out, I screwed up in the same place
¯_(ツ)_/¯
How to solve Div 1 C. (unofficial) ?
My brain after solving Div1-B.
Agreed.
RIP RATINGS...
submit C 10 seconds before the end of the contest, waiting.. waiting...
Contest is over !! submission not there
good job servers, this website is so laggy these days
Div 2 Problem D is a nice Problem :D
Someone explain his solution please :D
its*
Suspicious
I am the god of hacking (Problem A in VK Cup)
What is the answer for this test case?
NO
But the fact is that
( 65538 * 65537 / 2 ) % 2^31 = 98305
.There were those who used
int
insteadlong long
.Div1D pretest 9?
When u have coded the solution to easy problem in a contest and the computer crashes and never reloads till the end of the contest.
When will be rating updated ?
Usually after the system tests.
Is div 2 D supposed to be a lazy propagation segment tree after doing dfs ordering?
No, it was just a dp on tree problem. For a node add the answer for its subtree and then add answer for all its siblings. For this you just need to store at each node frequency of nodes in subtree with distance%5.
I was doing this, but I couldnt figure out how to get the distances for the paths that go through the father node.
Just go on updating the parent node from it's children node. All the nodes in children's subtree will reach parent node in just prevDistance+1.
It also can be solved using centroid decomposition.
На чём валили первую задачу?
А там есть на чём валить? =)
IMO the problems are a little harder than usual, but are very nice. How to solve Div1 D?
The editorial is ready but it will be imported only after the system testing. Sorry for the inconvenience.
And I'm glad you liked the problems.
I don't know about Div1, but Div2 set of problems deserves ⭐⭐⭐⭐⭐
"rated"?
EDIT: If you didn't like problems, I will be glad to hear what exactly was bad for you. Maybe I can avoid it in the future.
He meant 5 star rating I guess.
Hah, I wouldn't ever think that there is ambiguity in my comment =)
I meant the problems are superb, like luxury 5 star hotels =)
I see what's the problem — in different browsers these stars look differently.
In my main browser they are of gold-yellow color.
When the system testing begins?
hack test for problem A (VK Cup): n = 65538 m = 98305 and any edges which unite all 65536 vertices in one component.
let x be number of vertices in component
let y be number of edges in component
Who wrote
if (x * (x - 1) / 2 != y) puts("NO")
and used int32, failed on this test.Yep, or n = 92684 and m = 148290... System test 29 |-(
How to solve div2 C?
what's wrong with this output A A A Aa Aaa Aaaa Aaaaa Aaaaa in pretest 1 problem c Div2
Its too vulgar :-P..
Nothing is wrong.
Your solution gives this output "A A A A Aa Aaa Aaaa Aaaa" on my computer which is wrong
Watch out for Aaaaaaaaaaa, which is 11 characters, any name longer than 10 character is not allowed. I got WA on first try because of this.
also your output on the judge is
A A A A A A Aa Aa
On task D, div 1, my solution in O(n2) got AC, weak tests :\
An example on which I get TLE: n = 3·105, ti, j = (i+j % 2 ? -j : j+1)
Link to solution
It seems that there is more than one O(n2) solution that got AC. I tried really hard to prepare tests in this problem but I didn't succeed. I'm sorry for that.
Кто знает? Почему CF-Predictor не работает для VK round 1?
я знаю:) потому что не реализован подсчет рейтинга команды. Если у меня будет время — пофикшу до второго раунда
Tnx for the not copied contest :D
When are we able to solve the problems on problemset?
If I took 401 place but 399 place was taken by two people, will I participate in the 2 round?
no
Но. если у кого то место<=400 , определяется плагиаризм тебе повезло!
А попроще?
Well, I had some frustrating bugs.
Добавьте в архив задачи.
Could some good soul who knows python please explain why this code gave runtime error in pretest 11 which has n=m=150000?. This isn't the first I've got such an error doing DFS in python. I really want to know as I'm finding it impossible to figure out on my own.
Dont paste full code in comments, instead paste link to the code
Sorry my bad.. will take it out..
python stack size of quite less. RE is because of Recursion depth limit reach.Similar BFS solution will pass.
Ahh yes your right! Python stack depth is only around 1000. The correct answer here offers a lot of light. Thanks a lot!..
Maybe stack overflow?
Yep that was the problem.. Python recursion stack size is small..
Buggy Div2.D !! :D
What a pleasure to solve some really original and less typing problems.
Happiness is getting into the darker shade of blue:)
wtf
is it machine link?
look through defines
HOW could someone do that !!!
Someone is cheating by using that as second account.
Edit:
Obviously this guy:
http://mirror.codeforces.com/contest/791/submission/25623078
http://mirror.codeforces.com/contest/791/submission/25623055
Compare the tokens used.
g++ -E and C++ online code formatter to attack it!
In Div 2 B, I used the fact that each in each connected component there should be an edge between each pair of vertices. Hence the number of edges given should be equal to — summation x*(x-1)/2 for each connected component, where x = size of the connected component. I used int and got a WA and when I replaced it with long long it got Accepted. Now my question is if the answer has to be "YES " then sum should be <= 150000 (since that is the range of M in the question) so int should suffice then why did I get a WA?
actually the number of nodes present in a connected component can be of the order 10^5. So if x=10^5 and it is int then (x*(x-1))/2 will overflow. This is the reason why u got WA
but then the number of edges required would be > 150000 so the ans anyway has to be "NO"
Why ? take the example of a tree with 10^5 vertices . Therefore edges are 10^5 — 1
Hello.All my submissions are not evaluated yet. They are showing 'skipped' in my profile. Can I get to know the reason behind this?
Most likely, you were disqualified.
It seems like the max rating and the rating graph has been updated, but the actual rating shown in the profile has not.
Ahhhhh finally pass problem E. Just a tiny bug in my reference of Half Plane Intersection, which has been used to solve ten or more problems. TAT....
It seems, that Div2C has some duplicate tests in the final test set, most likely due to multiple hacks with same values or something similar.
More exactly, tests #41 and #55 as well as #42 and #45 are the same. I guess this is some sort of bug? Probably not only for this problem?
Why is it that the graph and the max ratings have been updated but the present rating has not yet been updated?
Errichto Do you really think it's unprofessional to mention the sponsor name in the statement or that's just to match the problem requirments? If yes, why?
I think it's fine. If I thought it's unprofessional, I wouldn't prepare such a problem.
Что-то случилось с командой hotline. Вчера участвовали как и все рейтинговые команды, сегодня все выглядит так, как будто мы участвовали неофициально, а попытки проигнорированы.
В чем может быть проблема?
Попытка проигнорирована выдается за плагиат кода. Возможно еще есть причины, но это единственная о которой я знаю.
Может у кого-то были похожие ситуации? Я точно знаю, что писал решение сам, поэтому было бы интересно узнать, правда ли это связано с плагиатом, и если да, то с чьим решением моё оказалось настолько похоже, что его приняли за плагиат.
Может быть писал на ideone и оставил код публичным? Его тогда рандомные зеленые челики могли отыскать в списке последних кодов.
Да, похоже случайно запостили код с public доступом :(
Понятно, что лучший способ избежать таких ситуаций — это следить за доступом к своим исходникам, а, чисто теоретически, может ли тут адекватно сработать какая-нибудь арбитражная система, основанная на рейтинге, например?
Problem B 63ms solution :) In each group of friends,if the group is legal,all points should be connected directly between any pair, so just check if the power of point is equal to the groupsize-1 You may form groups by using union-find set Here's my c++ solution qwq http://mirror.codeforces.com/contest/791/submission/25794980