Loading...
Jovanna avatar Jovanna 186 Точки

Колеги, поствам своите (дописани следобеда) , моля който иска, да сподели също. Чакам с нетърпение правилните !!

Кога ще се отвори Judge от изпита за тестване на решенията?

Поздрави!

https://pastebin.com/LTFErgjL

https://pastebin.com/BW6swBvJ

https://pastebin.com/F6FqZW9t

https://pastebin.com/CrALqn0V

 

1
15/07/2018 23:53:43
georgi.stef.georgiev avatar georgi.stef.georgiev 921 Точки

Здравей,

Да, добавих ги днес в страницата на курса и отворих състезанието за упражнение.

Поздрави,

Жоро

2
Jovanna avatar Jovanna 186 Точки

Благодаря! Много полезно. Ще ни направиш съвършени :-)

Има някакви детайли, които ми убягват на 3-та задача Code:

ето това решение, което логически следва твоето, но технически има разлики (не е изведено във функция въвеждането на данните), защо реже половината точки за time limit? Явно има важни неща, които ми убягват.

https://pastebin.com/L8QsucFs

0
Valleri avatar Valleri 304 Точки

Здравей!

Решението ти е вярно, но не е оптимизирано. За всяко търсено число въртиш един цикъл около векторите и втори (абстракцията "find" вътрешно си върти цикъл за да намери елемента) което прави сложността на задачата O(n2). Ако използваш unordered_set търсенето в него отнема константно време (О(1)), тогава ще имаш отново един цикъл около векторите (O(N)), но след това търсенето в set сложността ще е O(1) и общо ще ги намираш за линейно време (О(N)).

За да разнообразим начините за решаване в тази дискусия ще постна и моето решение, като съм подходил по различен начин. За всяка част, още при четенето й я добавям в сет, при първото добавяне на елемента го броя в map (понеже ни интересува дали го има в частта, а не колкот пъти. След това, при сепаратор зачиствам сета и продължавам с следващата част.

https://pastebin.com/LBxmbh19

1
16/07/2018 17:20:51
Jovanna avatar Jovanna 186 Точки

Здравей,

положих малко усилия да разбера кода ти,  много хитроумно!! Тази част особено ми хареса:

while (messageStream >> msgWord) {

        if (separators.count(msgWord)) {

            part.clear();

        } else {

            if (!part.count(msgWord)) {

                occurences[msgWord]++;

            }

            part.insert(msgWord);

        }

 }

предполагам дава 100т.? 

0
Jovanna avatar Jovanna 186 Точки

Пренаписах решението с твоята логика, даде 100т.!

Но, остава мистерията на другата код-реализация :-)

0
Jovanna avatar Jovanna 186 Точки

Жоро, моля за помощ, наистина има някакъв проблем с трета задача - Code, няколко пъти я преработвах, и все ми реже 50 т. за бързина, в последния вариант, на всички части следвах твоето решение, и пак същото. Постнах с последни сили и твоето за да видя какво се случва, и на него даде 50т.?   

https://pastebin.com/dVXUjbZX

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.