Вт, 20.08.2019, 02:55
Форум інформатиків України
Головна Реєстрація Вхід
Вітаю Вас, Гість · RSS
Вітання на форумі
Незнайомець
Вітаємо на форумі,
Незнайомцю!

 
зареєструйтесь
Перед реєстрацією обов’язково прочитайте:
Оновлення Учасники Пошук
Особисті повідомлення
Видавництво ’’Аспект’’ Видавництво

Модератор форуму: Ktara, Bandalak, НІКОЛЯ, volevikt  
Форум інформатиків » РОЗДІЛ I: ІНФОРМАТИКА, ПРОБЛЕМИ, ОБГОВОРЕННЯ, ВИРІШЕННЯ » 1.11 Змагання, конкурси, олімпіади » Підготовка до олімпіад
Підготовка до олімпіад
Ковальчук_Олександр Дата: Сб, 18.08.2007, 02:26 | Повідомлення № 1
Ветеран спілкування
Повідомлень: 3709
Нагороди: 18
Рейтинг: 209
Розкажіть як ви готуєте учнів до олімпіад, які проблеми виникають, наведіть приклади олімпіадних задач.



[admin]Шановні форумчани!!!!!
Повідомлення, які не відповідають темі або несуть некорисний зміст будуть видалятись без попередження!!!


Відредаговано: W-w-W - Чт, 07.01.2016, 23:27
gromko Дата: Вт, 07.09.2010, 18:03 | Повідомлення № 106
Лінуксоїд
Повідомлень: 3209
Нагороди: 33
Рейтинг: 401
Сьогодні стартує фінал 10-ї ювілейної Всеукраїнської олімпіади з програмування

