Головна Обговорення Лінки Пошук Prykladna СС Прикладна _КОЛЕДЖ 16.08.2022 17:15:48 (EEST=GMT+2)
ACM -
Навігація -
Теми форуму +
Чи знали ви, що... ? (beta) -
Мова C була розроблена Д. Рітчі в 1972р., їй передували такі мови, як BCPL і мова B.
Події
ПнВтСрЧтПтСбНд
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

Birthday(s):
AVATARAsofix
AVATARMysteryk
AVATARdimaion
AVATARFcdkbear
AVATARMagnentsy

Перегляд теми
ACM Контестер | Змагання | Онлайн змагання
Сторінка 2 з 2 < 1 2
Автор RE: Lviv Training Evening
Witaliy
Користувач

Повідомлень: 282
Зареєстрований: 09.02.08
Опубліковано 08-07-2010 21:03
Lviv Training Evening #15
В суботу, 10 липня о 19:00 за Києвом.
Посилання:
http://acm.tju.edu.cn/toj/vcontest/contest6347.html
Надіслати приватне повідомлення
Автор RE: Lviv Training Evening
cupidon4uk
Користувач

Повідомлень: 393
Звідки: LNU
Зареєстрований: 02.01.09
Опубліковано 12-07-2010 18:34
Lviv Evening Training #16
В вівторок, 13 липня о 19:00 за Київським часом.
Посилання:
http://acm.tju.edu.cn/toj/vcontest/contest6359.html



Змінив(ла) cupidon4uk, 12-07-2010 18:34
GoogleHireMe 557679737 mylyanyk.ivan [Lviv_NU] Надіслати приватне повідомлення
Автор RE: Lviv Training Evening
cupidon4uk
Користувач

Повідомлень: 393
Звідки: LNU
Зареєстрований: 02.01.09
Опубліковано 14-07-2010 21:35
Oleksandr Voyetsa - переможець 16 тренування!(7 з восьми задач, і всі за першою спробою)... Нажаль, я трішки пролетів, тому... Зробіть хтось розбір задач =)


GoogleHireMe 557679737 mylyanyk.ivan [Lviv_NU] Надіслати приватне повідомлення
Автор RE: Lviv Training Evening
Witaliy
Користувач

Повідомлень: 282
Зареєстрований: 09.02.08
Опубліковано 22-07-2010 14:53
Lviv Training Evening #17
Пятниця, 23 липня о 19:00 за Києвом.
URL: http://acm.tju.edu.cn/toj/vcontest/contest6425.html
Змінив(ла) Witaliy, 23-07-2010 12:00
Надіслати приватне повідомлення
Автор RE: Lviv Training Evening
AleRD
Користувач

Повідомлень: 39
Звідки: ТНТУ ім. Пулюя
Зареєстрований: 06.12.09
Опубліковано 23-07-2010 09:22
24 липня то суботА! СЬОГОДНІ ПЯТНИЦЯ - 23


Чтобы сделать в мире что-нибудь достойное, нельзя стоять на берегу, дрожа и думая о холодной воде и опасностях, подстерегающих пловцов. Надо прыгать в воду и выплывать как получится.
5314817 Надіслати приватне повідомлення
Автор RE: Lviv Training Evening
cupidon4uk
Користувач

Повідомлень: 393
Звідки: LNU
Зареєстрований: 02.01.09
Опубліковано 31-07-2010 15:50
Lviv Training Evening #18
У неділю, 1 серпня о 18:00 за Київським часом.
URL: http://acm.tju.edu.cn/toj/vcontest/contest6466.html



Змінив(ла) cupidon4uk, 01-08-2010 11:53
GoogleHireMe 557679737 mylyanyk.ivan [Lviv_NU] Надіслати приватне повідомлення
Автор RE: Lviv Training Evening
cupidon4uk
Користувач

Повідомлень: 393
Звідки: LNU
Зареєстрований: 02.01.09
Опубліковано 02-08-2010 12:53
Закінчився контест. Вітаю Andrew_Makar з першим місцем ;)
Я розкажу декілька задач, тих шо здав:
С - ну, то , як кажуть, робиш те, шо кажуть. Єдиний в мене загон був:
1)на початку був 1 зайвий пробіл
2)в випадку трикутника і паралелограма в якому рядку то б не було, після останньої зірочки пробіл стояти не повинен!
ТоЖ, якшо зробити все акуратно, то все получиться.

