Друзья, привет!
Если Вам хочется, чтобы Ваши идеи реализовались в новых технологиях и продуктах, которыми пользуется треть населения планеты, принимайте участие в Honorcup Marathon. Соревнование будет нерейтинговым. Вы можете принимать участие как индивидуально, так и в составе команд до 3-х человек.
Вам предлагается поработать над сложной задачей, которая не имеет точного решения.
На кону: у нас есть телефоны для 3 первых мест и $10000 для победителя.
И, конечно, ТОП 80 участников получат толстовки с логотипом Huawei Codecraft. Не забывайте указывать свой размер и адрес доставки при регистрации на матч. Huawei поддерживает ICPC — если Вы участвуете в четвертьфинале регион NEERC (теперь NERC) в этом году, то позже Вы сможете указать город, в котором будете участвовать в четвертьфинале и мы попробуем доставить Вашу толстовку к церемонии открытия. Некоторым участникам будут предложены 3-х месячные высокооплачиваемые контракты в Москве, Санкт Петербурге, Нижнем Новгороде, Новосибирске и Китае (включая расходы на проживание/проезд при необходимости).
Принимаем решения до 14 октября 20:59:59 (МСК). Награждение победителей пройдет 1 ноября на финале Honorcup Мск. Победителей мы попросим предоставить исходный код и описание решения, детали которых обсудим в формате телефонного звонка. В случае обоснованных сомнений о нарушении правил, мы оставляем за собой право передать приз следующему участнику. Спасибо за понимание!
Не упустите свой шанс. Всем удачи!
Intriguing — so it's going to be much less specific-algorithm oriented and more open-ended? This would be an interesting competition
Huawei niubi!
.
Huawei niubi!
think carefully why you can't surpass the one upstair.
Repeating is not welcomed in Codeforces. Here is not a place for instant messaging, and you can upvote if you agree with others, instead of repeating.
OK,Thank you for your reminder.
Forget it. This community is just toxic.
Repeating is not welcomed in Codeforces. Here is not a place for instant messaging, and you can upvote if you agree with others, instead of repeating.
Why can't I register as a team member? When I choose team, it shows nothing.
Neither can I. I thought that was an internet issue because many other teams have registered successfully. But since you encountered this problem too, maybe it isn't.
The same issue happened in the previous round.
Please, try again.
OK, thanks.
How does this work with teams? Are all members of top 80 teams given hoodies, or are 80 hoodies in total given out in order of team performance? Does the same apply to the devices for top 3?
This was asked previous round. TL;DR No. A entity (team or user) gets only one device / hoodie.
And, of course, TOP 80 participants will get a hoodie with Huawei Codecraft logo!
I interpret this as 80 hoodies are given in order of team performance.
In case of reasonable doubt about the violation of the rules, we reserve the right to transfer the prize to the next participant
What are you so concerned about that you had to specifically warn us?
I think the required details are listed in the terms when you registered on the round. Also, the information in the announcement is important.
Do you mean this: http://assets.codeforces.com/files/huawei/huawei_terms_en.html
It would be nice if this was in an announcement somewhere, too. It's really easy to miss.
Не получается зарегистрировать команду. Я состою в нескольких, но на выбор не предлагается ни одной. Что делать?
Попробуйте еще раз. Похоже, проблема исправлена.
Да, спасибо.
How many problems will be?
1
There is any past contest?
Press "Home" and see the sidebar on the right.
Thanks!
Does it count as 1? Hmmm...
What language we can use (C++,java,python)?
Huawei niubi!
Huawei niubi!
This seems like a kaggle data mining/machine learning contest, as the blog says " your programming skills, research and data analysis abilities."
I think it is. Huawei Honorcup Marathon 1 is about using machine learning to improve blood pressure measurement.
Unfortunately I don't know anything about machine learning.
wow! its gonna be interesting!
Let's go huawei!
QaQ, it's my fault for getting a wrong length of this contest.
Seems that you want to win this round in 0.001.
UPD: You can see that he said "That's a bad starting time for Chinese" in Rev.2, which means he thinks the penalty is important in a 14-day round.
Are contestants age-restricted? Money prize is huge enough.
First,We'd better not use "Chenglish" here. What's more,we'd better not talk about politics。
BTW,your spelling 'Fiest' is wrong. stO xukuan
can someone just explain me what does i+=(i&(-i)); does
I'm very expected for it,and I hope it's not too difficuty.
HUAWEI NIUBI
[DELETED]
Can we use c++ ???
Sorry for the comment!!!
Why you down vote me?
Just missclick sorry dude
Is it true that marathons like this one require only the predicted output to be submitted, and my program's execution time doesn't matter?
If i partisipate in team in the Honor cup, will our team get a T-Shirt?
Huawei niubi!
T-shirt! T-shirt! T-shirt!
can anyone share the link of the data please? download limit reached for their link.
Added 2 mirrors, please, use them.
Это из-за стандартного шаблона под задачу или я что-то не понял?
Да
Is there a faster way to download the data? Downloading speed has dropped down to 100kBps and it's going to take hours to download it.
NVM, I guess this was my problem.
did you download the data? How big it is? Can you share it in google drive (or something else) if possible?
It seems that I'll have to upload it first which will take too much time. Just register to Yandex and press "add and download".
Added two more links.
In case of reasonable doubt about the violation of the rules, we reserve the right to transfer the prize to the next participant.
Where can I read those rules?
Yes, we need rules if there are any
Also, it is not clear to me whether final testing is the only thing that matters or other subtasks are counted towards standings as well
I think the required details are listed in the terms when you registered on the round. Also, the information in the announcement is important.
2.1 GB DATA!!!
By my Internet speed, the contest will be over before the download is done :)
Here I saved you 10 days: https://drive.google.com/open?id=1pgLaNEf73Lq78EXqaT_BOhvS0clCG1Wt
How should I submit my results? I submitted the sample answer file "data_train_64_answers.txt" to C1 but got a WA with "The program is too long [size=115801 bytes]". Can anyone help?
Why C1, not A1?
"The program is too long [size=115801 bytes]" is about your submission size. In this problem it's ok to get this message instead of your real submission. So, it's not checker's comment or so.
Did you expect such high scores in couple hours of the contest (in a 14 days contest)? I am wondering if its worth participating now or not.
Yes, it was expected, because, archive with dataset contains answers for the training part of set. Scores will be recounted after contest finishing. So, it may be interesting to participate and do your best :)
I was referring to non-training parts scores, its almost 30k for the A2 for lot of people. Was this expected as well?
The post mentions a possible "violation of the rules". Where can we find these rules?
I think the required details are listed in the terms when you registered on the round. Also, the information in the announcement is important.
Из чего складывается финальный результат участника? Сумма по всем задачам? Сумма по A3 + B3 + C3 или сумма по A2 + B2 + C2 + A3 + B3 + C3?
A3+B3+C3
Спасибо)
I read the rules in registration but it's still not clear to me :
Does this means it's not allowed to implement, or even take inspiration of research papers on the topic, even if its only a subpart of our solution ? It's not like automatic jigsaw puzzle solving has never been investigated before, and it feels strange to say you have 2 weeks but can't use the internet to see what has been done already...
Can you try to ask this personally(I mean asking it under the section "Ask a question" on the problem set page)?As clarity on this is required as soon as possible
I got this answer :
Since the competition is finished I can share some outstanding results from C3:
Where did the wrong pieces come from? It's an optical illusion!
Well,I do think these cats are so poor that they fall into pieces just because a contest XD
Is it against the rules to partially solve the problem by hand?
Aw...I am too young to participate in honorcup :(. I am <14 years of age.
"Well performed participants will be invited to get highly paid 3 months contracts in Moscow, St. Petersburg, Nizhny Novgorod, Novosibirsk, Minsk or in China (including transportation & accommodation expenses covered)"
How many does "well performed" mean? Also, in case of participation as a team,will every participant of the team get an internship opportunity?
So, does the score of the solution just depend on the answer of A3, B3 and C3?
Yes
"...After the contest, for each participant we will use the last correctly formatted (0 points) submission on problems A3, B3 and C3 to evaluate the quality of the solution. These values will be used to determine the winners."
I think you should at least tell us the file count in the last subtasks to avoid screwing up.
You have all the test data available, can't you count it by yourself?
Well, what if I submit the wrong answer (which has less pictures), I would never know, because it's going to show OK. Just to be sure.
I got your point. You can simply check number of lines in your output file to be sure.
Я ведь правильно понял, что вердикт "Частичное решение: 0 баллов" на A3, B3, C3 означает, что все выходные данные соответствуют нормам?
Да, см. условие задачи, там всё подробно расписано
Насколько я понимаю, как только раунд закончится — запустятся системные тесты, решения по A1,2 B1,2 C1,2 будут аннулированы, по задачам A3, B3, C3 отобразится результат? И, я так понимаю, топ 80 попадут туда (куда?) очно, 1го ноября?
Насколько я понимаю это единственный и финальный раунд HonorCup, а 1-го ноября пройдёт лишь награждение победителей.
Какое время считать за окончание контеста, из счётчика или из оповещения?
When the system tests?
When the contest ends
Are you sure?
Мне теперь коты мерещатся повсюду, а во сне я из них собираю пазлы. Кто мне доктора оплатит?
Меня теперь триггерит каждый раз когда вижу кота в ленте, думаю "Как хорошо собрался"
Котики повсюду =)
Should we now just go to bed intriguied by results missing?
Thank you Huawei, now I hate cats.
I also hate squares and diff square plates on the floor
I can see edges between blocks in normal pictures without dividing and shuffling.
Я думаю, что те, что набрали баллов больше, чем я, использовали метод из статьи 'Solving Square Jigsaw Puzzles with Loop Constraints'. Жаль, что про него я узнал только сегодня :( Судя по статистике, приведенной в статье, он на 14% лучше, чем мой. А мой MGC + DSF + Крускал набрал очень мало баллов :(
А что за статья?
https://www.cc.gatech.edu/~hays/papers/puzzle_eccv14.pdf
А в чем суть алгоритма "MGC + DSF + Крускал"? (Для тех кто набрал прям совсем мало баллов, но писал собстенный велосипед, который стреляет в ногу)
Ну, MGC — это такая штука, которая умеет говорить насколько плохо мы склеили два куска. Давайте найдем для каждого кусочка все расстояния до других, поделим эти расстояния на второе самое маленькое среди них. Засунем это в массивчик, отсортируем. Далее строим СНМ лес, достаём из массивчика первый элемент с наименьшим расстоянием, делаем $$$Union(edge.from, edge.to)$$$. Далее запускаем Крускала и ищем мин остов. По мин остову генерируем картиночку, она может собраться с первого раза, а может и нет, на ней ищем максимально заполненный участок, все дырки на котором заполняем неюзанными частями.
When system testing is gonna be?
My mate just said "we're tied for first place" and I didn't believe it. Surprisingly it was true, 0 points on all test tasks so far...
Начал генерить ответы на С3 за полчаса, успел сгенерить только для 230 картинок. Вот блин.
Congratulations to the winners!
Если я не помню указывал ли я информацию о адресе доставки и размере футболки при регистрации на соревнование, но эту информацию я сейчас добавил в пофиль. Я уже потерял свою толстовку? =)
Congrats to the winners :)
Does anybody have original ideas to share ? I assume most of us had a heuristic for edge-edge compatibility, then a strategy for assembly.
For edge compatibility I tried several things but didn't find much better than Mahalanobis Gradient Compatibility (used in many papers). You take the 3-color pixel differences on the last two row/columns of the border, compute mean and 3x3 covariance matrix, then sum the (Mahalanobis) distance to that distribution for all the pixel-to-pixel differences across the border.
For assembly I had a greedy considering all positions either taken or touching taken ones, putting down the best-score piece one at a time (I allow moving or replacing pieces). Then I try to move around connected components of "very good" edges and merge them (and cut the connected components with one mistaken good edge by looking at the bridges). Then cut to MxM size, then greedy again to fill.
In particular has anyone used linear programming for the assembly ? It looked powerful but I was too lazy to try.
When having many small optimizations/variations around I found it hard to tweak and set the parameters (I've never done any machine learning also, maybe that's why).
I had several different greedy solutions, I ran them all, and then I selected the most optimal answer for each picture separately
This paper contained some interesting ideas.
Generally speaking, no. The genetic algorithm shows good results for tasks A and B, but for problem C it gives about 20.000-25.000 points. I believe that the main problem is that the best-buddies metric that underlies this paper does not work well enough for the third sample. I tried to introduce the psevdobudies metric, however this provided minor improvements. I suppose many participants went the same way and got into a dead end.
Hello, I used four-algorithms combine solutions. I run every algorithm and choose the best result as answer.
First algo is greedy solution. I just brut-force the central fragment and construct result for it, then choose best. For every brute-force center I made prio queue with best fragments suggestions, then every time choose the best one and merge it into current-center result.
Second and third soultions are BFS-based algorithms with low difference. The main idea is that if place which you wanna to fill with fragment connected with more than one filled poses then you decrease probability of wrong fragment-setting. So let's brute force as in previous method central fragment and start BFS algo from center with greedy setting fragments in each poses. So with it in most of cases when you choose current "best" fragment you oriented to two already set fragment, which decrease error probability.
Fourth algo I used just only for 16x16 subtask cause previous algorithms works not bad only for A and B tasks. So I just brute-force the best 4x4 subfragments formed by BFS algorithm and then choosen the best of this and merge it into result. It leads to stability 41 point per image in front of ~28 point of BFS/Greedy algo.
And after all I try to improve results by deleting fragments which distance was more than 10% and re-build image with placing only removed poses. If it led to more optimal solution I leave it as result and round it otherwise.
Thanks for sharing your approach, which judging by the standings it worked quite well :)
I share some ideas about my final approach here:
Edge compatibility: I used some simple approach calculating the sum of the absolute value of the difference between the normalized pixel values (in YCbCr color space for RGB images) between the border row/column of the pieces.
Assembly algorithm: Greedy considering unused blocks on the positions touching the already taken ones which will not make the grid exceed MxM dimensions. For each position I calculate the best score and the second best score, and then I pick the position with the highest difference between those scores and place the block with the highest score on that position.
This simple approach was good enough to achieve the following scores: 29.5k on A3, 29.3k on B3 and 26.7k on C3.
We want Editorial!
Especially on pictures like 3334.png
At least that one didn't have several identically fully black (or white) pieces like some others where you can't do anything. Abusing the colors in the output i get :
Green links are where my greedy is confident about the match.
White pixels are (1,1,1) (almost black) and black ones are (0,0,0) (really black).
So this one is about matching noise, I didn't do anything specific and I get garbage because I use only the outer two columns/rows on each piece. But you might get a bit better than random if you match some statistics on the noise ? (there seems to be more or less densely (1,1,1) vs (0,0,0) areas for instance)
Did you have previous experience working with images?
Looks like your visualization is pretty advanced
Uh nope not at all, I just found something to read/write png then it's just an array of numbers to me and I wrote a few helper functions to decorate the output to debug.
"During registration don’t forget to mention your size and home address for delivery."
registration where?
MikeMirzayanov, will it be possible to submit in the future? Seems a good practice to get at least 27k on C.
Did huawei contact anyone regarding hoodies or internship?
Not me yet :(
Where are hoodies?
Кому-нибудь ответили из тех, кто писал на почту с оф. сайта хоноркапа по поводу стажировок?
Where are our hoodies, guys? Actually, it's pretty cold outside :D
Really, 2 weeks has gone!
How to get my hoodie?
Huawei finally reported some reassuring information via email:
"Since the 'Code' nomination allowed not only Eurasian participants to compete, we decided to separate the award ceremonies. Huawei R&D departament, as the maintainer of the championship, will inform you about the procedure later. All winners for sure will receive theirs prizes!"
where did you get that info? a source would be nice.
via email, fixed
I didn’t receive any email, is this normal?
Huawei have written me on e-mail
I got the same. They write about top100 now, not top80 as announced above. What about teams (my teammate got the same)? A prize for both of us or just one? And they don't even want to know my hoodie size.
I have this message too. Could it be fake?
Of course I can't tell for sure, but it looks legit to me. Maybe just an intern who forgot to ask about the size.
It was sent from 185.176.76.210, which belongs to Huawei UK. The content language is set to Chinese.
And most important they sent it to my codeforces email address, which I rarely use somewhere else (e.g. you could find another email address if you search for my github account).
But I agree that the email isn't what I expected. Usually organizers send a link to some kind of webshop or online form to enter your address.
me too, but i am 91
This e-mail address (rrihr@huawei.com) is the same as was shown on their official honorcup site few days ago. It was written on their site for those who are interested in huawei internships, so it's official i think.
i didn't receive that email, why?
Got the hoodie, yay)
Wack. Me still not.
Me too :(
Huawei niubi!
Huawei 251!
Damn it, I still haven't got my hoodie((
This is how looks my certificate after opening the parcel.
You at least got a package)
Did anyone in Brazil receive the hoodie? We're still waiting :/.
Half a year passed but I still haven't got my hoodie. I think it's been lost in the express.
+
I have not received sweatshirt after two years :( .