Вінниця, 7 вересня 2010 р. - У Вінницькому національному технічному університеті (ВНТУ) відбудеться 10-й, ювілейний фінал Всеукраїнської студентської олімпіади з програмування (http://pc-ua.com.ua), в якому візьмуть участь 32 кращі українські команди, переможці чотирьох регіональних півфіналів, де за перемогу боролися 146 команд (426 студентів) з 66 університетів 30 міст України. Загальна кількість учасників І етапу змагань (університетського) склала більше 2000 студентів.
Великі досягнення українських студентів, здобуті за час проведення Всеукраїнської олімпіади, обумо­ви­ли надання їй офіційного статусу чвертьфіналу першості світу та ініціювали розгляд питання про проведення в Україні з 2011 р. півфіналу першості світу по південно-східній Європі. Саме для прийняття такого рішення особисто прибуває з інспекцією до України директор першості світу АСМ з програмування, Білл Поучер, професор університету Бейлора, Техас, США. «Я дуже радий буду познайомитися з Україною, програмісти якої останнім часом демонструють найвищу динаміку зростання рівня підготовки і посідають більшість призових місць у південно-східному європейському півфіналі першості світу з програмування» - каже він.
Автор проекту Всеукраїнської олімпіади з програмування і її беззмінний координатор, професор ВНТУ Володимир Іванович Месюра додає: «Сьогодні я радий оголосити про відкриття 10-ї ювілейної Всеукраїнської олімпіади з програмування. Нам є чим пишатися: за цей час наші команди довели найвищий інтелектуальний потенціал України, здобувши за останні роки безліч нагород з програмування у міжнародних змаганнях та привернувши увагу світового бізнесу до українських технічних спеціалістів. Ми щиро вітаємо Білла Поучера в Україні і сподіваємося на позитивне рішення щодо проведення в Україні з 2011 р. півфіналу першості світу по південно-східній Європі».

Про Всеукраїнську студентську олімпіаду з програмування
Всеукраїнська студентська олімпіада з програмування була організована за ініціативою Вінницького національного технічного університету та проводиться за підтримки Міністерства освіти і науки України, ІТ-компанії «Арт-мастер» та Всеукраїнського благодійного фонду «Асоціація підтримки та розвитку інформаційних технологій» («АПРІТ») Головною метою олімпіади є надання українським студентам можливості продемонструвати свою майстерність у мистецтві розробки алгоритмів і програм на високому міжнародному рівні. З а 10 років проведення олімпіади Україна вийшла на п’яту позицію всесвітнього рейтингу Топкодера (http://www.topcoder.com/stat?c=country_avg_rating). П’ять українських університетів входять сьогодні до топ-50 у всесвітньому рейтингу університетів (при цьому КНУ ім.. Т. Шевченка посідає в ньому п’яту позицію), а п’ять українських студентів до тол-50 в особистому світовому рейтингу. Останні п’ять років українські студенти повністю домінують у світовому півфіналі по південно-східній Європі (у 2009 р. – перші сім місць!), пропустивши за цей час до світового фіналу лише одну не українську команду.
Більш детальну інформацію можна отримати на сайтах:
першості світу з програмування - http://cm.baylor.edu/welcome.icpc
українського чвертьфіналу першості світу –
http://cm.baylor.edu/public....=106838
Всеукраїнської студентської олімпіади з програмування - http://pc-ua.com.ua/

skif Дата: Вт, 09.11.2010, 21:13 | Повідомлення № 107
Прописаний назавжди
Повідомлень: 444
Нагороди: 3
Рейтинг: 64
Прошу допомогти з розвязанням задачі з олімпіади 2008 рік, або хоча б "накинути" шлях розвязання.

Задача 3. ACM для ГСМ (50 балів)
Зіпсувався якось на одній заправці лічильник бензину. Добре, що хоч відсікач там був (це щоб наповнювати ємність повністю, але не переливати).
Під‘їхав на цю заправку програміст-АСМер. А йому кажуть: «Так і так, заправка несправна, їдь собі на іншу заправку». Тут зауважив АСМер на стійці заправки три пусті каністри. Задумався АСМер, а що якщо першу каністру налити доверху, а потім з неї в другу вилити, а потім з третьої... Може і вдасться відміряти потрібну кількість бензину?
І, як звичайно, задумався він не над частковим випадком задачі, а над загальним формулюванням: скільки різних об‘ємів бензину він зможе відміряти цими каністрами?
Правда, треба враховувати, що на заправці бензин розливати не можна (екологія!). І за вимогою власника заправки переливати бензин можна лише з однієї каністри в іншу, а в бак бензин можна переливати (із всіх каністр або лише з деяких) лише після закінчення всіх переливань бензину в каністри і між ними.
Вхідні дані: В кожному з трьох рядків записане ціле число від 0 до 255 – ємність каністри в літрах.
Вихідні дані: Результатом є єдине число – кількість різних варіантів відповіді на запитання: скільки літрів можна відміряти з допомогою наявних каністр?
Приклад вхідних даних:
0
3
4
Приклад вихідних даних:
6
Підказка: Немає сенсу відміряти 0 літрів, тому це значення враховувати не треба.

Відредаговано: skif - Вт, 09.11.2010, 21:14
dpi Дата: Нд, 14.11.2010, 07:24 | Повідомлення № 108
Досвідчений вчитель
Повідомлень: 1438
Нагороди: 1
Рейтинг: 39
3,4,7,6, а шо ще?
balamut_13 Дата: Нд, 14.11.2010, 07:34 | Повідомлення № 109
Часто заходить...
Повідомлень: 87
Нагороди: 1
Рейтинг: 15
Quote (dpi)
3,4,7,6, а шо ще?

Ще, мабуть, можна 1 і 2... :)

dpi Дата: Нд, 14.11.2010, 15:34 | Повідомлення № 110
Досвідчений вчитель
Повідомлень: 1438
Нагороди: 1
Рейтинг: 39
Да, можно не все канистры выливать...
Bandalak Дата: Вт, 14.12.2010, 17:34 | Повідомлення № 111
Лідер форуму
Повідомлень: 6200
Нагороди: 44
Рейтинг: 285
Якась заковика у задачі.

Ніби нічого складного, але не виходить.
Я написав так:
S:=1;
for i:=1 to n do
S:=S*3 - S div 3;
Але не виходить так як у контрольному тесті.

Один мій учень зробив так:
S:=1;
for i:=1 to n do
S:=2*S + 1;
Теж не вийшло як у тесті.

Щось заклинило у голові на такій простій задачі. Допоможіть розібратися.

Прикріплення: 3525049.jpg(20.5 Kb)
vita Дата: Вт, 14.12.2010, 19:52 | Повідомлення № 112
Часто заходить...
Повідомлень: 50
Нагороди: 0
Рейтинг: 4
Bandalak, якщо починати 1 -й рік, коли саджаємо 2, а 1 лишаємо, то на 5 виходить 127.
Тобто 5-й рік саджаємо 32, виходить з них 96 +залишки кожного року 1+2+4+8+16
swetikccc Дата: Вт, 14.12.2010, 20:34 | Повідомлення № 113
Ветеран спілкування
Повідомлень: 4158
Нагороди: 31
Рейтинг: 387
Quote (Bandalak)
Якась заковика у задачі.

Чорт, які легенькі задачки у Вас
sib Дата: Вт, 14.12.2010, 23:34 | Повідомлення № 114
Тут живе...
Повідомлень: 125
Нагороди: 0
Рейтинг: 2
якщо n=1 то k=3 інакше
для і:=2 до n k=2^(n+2)-1.
Це ідея. Втілювати на паскалі спробую завтра. Я початківець в програмуванні, можливо і помиляюсь.
Ковальчук_Олександр Дата: Ср, 15.12.2010, 00:38 | Повідомлення № 115
Ветеран спілкування
Повідомлень: 3709
Нагороди: 18
Рейтинг: 209
Quote (swetikccc)
Чорт, які легенькі задачки у Вас

Ця задача легенька тільки на перший погляд, насправді вона досить складна, принаймі для мене :)
Quote (Bandalak)