D - потрібно подивитись , звідки наша діагональ починатиметься - від лівого поку, чи від верху. Це просто прорахувати:
1)порахувати в якому стовпці і рядку знаходиться наше число
2)Якшо рядок більший за номер стовпця, то починаємо зверху, інакше починаємо з лівого краю..
Вирахувати точку достатньо просто:
|рядок - стовпець| + 1
А далі розглянути 2випадки - звеху і зліва. Там є свої ньюанси, якош комусь шось не зрозуміло, то звертайтесь, я постараюсь відповісти.

F - інтуіція підказує - найменше атомів - коли один цикл, тобто 6. А з додаванням нового циклу кі-сть атомів збільшується на 4. Але є 2 загони
1) N може містити до 100 символів. Але ознака подільності на 4 : N % 4 ==(10*передостаню цифру + остання цифра) %4. Тобто, зчитуємо N як рядок, останні 2 символи перетворюємо в число і дивимся на остачу.
2)Потрібно вивести лапки ""... А для мене на с++ це стало певною новинкою(нічо подібного раніше не робив) - тому я хочу пояснити цей момент. Я виводив це як окремий символ, тобто:
printf("%cNot possible.%c\n",'"','"');

А тепер шодо задач, які я не зробив:

А - цікава задачка... Я б її робив типу : з системи числення А в десяткову, а з десяткової -> в В... Але, як я зрозумів, так не катіт через обмеження... Мені цікаво, як це робити. Довга арифметика?

В - ну ніяк не міг вїхати в умову, хоча я й не дуже старався...

Е - як на мене, тупо згенерувати біномінальні коефіцієнти з використаням довгї арифметики.
Тобто
for(int i=0;i<=n;i++) print( C(i,n) ); Де с(i,n) =n!/( i! * (n-i)! )

G - цікава задачка... Не дуже вшарив в прікол з нулями - якшо ми їх під-час ззунення викинули на перший план, то їх взагалі викиути, чи тільки не виводити для цієї стадії? Бо банальний брут-форс дає ТЛ...

Н - як на мене, найцікавіша задачка в змаганні. Я її не зробив ): Хтось знає як? Я припустив, шо найоптимальнішу буде помістити новий дім в середньому арифметичному всіх кординат, але ця ідея дала ВА... Якісь ше ідеї?

