[Logo] Mendo Judge Discussion Board - Forums
  [Search] Search   [Recent Topics] Recent Topics   [Hottest Topics] Hottest Topics   [Members]  Member Listing   [Groups] Back to home page 
Messages posted by: Bojan Kostadinov
Forum Index » Profile for Bojan Kostadinov » Messages posted by Bojan Kostadinov
Author Message
Brian Dean wrote:Welcome to the 2011-2012 season of the USA Computing Olympiad!

As in past years, the USACO coaching staff plans to offer six on-line programming contests this season:

Nov 11-14: November Contest
Dec 9-12: December Contest
Jan 6-9: January Contest
Feb 3-6: February Contest
Mar 2-5: March Contest
April: US Open

Contests are free, open to all students, and available in three levels of difficulty: bronze (novice), silver (intermediate), and gold (advanced):

- Bronze-level problems require basic programming knowledge and only fundamental algorithmic skills (e.g., sorting, recursion).

- Silver problems involve "standard" algorithmic techniques (e.g., shortest paths, straightforward dynamic programming, greedy algorithms).

- Gold problems are quite challenging, requiring clever combinations of sophisticated algorithmic ideas.

All new competitors start out in the bronze level, and earn promotion to higher levels by demonstrating excellent performance on a contest in their current level. Contests are usually 3-5 consecutive hours in duration, which students can schedule any time during a 4-day contest window. Students can submit programs in C, C++, Java, or Pascal.