S:=1;
for i:=1 to n do
S:=S*3 - S div 3;

Тут очевидно, що помилка в мат. моделі (згідно такої формули у Вас після першого року залишиться 2 зернини, а має вийти 3, після другого - 6 замість положених 7 і т.д.)
Quote (Bandalak)
Один мій учень зробив так:
S:=1;
for i:=1 to n do
S:=2*S + 1;

Мені здається такий розв’язок правильним. Мабуть в умові помилка.
Quote (vita)
якщо починати 1 -й рік, коли саджаємо 2, а 1 лишаємо

Ми отримаємо врожай 3 після 1-го року, а не відразу.

Я спочатку не розглядав розв’язок Толіного учня, тому зробив своїм методом, як завжди запутаним, але він збігається з результатами учня Бандалака:

Code
var s,dmain,dsub,rez,i,n:integer;
begin
         read(n);
         if n=1 then rez:=3
         else
         begin
              dmain:=3;
              dsub:=1;
              s:=1;
              for i:=2 to n do
              dmain:=dmain*2;
              for i:=2 to n-1 do
              begin
              dsub:=dsub*2;
              s:=s+dsub;
              end;
              rez:=dmain+s;
              end;
              writeln(rez);
end.
swetikccc Дата: Ср, 15.12.2010, 12:29 | Повідомлення № 116
Ветеран спілкування
Повідомлень: 4158
Нагороди: 31
Рейтинг: 387
Quote (Ковальчук_Олександр)
Ця задача легенька тільки на перший погляд, насправді вона досить складна, принаймі для мене

То було просто перше враження. :)

2^(n-1)*3+2^(n-1)-1
Математично, можна правда спростити
4*2^(n-1)-1

А учень молодець.

Відредаговано: swetikccc - Ср, 15.12.2010, 13:02
Ковальчук_Олександр Дата: Ср, 15.12.2010, 15:45 | Повідомлення № 117
Ветеран спілкування
Повідомлень: 3709
Нагороди: 18
Рейтинг: 209
Очевидно, що способів розв’язку цієї задачі є кілька. Але мене дійсно здивували приклади вихідних даних, що йдуть в умові. На мій погляд все-таки після 5-го року врожай має вийти 63, а 127, що в прикладі виходить після 6-го року.
Але сьогодні я зі своїм учнем вирішили цю задачу, і тепер вона навіть задовільняє умови (збігається з тестовими прикладами).
Давайте розлянемо детальніше.
Рік Врожай Залишок
1 3 1
2 6 2
3 12 4
4 24 8
5 48 16
Зверніть увагу, що ми маємо справу з двома послідовностями (урожай та залишок), кожна з яких збільшується в 2 рази після кожного року. Ще цікавий факт, що перша послідовність (Врожай) в три рази більша за другу (залишок). Тому для розв’язку цієї задачі достатньо підрахувати суму залишку кожного року і до цієї суми додати останній залишок, помножений на 3.
Мої міркування відображає задача нижче:
program new;
var i,n,a,b,s:integer;
begin
read(n);
a:=1;
for i:=1 to n do
begin
s:=s+a;
a:=a*2;
end;
b:=a*3;
b:=b+s;
writeln(b);
end.
При введені 5 отримаємо 127. Якщо розгядати варіант, що після 5-го року має вийти 63, то в циклі потрібно ввести до n-1 (останній залишок рахувати не потрібно).
sib Дата: Чт, 16.12.2010, 09:54 | Повідомлення № 118
Тут живе...
Повідомлень: 125
Нагороди: 0
Рейтинг: 2
Quote (swetikccc)
Математично, можна правда спростити
4*2^(n-1)-1

А учень молодець.


Спростивши далі отримаємо 2^(n+1) -1
Але як при введені n=1 отримати 3 , а при введенні n=5 отримати 127. Все одно 127 виходить на 6 рік.
swetikccc Дата: Чт, 16.12.2010, 10:06 | Повідомлення № 119
Ветеран спілкування
Повідомлень: 4158
Нагороди: 31
Рейтинг: 387
Quote (sib)
Але як при введені n=1 отримати 3 , а при введенні n=5 отримати 127. Все одно 127 виходить на 6 рік.

Так то помилка в прикладі вихідних даних.
sib Дата: Чт, 16.12.2010, 10:16 | Повідомлення № 120
Тут живе...
Повідомлень: 125
Нагороди: 0
Рейтинг: 2
Дякую, а то почала сумніватись у собі.
Форум інформатиків » РОЗДІЛ I: ІНФОРМАТИКА, ПРОБЛЕМИ, ОБГОВОРЕННЯ, ВИРІШЕННЯ » 1.11 Змагання, конкурси, олімпіади » Підготовка до олімпіад
Пошук:


© Форум інформатиків України, 2007-2019.