Скажите, пожалуйста, не будет ли являться публикация ссылки на библиотеку prewritten алгоритмов нарушением правил Codeforces? Может быть, подобная информация будет полезна неопытным участникам?
№ | Пользователь | Рейтинг |
---|---|---|
1 | tourist | 3993 |
2 | jiangly | 3743 |
3 | orzdevinwang | 3707 |
4 | Radewoosh | 3627 |
5 | jqdai0815 | 3620 |
6 | Benq | 3564 |
7 | Kevin114514 | 3443 |
8 | ksun48 | 3434 |
9 | Rewinding | 3397 |
10 | Um_nik | 3396 |
Страны | Города | Организации | Всё → |
№ | Пользователь | Вклад |
---|---|---|
1 | cry | 167 |
2 | Um_nik | 163 |
3 | maomao90 | 162 |
3 | atcoder_official | 162 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 155 |
8 | TheScrasse | 154 |
9 | Dominater069 | 153 |
10 | nor | 152 |
Скажите, пожалуйста, не будет ли являться публикация ссылки на библиотеку prewritten алгоритмов нарушением правил Codeforces? Может быть, подобная информация будет полезна неопытным участникам?
Название |
---|
Ну думаю во-первых это никак не нарушит:
Во-вторых как бы это не нарушит 11-ый пункт здесь, и не думаю, что это нарушит какие-то правила вообще из этого списка.
Все же ничто не мешает взять и скопипастить какой-то алгоритм с http://e-maxx.ru.
Каждый будет сам решат пользоватся этими решениями или нет, и даже если запрещено это, то ничто не запрещает опубликовать его где-нибудь в другом месте.
Но все это ИМХО...
Не претендуя на широту охвата тем, отмечу, что мой код более читабелен и структурирован, чем на e-maxx.ru
Ну на счет ширины охвата тем, можно что бы каждый желающий добавил свои 5 копеек, но все же... чистый код какого-нибудь алгоритма вряд ли когда-нибудь пригодится, нужно хоть как-то уметь его использовать, а под этим (ИМХО) я подразумеваю (хз как это слово пишется) и умение написать его самому.
Хотелось бы узнать что же именно из себя будет представлять эта библиотека?
Полезность для неопытных участников достаточно сомнительна. Возможно, они и получат некоторый + к рейтингу на этом ресурсе, но в то же время они вряд ли приобретут практические навыки, если будут пользоваться готовыми решениями, особенно, если при этом они не будут понимать принципов их работы. Если говорить о возможной подготовке участников при просмотре готовых решений, то опять же, польза от такого метода даже для тех, кто будет стараться вникнуть в смысл алгоритмов (коих, наверняка, будет не очень много), значительно меньше, чем оная при, например, ознакомлении с текстовым описанием алгоритма и самостоятельной попытке его реализации.
Как уже множество раз было отмечено в комментариях другими участниками, готовые реализации алгоритмов, возможно, будут полезны как раз таки для опытных участников, которые и без того разбираются в них и способны достаточно быстро их написать.
Но, как мне кажется, в таком случае такие люди либо сами их каждый раз пишут, либо же так или иначе их сохраняют для многократного использования.
Но, в принципе, почему бы и нет — вреда точно никакого не будет, но, может, кто-то для себя подчерпнет что-нибудь новое. Скажем, более компактную и красивую реализацию.
Не знаю, как на счет реализации, которая в свою очередь может решать, но все же кто-то может даже изменить свой стиль написания кода, и понять его, возможно, будет проще. Хотя может я и не прав.
А насчет сохранить для дальнейшего использования — это не очень хорошо, ведь алгоритм может пригодится и там где нельзя пользоватся prewritten кодом, даже своим.
Да, конечно, но там либо это как-то строго запрещено, либо же полагаются исключительно на совесть пользователя. В любом случае, проблема не будет больше той, что есть сейчас — сайты с алгоритмами существуют и никто не запрещает код либо скопипастить, либо написать свой.
Вы не правы.
Пруф.
==================================================================
Но все же ничто не мешает представить чужой код за свой, переписав его, или даже скопипастив (может никто не заметит хД).
Но это будет не по-спортивному, и если поймают, то тоже будет не очень весело.
Поэтому я внизу и спросил, каковы механизмы отлова)
Возможно, я просто не совсем правильно выразился. Я имел в виду, что это либо строго запрещено и так или иначе невозможно условиями проведения, либо же это запрещено, но сложно контроллировать, тогда полагаются на порядочность людей.
Ну я говорю за олимпиады типа РОИ, УОИ, ИОИ, и т.п., где все таки строго запрещено и скопипастить не получится, даже если очень захочешь. И там, на этих олимпиадах, не очень хотелось бы быть дисквалифицированым за читерство, равно как и в других олимпиадах.
А как там можно получить дисквал за читерство с prewritten code, не используя его? о_О За ИОИ и УОИ не отвечаю, но на РОИ с этим все строго — никаких электронных носителей, доступа в инет нет, да и траффик просматривается жюри.
Вы организатор? Или вы участвовали на всех этапах во всех местах, где это было возможно? Не стоит с такой уверенностью утверждать, что ни у кого никогда нет такой возможности.
P.S. Конечно, речь не про заключительный этап.
Ааа, я-то думал, что про заключительный. Ну тогда да, все возможно:)
Я не достаточно опытный, но все же чужой код иногда очень помогает для понимания алгоритма, или же просто решения какой-нибудь задачи.
Согласен, что код может помочь если ему сопутствует подробное объяснение того, как и почему он работает. Но очень похоже, что данная библиотека в первую очередь сделана не для обучения, а для использования на практике, что может навредить "неопытным участникам", о которых идётся в сообщении автора, если они будут использовать его, не раздумывая особо над принципами его работы.
Если я не прав, то заранее прошу прощения.
Конечно, ссылку на свою библиотеку вы можете опубликовать. Копирование ваших исходников в решения будет нарушением правил.
Каковы механизмы отлова недобросовестных участников?
И, главное, что с ними будет?
А то так половину русскоязычных плюсоводов можно наказать за копипасту с емакса :)
Копипаста с е-макса идет труднее, чем самописный текст. Во-первых, надо подогнать все структуры и константы под свое решение (или наоборот), во-вторых, сразу читать комментарии, чтобы узнать, в какой строчке что надо исправить. В результате от исходного текста остается только структура.
Ой как заминусовали-то емаксолюбители :-) А ведь абсолютная правда, при должном знании алгоритма гораздо проще его набить с нуля чем чего-то копипастить и подгонять под задачу.
На одном из общих контестов здесь была задача уровня С(или может даже D) вида "поймите, что это поток и посчитайте величину этого потока".
Толпа синезелёных сдала код с емакса с 5-6 дописанными строчками кода.
Ясное дело, что это недоработка автора задачи, но всё-таки.
Публикую ссылку. В ближайших планах: 1) Модификация алгоритма сжатия цветков с использованием системы непересекающихся множеств. 2) Добавление алгоритма Хопкрофта-Карпа для нахождения максимального паросочетания в двудольном графе за O(sqrt(V)*E). Абсолютно любые комментарии будут приняты к рассмотрению.
Когда-то была задумка сделать толковый сайт с исходниками алгоритмов.
Фичи планировались такие:
К сожалению дело застопорилось за недостатком мотивации, осталось только это: http://sources.heroku.com
По поводу непосредственно библиотеки алгоритмов у меня остаются как минимум 2 нерешённые проблемы:
Очень круто! Reusable code для контеста — приятно и удобно.
Кстати, я использовал код из вашей библиотеки на некоторых контестах, он очень хорошо сочетается с CHelper'ом. Большое спасибо за эту библиотеку!
Спасибо. Раз это кому-то нужно, буду улучшать.
А ещё есть вот такое: http://www.algorithmist.com/
Ещё библиотека от Egor'а: http://code.google.com/p/yaal/
А за что этот пост сильно минусуют? Код вроде понятный, читабельный, должен быть удобен для использования. Да, там нет тупых алгоритмов, но их, в принципе, можно и написать, это занимает не так то уж и много времени.