Zajęcia OKI21 czyli STARTUJEMY w Amerykańskiej Olimpiadzie Informatycznej USACO:
https://tiny.pl/tvmqm
Zaczęliśmy od quizu, z wnioskiem: komputery są wolne:
https://youtu.be/XQcYAuPheVM?t=231
Ale to my, nasze pomysły rozwiążą najtrudniejsze problemy świata!
https://tiny.pl/tvmqp
Właśnie dlatego startujemy w ten weekend w USACO:
https://tiny.pl/tvmqw
USACO to też super wpis do CV:
https://tiny.pl/tvmq4
USACO przygotowuje nas także do Olimpiady Informatycznej Juniorów.
O ważnych aspektach OIJ dyskutowaliśmy bardzo gorąco:
https://tiny.pl/tvmqf
Właśnie przygotowując się i startując w konkursach informatycznych – przygotowujemy się do tego by w przyszłości mieć super fun!
—-
A dziś?
Dziś rozwiązaliśmy zadanie Modern Art 2
https://tiny.pl/tvmq2
właśnie z Amerykańskiej Olimpiady Informatycznej USACO.
Po to by się przygotować do zawodów USACO w ten weekend.
Zadanie jest też w naszej Pracy Domowej:
https://tiny.pl/tvmq3
–
Zwróciliśmy uwagę jak przygotować zadanie do wrzucenia na USACO:
https://tiny.pl/tvmqv
——-
Jedrzej omówił dla nas zadanie Race z Amerykańskiej Olimpiady Informaytcznej USACO – element Pracy Domowej PD20:
https://youtu.be/XQcYAuPheVM?t=5838
Pokazaliśmy też częsty błąd na Olimpiadzie:
https://youtu.be/XQcYAuPheVM?t=5363
który… później niestety nam się przydarzył!
https://youtu.be/XQcYAuPheVM?t=5565
Zapisz się na newsletter a będziesz na bieżąco:
https://forms.gle/Az61QABG81RNk5oT7
Maxów w USACO!
Daniel Olkowski
———–
———–
ℹ Omówienie zadania Modern Art 2 z grupy Gold Amerykańskiej Olimpiady Informatycznej USACO:
https://youtu.be/XQcYAuPheVM?t=1433
–
Link do zadania Modern Art 2:
http://www.usaco.org/index.php?page=viewproblem2&cpid=743
–
Zadanie wymaga jedynie pomysłu i jest świetnym przygotowaniem do Olimpiad i konkursów informatycznych.
–
Kod C++ programu Modern Art który jest omówiony w powyższym filmie
–
#include <bits/stdc++.h>
using namespace std;
const int MAX_PIXELS = 1e5+7;
int pixels[MAX_PIXELS];
int colors_start[MAX_PIXELS];
int colors_end[MAX_PIXELS];
int pixel_stack[MAX_PIXELS];
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
freopen(“art2.in”, “r”, stdin);
freopen(“art2.out”, “w”, stdout);
int number_of_pixels;
int max_depth;
int stack_depth;
int i;
cin >> number_of_pixels;
for (i=1; i<=number_of_pixels; ++i) {
cin >> pixels[i];
if ( colors_start[ pixels[i] ] == 0 ) {
colors_start[ pixels[i] ] = i;
}
colors_end[ pixels[i] ] = i;
}
number_of_pixels += 2;
colors_start[0] = 0;
colors_end[0] = number_of_pixels-1;
stack_depth = max_depth = 0;
for (i=0; i<number_of_pixels; ++i) {
if (colors_start[ pixels[i] ] == i) {
pixel_stack[stack_depth] = pixels[i];
++stack_depth;
max_depth = max(max_depth,stack_depth);
}
if (colors_end[ pixels[i] ] == i) {
–stack_depth;
if (pixel_stack[stack_depth] != pixels[i]) {
cout << “-1\n”;
return 0;
}
}
}
–max_depth;
cout << max_depth;
return 0;
}
————
————
ℹ Szczegółowe omówienie zadania Race z dywizji Brown Amerykańskiej Olimpiady Informatycznej USACO:
https://youtu.be/XQcYAuPheVM?t=5838
–
Link do zadania:
http://usaco.org/index.php?page=viewproblem2&cpid=989
–
——-
Poniżej kod wzorcowy do zadania użyty w powyższym omówieniu.
–
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int MAXZAK=100*1000;
int Wypisz(int a, int k){
int ile, maxi;
ile=maxi=0;
ll odl=0LL;
for(int i=1; i<=MAXZAK; i++){
if( i<=a ){
odl+=(ll)i;
maxi=i;
ile=1;
}
else{
if(ile==2){
maxi++;
ile=1;
odl+=maxi;
}
else{
ile++;
odl+=maxi;
}
}
if( odl>=(ll)k ) return i;
}
}
int main (){
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
freopen(“race.in”, “r”, stdin);
freopen(“race.out”, “w”, stdout);
int n, k, a;
cin>>k>>n;
for(int i=1; i<=n; i++){
cin>>a;
cout << Wypisz(a, k) << “\n”;
}
return 0;
}