I,J - не читав =(...

K - тут просто пройтись по тексту, запамятати всі символи, водночас їх рахуючи в якомусь масиві, а тоді взяти найпопулярніший, знайти відстань від нього до символа "і", і вивести з поправкою. Головне міняти тільки буквочки, а не знаки і т.д.



Змінив(ла) cupidon4uk, 02-08-2010 12:56
GoogleHireMe 557679737 mylyanyk.ivan [Lviv_NU] Надіслати приватне повідомлення
Автор RE: Lviv Training Evening
_ballon
Користувач

Повідомлень: 81
Звідки: Kyiv NU
Зареєстрований: 31.10.08
Опубліковано 02-08-2010 15:53
на рахунок А
так там довга арифметика, я її недавно на е-олімпі здав(http://www.e-olimp.com/ua/problems/734)... а на сайті було влом здавати, бо така система що "здохнути" можна, що не напишу то якісь дивні помилки видає :(
Змінив(ла) _ballon, 02-08-2010 15:54
ballon Надіслати приватне повідомлення
Автор RE: Lviv Training Evening
cupidon4uk
Користувач

Повідомлень: 393
Звідки: LNU
Зареєстрований: 02.01.09
Опубліковано 02-08-2010 17:51
Подумав над Н ... Прийшла думка про бінарний пошук. Я правий?


GoogleHireMe 557679737 mylyanyk.ivan [Lviv_NU] Надіслати приватне повідомлення
Автор RE: Lviv Training Evening
LeBron
Головний Адміністратор

Повідомлень: 704
Звідки: ЛНУ
Зареєстрований: 10.02.09
Опубліковано 02-08-2010 21:33
Подивився на задачі, які були "під запитанням".

Н - далеко не найцікавіша, бо дуже проста математично і засвічена історично. Можна бінарку, можна сортування. Як хочеш.
ніколи не писав там бінарки, тому й сказав, не подумавши. Числа бінарка не піде, бо маємо немонотонну функу. Якщо шукати - то тернаркою напевно. Але краще все ж тупо сортуванням, це хоч точно працює.

А - просто ділення довгого на коротке, ніц страшного.

Е - правильно, там тільки довге додавання, теж ніц страшного.

К - правильно, просто кодингова вправа.

В - якщо цифри чергуються - впорядкувати, якщо впорядковані - зробити, щоб чергувались. Теж вправа на кодинг.

J - аналізуємо ті річки, бачимо, що вони між собою не сходяться, але інші гіпотетичні річки будуть з ними при таких обмеженнях сходитись досить швидко. Відкриваємо задачу в архіві, дивимсь на кількість ацептів, цим підтверджуємо своє припущення. Далі алгоритм Влоба.

І не знаю.


Одінь окуляри з фіолетовим шклом - так легше стіну пробивати чолом.
Змінив(ла) LeBron, 02-08-2010 21:38
LeBron LeBron Надіслати приватне повідомлення
Автор RE: Lviv Training Evening
Petya
Користувач

Повідомлень: 5
Зареєстрований: 27.03.10
Опубліковано 02-08-2010 23:34
Можна точніше про задачу Н? Шо там з сортуванням?
Надіслати приватне повідомлення
Автор RE: Lviv Training Evening
LeBron
Головний Адміністратор

Повідомлень: 704
Звідки: ЛНУ
Зареєстрований: 10.02.09
Опубліковано 03-08-2010 13:37
Натякну. Представте, що ми проходим повз будинки, почавши з координати 0, і рухаючись вправо. Поки зліва від нас будинків менше, ніж справа (тобто ми пройшли менше будинків, ніж залишилось) - значення суми буде зменшуватись, бо зробивши 1 крок, ми заберемо з суми кількість кроків, рівну "правій" кількості будинків, а додамо лише кількість, рівну лівій. Коли ж зліва стане більше, ніж справа, то сума знов(edit - не знов... а просто почне і все) почне зростати, бо оптимальний відрізок ми вже пройшли.


Одінь окуляри з фіолетовим шклом - так легше стіну пробивати чолом.
Змінив(ла) LeBron, 03-08-2010 17:16
LeBron LeBron Надіслати приватне повідомлення
Автор RE: Lviv Training Evening
cupidon4uk
Користувач

Повідомлень: 393
Звідки: LNU
Зареєстрований: 02.01.09
Опубліковано 03-08-2010 18:47
капець сортування... Сортування - тут тільки одна частина. Так шо я б е сказав, шо ця задача "робиться сортуванням" =) Сортуванням робиться задача" поскладати в зростанні 1,3,2" xDD Сортування - то тільки клю чо дозвязку, а не алгоритм..


GoogleHireMe 557679737 mylyanyk.ivan [Lviv_NU] Надіслати приватне повідомлення
Автор RE: Lviv Training Evening
LeBron
Головний Адміністратор

Повідомлень: 704
Звідки: ЛНУ
Зареєстрований: 10.02.09
Опубліковано 03-08-2010 19:50
CUPIDON написав:
капець сортування... Сортування - тут тільки одна частина. Так шо я б е сказав, шо ця задача "робиться сортуванням" =) Сортуванням робиться задача" поскладати в зростанні 1,3,2" xDD Сортування - то тільки клю чо дозвязку, а не алгоритм..

О, так, тоді тут ще знання циклів, зчитування/виводу, мови програмування взагалі.
Так, весь розв'язок в десяток раз більший, там аж так треба писати:
sort(ar);
for (i=1;i<=n;i++)ans+=abs(ar[(n+1)/2]-ar[i]);
return ans;






Одінь окуляри з фіолетовим шклом - так легше стіну пробивати чолом.
LeBron LeBron Надіслати приватне повідомлення
Автор RE: Lviv Training Evening
cupidon4uk
Користувач

Повідомлень: 393
Звідки: LNU
Зареєстрований: 02.01.09
Опубліковано 03-08-2010 21:50
п.с. Ти її здавав?!
Бо в мене чомусь ВА...
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;

