Сайт підготовки до олімпіади з інформатики

програмування в С++

Школа олімпійського резерву з інформатики
Заняття (21.03.2018) PDF Печать E-mail
Добавил(а) Administrator   
23.03.18 10:57

Зміст

pair<type1, type2>.. 2

vector<type1>.. 3

stack<type1>.. 4

deque<type1>.. 5

map<type1, type2>.. 6

set<type1>.. 7

Задачі з e-olymp. 8


pair<type1, type2>

pair<int, int> p;

p.first - перший елемент

p.second - другйи елемент

Інші, можливі, приклади пар:

pair<double, double>

pair<pair<int, int>, int>

pair< pair<int, int>, pair<int, int> >

pair<long long, vector<int> >

vector<type1>

vector<int> m;

m.push_back(a); - добавити в кінець елемент a

m[i] – звернутия до i-ого елемента

m.size() - розмір вектора

m.back() - останній елемент вектора

m.clear(); - очистити вектор

m.empty() - true якщо вектор пустий, інакше false

m.begin() і m.end() - почак і кінець вектора. Необхідні для сортування

m.erase(m.begin()+i); - видалити i-ий елемент

m.erase(m.begin()+i, m.begin()+j); - видалити елементи від i-ого до j-ого

Видалення працює за лінійний час, тобто доволі довго.


stack<type1>

stack<int> s;

s.push(a); - добавити елемент a

s.size() - розмір стека

s.top() - останній елемент стека

s.pop() - видалити останній елемент стека

s.empty() - true якщо стек пустий, інакше false


deque<type1>

deque<int>d;

d.push_front(a); - добавити елементa на початок дека

d.push_back(a); - добавити елементa в кінці дека

d.front() - перший елемент дека

d.back() - останній елемент дека

d.pop_front(); - видалити перший елемент

d.pop_back(); - видалити останній елемент

d.size() - розмір дека

d.empty() - true якщо дек пустий, інакше false

d.clear(); - очистити дек

d[i] - i-ий елемент в деці


map<type1, type2>

map<int, int> m;

map<int, int>::iterator it; - ітератор(вказівник) на певний елемент мапи

m[i] = a; - присвоєння елементу мапи з індексомi значення a

m.count(i) - перевірка чи використовувався елемент з індексом і

m.clear(); - очистити мапу

m.begin() - початок мапи і заодно вказівник на перший елемент

m.end() - вказівник на кінець мапи. Розташований на 1 позицію дальше від останнього елмента мапи

m.empty() -true якщо мапа пуста, інакше false

m.size() – розмір мапи(кількість елементів, які використовувалися в мапі)

it->first - індекс елемента мапи на який вказуєit

it->second - значення елемента мапи на який вказує it


set<type1>

set<int>s;

set<int>::iteratorit; - ітератор(вказівник) на певний елемент сета

multiset<int>s2; - сет в якому можуть повторюватися значення

s.insert(a); - вставити елементa в сет

s.begin() - вказівник на початок сета і одночасто і на перший елемент

s.end() - вказівник на кінець сета. Розташований на 1 позицію дальше від останнього елмента сета

s.erase(a) - видалити елемент(всі елементи) aв сеті(мультисеті)

s.erase(it) - видалити елемент, на який вказує вказівник it

s.find(a) - вказівник на елемент aв множині, або s.end() якщо такого елемента в сеті немає

s.upper_bound(a) - вказівник на перший елемент, який строго більшийa

s.lower_bound(a) - вказівник на перший елемент, який більший або рівний a

s.size() - розмір сета

s.clear(); - очистити сет

s.empty() - true якщо сет пустий, інакше false

*it- значення самого елемента в сеті

it++; - перенести вказівник на наступний елемент в сеті

it--; - перенести вказівник на попередній елемент в сеті

Приклад проходу по всьому сетові(знаходення суми всіх елементів) :

for(it=s.begin();it!=s.end();it++)

{

        sum+= *it;

}


Задачі з e-olymp

291 – set + deque

555 – set

693 – stack

694 – deque

790 – set

1211 – map

1225 – set

1226 – set

1227 – set

1228 – set

1776 – stack

1868 – map

1871 – stack

1872 – vector

2040 – map(можна простими масивами, але для розуміння краще зробити використовуючи map)

2479 – stack

2661 – set

3004 – set

Примітка: setпідрозуміває використання setабо multiset, в залежності від задачі

 
Готуємось до олімпіади з інформатики 2019-2020 PDF Печать E-mail
Добавил(а) Administrator   
27.12.19 11:05

1-2 лютого 2020 року 3 етап (обласний) олімпіади

Завдання для тестування минулого року на CodeForce (https://codeforces.com/group/cQdeH17A8o/contests)

Матеріали олімпіади (3etap2019-2020.zip)

Папка "Готуємось до олімпіади 2019-2020"

Папка з матеріалами школи обдарованих учнів (SchoolOlymp

 

 

 
Турніри на e-olymp PDF Печать E-mail
Добавил(а) Administrator   
16.09.20 08:38
Слідування
https://www.e-olymp.com/uk/contests/17167
2400, 248, 7817, 1290, 1355, 1289, 7336, 933, 955, 906, 949, 1359, 6272, 769, 6344
Розгалуження+Цикл
https://www.e-olymp.com/uk/contests/17168 6278, 6279, 1357, 108, 1351, 2392, 7337, 2206, 7818, 1473, 6274, 8298, 2, 1601, 2606, 271, 62, 2862, 128, 115, 192
Списки+Рядки https://www.e-olymp.com/uk/contests/17176
4824, 7829, 7841, 7842, 7850, 5721, 3935, 622, 1427, 494, 5049, 119, 80, 8303, 8296

 

 
Матеріали для роботи PDF Печать E-mail
Добавил(а) Administrator   
16.09.20 08:30

Опорні конспекти

Збірник задач

Турніри

 
ШКОЛА ОЛІМПІЙСЬКОГО РЕЗЕРВУ З ІНФОРМАТИКИ PDF Печать E-mail
Добавил(а) Administrator   
08.09.22 08:42

Заняття проходять щосереда  з 15.00 до 18.00 у ВІППО, кабінет №26 (на карті)

Папка з матеріалами 2022/2023

 

Розв’язують задачі, які:

сприяють розвитку логічного мислення в учнів; 

визначають вміння записувати базові структури алгоритмів: слідування, розгалуження, цикл; 

визначають рівень програмування учня, тобто вміння записувати програмний код розв’язку за описаним алгоритмом; 

дозволяють виявити вміння учнів підбирати і використовувати алгоритми при розв’язуванні задач;

надають досвід для олімпіад.

 

 

 

 

Розвязують задачі, які

Последнее обновление 09.11.22 12:14
 


Страница 4 из 43

Статистика

Пользователей : 269
Статей : 225
Просмотрено статей : 127705

Вход/Регистрация

Нет