PODSUMOWANIE OKI#21

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;
}

Nie dodano jeszcze komentarza, rozpocznij dyskusję pierwszy.

Dodaj komentarz