int main()
{
int t; cin>>t;
for(int ts=0;ts<t;ts++)
{
int n; cin>>n;
vector<int> v(0);
for(int i=0;i<n;i++)
{
int a;cin>>a;
v.push_back(a);
}
sort(v.begin(),v.end());
int vlu=v[ (v.size()-1) /2 ];
int ans=0;
for(int i=0;i<v.size();i++) ans+= abs(v[i]-vlu);
cout<<ans<<endl;
}
return 0;
}





GoogleHireMe 557679737 mylyanyk.ivan [Lviv_NU] Надіслати приватне повідомлення
Автор RE: Lviv Training Evening
LeBron
Головний Адміністратор

Повідомлень: 704
Звідки: ЛНУ
Зареєстрований: 10.02.09
Опубліковано 03-08-2010 23:16
CUPIDON написав:
п.с. Ти її здавав?!

Якщо не помиляюсь, три рази. Оскільки після другого разу я задачі здаю вже "за настроєм", а не для одержання +1 до зданих на сервері, поєднаного з провіркою правильності того, що написав... ну і те саме в різних місцях сабмічу дуже рідко (сорси не зберігаю, шукати їх в системі, де вже здав - нудно й не дуже корисно, тому пишу наново), то я цю задачу ще не здав ні на Е-олімпі, ні на ТЖУ, бо лінь було писати. Зараз здам:)

CUPIDON написав:
Бо в мене чомусь ВА...

Пояснення до тупості стандартне: бо в тебе неправильний розв'язок.

Сказати точно, які були помилки, я не можу, бо перед тим, як тестувати твій код, трохи його переробив в зручний для мене вигляд. Міг якусь помилку випадково додати або виправити.

Може бути, що вся проблема була лише в типах, потестуй в вільний час, мені чесно лінь.

950403 2010-08-04 04:00:17 Accepted 2972 C++ 0.5K 0'00.55" 7352K lebron - оце здав твій сорс.

Якщо бути точним, то я здав ось це:

#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;long long i,sz,tn,n,a,ans;
int main(){cin>>tn;
for (;tn;tn--){cin>>n;vector<long long> v(0);
for(i=0;i<n;i++) {cin>>a;v.push_back(a);}sort(v.begin(),v.end());
sz=v.size();for(i=0;i<sz;i++) ans+=abs(v[i]-v[(sz-1)/2]);
cout<<ans<<endl;if (tn)ans=0;}
return 0;}



Зараз ще трохи досліджую продуктивність, надіюсь, ти не проти.


Одінь окуляри з фіолетовим шклом - так легше стіну пробивати чолом.
Змінив(ла) LeBron, 04-08-2010 00:17
LeBron LeBron Надіслати приватне повідомлення
Автор RE: Lviv Training Evening
cupidon4uk
Користувач

Повідомлень: 393
Звідки: LNU
Зареєстрований: 02.01.09
Опубліковано 10-08-2010 17:59
Lviv Training Evening #19
У четвер, 12 серпня о 18:00* за Київським часом.
Посилання на змагання:
http://acm.tju.edu.cn/toj/vcontest/contest6508.html


GoogleHireMe 557679737 mylyanyk.ivan [Lviv_NU] Надіслати приватне повідомлення
Сторінка 2 з 2 < 1 2
Перейти на форум:
Голосування
Що Ви б хотіли отримати в якості подарунку на змаганні з програмування?

Медалі

настільні ігри

торт

клавіатура, навушники, флешки і т.д.

квитки в кіно

квитки в аквапарк

квитки на пейнтбол

книги

футболки з логотипом змагання

Для участі в голосуваннях Ви повинні залогуватись.
Міні-чат +
Зараз на сайті -
Гостей: 1
На сайті немає зареєстрованних користувачів

Користувачів: 4,739
новачок: Grem
Powered by PHP-Fusion © 2003-2006
LNU ACMania © 2004-2011 e-mail: webmaster@acm.lviv.ua
22,681,128 унікальних відвідувачів
Our projects: ACM Contester, _College.
  пїЅпїЅпїЅпїЅпїЅпїЅпїЅ Orphus     bigmir)net TOP 100