Our website (http://www.usaco.org) offers hundreds of hours of free on-line training materials for those seeking additional resources to help improve their algorithmic coding skills.

The very best students in the USA who excel in our contests will be invited to attend the USACO summer training camp in early June, where they will receive advanced instruction and the opportunity to compete for membership in the 4-person team representing the USA at the International Olympiad in Informatics (IOI), the most prestigious high-school computing contest at the international level, held in 2012 in Milan, Italy.

For additional information, please see our website: http://www.usaco.org

We're looking forward to a challenging and fun season! Please encourage all students you know to participate!

One final word of thanks to Rob Kolstad, for two decades of service at the helm of the USACO, during which time tens of thousands of students have benefited from his contributions -- particularly the extensive set of on-line training materials he helped to develop. Rob is retiring from active management of the USACO, although he and founder Don Piele continue to play an advisory role in the organization. Please direct future inquiries about all things USACO-related my way.

Happy coding,

- Brian

Brian C. Dean (bcdean@clemson.edu)
Associate Director, USA Computing Olympiad
Associate Professor, School of Computing, Clemson University
Box 340974 | Clemson, South Carolina 29634-0974
Направи го следното:
  1. Замени го float со double.
  2. Наместо директно кастирање од double во int после операции со реални броеви, користи EPS (види претходен коментар) или round
            int price1=(int)round(old_price), M=nzs/round(old_price), ....
  3. Иако ја имаш дефинирано променливата nzs да е од тип long long, сепак сите променливи од десната страна на = (операторот за доделување) се int, па и операциите од таа страна ќе се извршат како операции со int (потоа се врши претворање во long long). Дополнително, можеш НЗС(A,B)=A*B/НЗД(A,B), да го замениш со НЗС(A,B)=A*(B/НЗД(A,B)), бидејќи НЗД(A, B) го дели B. Или пак, можеш A*B/НЗД(A,B) да го пресметаш преку операции со реални броеви, а потоа само да го претвориш резултатот во цел број (доколку си сигурен дека прецизноста на double е доволна).





(Off-topic) Задачата може да се реши и без користење на long long и наоѓање на НЗС.

Така е бидејќи float и double имаат ограничена прецизност (можеш повеќе да прочиташ тука - http://en.wikipedia.org/wiki/Floating_point#IEEE_754:_floating_point_in_modern_computers). На пример, ти во програмата користиш податочен тип float кој користи 32 бита за чување на вредноста (од кои 23 ја даваат прецизноста, 1 е за знак, другите се за експонент), и со кој прецизно можат да се претстават околу 7 децимални цифри. Нормално, со double може да се добие поголема прецизност (double користи 64 бита за чување на вредноста), но и тој има ограничена прецизност... Мој предлог ти е да го заборавиш float и секогаш кога имаш потреба од реални броеви да си користиш double (или long double - тоа би требало да има уште поголема прецизност).

Она што треба да се знае е дека:
      - float, double, ..., не ја чуваат вистинската вредност, туку имаат одредена прецизност.
      - Секој 32-битен цел број може да се претстави со double (64-бита) без загуба на прецизноста.
      - Кога веќе еднаш ќе почнат да се вршат пресметки со double, голема е веројатноста дека ќе се воведат грешки (загуба на прецизноста).

Повеќе можеш да прочиташ тука - http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=integersReals.

Јас обично ги користам функциите round(num) и floor(num+EPS), или (int)(num+EPS), кога сакам да претворам некој реален број во цел. EPS e некоја мала вредност која ќе ни помогне да ги избегнеме овие т.н. rounding errors.
Filipbitola wrote:koga ke pocni noviot ciklus na natprevari?

Колку што имам информации до овој момент, новиот циклус натпревари би требало да започне некаде во средината на февруари...
Ако некој ги сака задачите од последниот натпревар, нека ми пише емаил.

Ова со приватните пораки изгледа не функционира како што треба.
nikola3103 wrote:Moze da mi kazete dali za dogodina uste pred pocetokot na natprevarite ke se znae kako ke se opredeluvaat ekipite za megunarodni natprevari?

Сега за сега е само предлог, ама претпоставувам дека од следната година ќе се знае пред почетокот на циклусот натпревари кој натпревар колку поени ќе носи и како ќе се определуваат екипите за меѓународни натпревари. Не би сакал да ветам ништо, бидејќи не зависи само од мене.
Преименувај ги функциите plus и minus, на пример во plus2 и minus2. Проблемот е што веќе постојат структури со тоа име:
- http://www.cplusplus.com/reference/std/functional/plus/
- http://www.cplusplus.com/reference/std/functional/minus/

И ако користиш Dev-C++, инсталирај си Code::Blocks
Прво, заборавив горе да кажам дека ова се мои лични размислувања и немаат никаква врска со ставовите на ЗИМ, или било кого друг. Сигурен сум дека тие не се согласуваат со голем дел од идеите кои јас ги предложив, така што сакам тоа да е јасно.

Сега, идејата која ја спомнав за бројот на учесници од едно училиште (за што патем, веќе жалам ), е во правец да не се дозволи 90% од натпреварувачите да бидат од две училишта - ова стварно мислам дека не е во ред. Еве, да ја променам идејата, нека има некое правило, најмалку X училишта треба да бидат претставени на тој и тој натпревар. Знам дека порано се правеа вакви обиди - да се вклучат албански натпреварувачи и слично - но очигледно без успех.

Инаку, кажав и горе дека и самиот не сум сигурен колку е ова добра идеја, и немам баш некој конкретен предлог како би се формулирало тоа правило, ама е нешто што мислам дека вреди да се дебатира.

-----------------
За крај, еве нешто ептен off-topic, уште неколку идеи кои ми паднаа на памет:

9. На натпреварите, како официјални околини да се користат оние кои се користеле на последната Светска Олимпијада (или ако се објавени околините за следната Олимпијада). На пример, ако таму се користеле FreePascal и CodeBlocks, и кај нас да ги користиме тие. Со една реченица, да се внимава на околините.

10. Во живо да се гледа тестирањето на решенијата. Ова мислам дека ќе биде интересно и за натпреварувачите и за менторите. Еве како би тоа изгледало - http://www.youtube.com/watch?v=hQo-PGAPiNE.
Што мислите дека треба да се направи следната година за да се подобри организацијата на натпреварите? Еве што мислам јас:

  1. Мислам дека циклусот натпревари треба да почне порано (можеби уште во октомври).

  2. За електронските натпревари да има две групи (полесна и потешка). Оваа година беа давани само лесни задачи на електронските натпревари, кои подобрите натпреварувачи ги решаваа за 5 минути, што не е добро.

  3. Треба да се знае пред почетокот на циклусот натпревари, кој натпревар колку поени ќе носи и која е формулата за избор на екипите за меѓународни натпревари.

  4. Мислам дека треба да има награда за најдобар женски натпреварувач, за да се мотивираат повеќе женски да учествуваат на натпреварите

  5. Што се однесува на системот, треба да се додаде chat, некој вид рангирање на регистрираните корисници на системот, да се додаде опција за гледање на сумарни резултати (собрани резултати од сите натпревари досега, од некој циклус), и опција корисниците да си го споредуваат нивниот излез со вистинскиот (да не мора да ги симнуваат тест-примерите и да ги извршуваат на нивниот систем)

  6. Да се смисли друг начин за одржување на регионалниот натпревар.

  7. Многу е важно да се зголеми бројот на натпреварувачи. Треба да се смисли некој вид на реклама, и да се промовираат натпреварите. Треба и да се направи и некој вид на how-to за оние кои прв-пат почнуваат со програмирање, на пример некоја тема на вики-то со информации за тоа кој компајлер да се симне, кои книги да се прочитаат, итн... Едноставно да знаат луѓето од каде да почнат (ова мислам дека е проблем кај голем број на луѓе, бидејќи наставниците во школо баш и не знаат да ги насочат)

  8. Знам дека ќе има многу луѓе кои се против ова, и јас лично не сум сигурен колку е ова добра идеја, но мислам дека не треба да се дозволи 90% од учениците да бидат од ист град, или само две школи да ги освојуваат сите медали и награди. Еден начин е да се промовираат натпреварите и да се зголеми бројот на учесници од другите градови, но мислам и дека треба да се лимитира бројот на учесници кои можат да се пласираат на Државен натпревар од едно училиште, или да се воведе некаков регионален пристап.
------------------------------

Па, повелете со ваши идеи, предлози, забелешки...
Треба да бидете на ПМФ (горна зграда) во 13:30.
lunatic3331 wrote:Јас не учествував на натпреварот во недела поради лични причини. Како што слушнав сите учесници можат да учествуваат на натпреварот на 10 јуни. Дали и јас имам можност да учествувам?

Да. Се гледаме во четврток
Клучниот елемент - Facebook Like Button

                   
jovank wrote:yeap taka e moze i ke ucestvuva nekoj

Грешка сте и двајцата. Проверете уште еднаш -> http://ipsc.ksp.sk/.
http://mendo.mk/jforum/posts/list/70.page
nikola3103 wrote:Toa znaci deka samo natprevaruvacite sto ke ucestvuvaat na megunarodnite natprevari ke prisustvuvaat na podgotovkite ili...? inace za terminite se e vo red bevte mn korektni i ni izlegovte vo presret tuka nemam zabeleski.

Мислам дека ќе биде нешто како лани, значи 20-тината најдобри натпреварувачи ќе бидат поканети на подготовки.
 
Forum Index » Profile for Bojan Kostadinov » Messages posted by Bojan Kostadinov
Go to:   
Powered by JForum 2.1.8 © JForum Team