Algoritma untuk ujian di SHAD

Halo! Nama saya Alexander Kurilkin, dan saya mengajar kursus tentang algoritma di ShAD Helper. Dalam posting ini saya akan menganalisis beberapa tugas dari ujian masuk beberapa tahun terakhir, sehingga Anda dapat melihat apa yang menanti Anda dan memahami apa yang bisa kami ajarkan pada Anda di kursus kami. Saya harap Anda berbagi cintaku untuk tugas-tugas menarik pada algoritma dan akan menerima kesenangan yang tulus dari membaca posting ini! Jadi, mari kita mulai ...



28/05/2016, No. 4


Diberikan nsegmen[ai;bi] . Kami menyebutnya indeks bersarang segmen[ai;bi] jumlah segmen yang mengandungnya. Sarankan algoritma yang menentukan apakah ada segmen di set dengan indeks bersarang melebihi 1000. Batas waktu adalahO(nlogn) , dengan memori ekstra -O(n) .


Keputusan

, "". , - , , - , . " ", ai, " ", bi. . , 1. , 1000, , — 1000 . — - , , . , (std::multiset C++), . , — 1000 . , , , , *set.begin(), ( 1000 ) . , ! , , . , . , , !


: 1000 ? , - 1000 , 1000 , - , ? , - 1000 , , , , , .


, . O(nlogn), O(nlog1000)=O(n)O(n) . , : O(nlogn). O(n).


05/25/2019, No.4


Array bilangan real diberikan A. Sarankan algoritma yang ditemukan untuk setiap elemenA indeks dari elemen yang paling dekat ke kanan, setidaknya dua kali ukurannya. Jika tidak ada elemen seperti itu, maka nilainya harus dikembalikan.None. O(nlogn), — O(n).


(,). ( None), (A[n1],n1), . i. , , , ? , . , , , ? . , . , (A[i],i). , , ? , ( ) i. (, , std::vector) , A[i]2. , ( ), , None.


, , ? , O(n), n, O(nlogn), . , , , O(n).


10.06.12, №5
n( AB, , BA). n×n. — , , . , , . — O(n), — O(1).


Kij=1, i- j- , 0 .


, Kij=1 (ij), i- , - , j- , Kij=0, j- , i- .


: — . , 1, , l. , ( 0), , , , , - ( , , l). l- — , (l,l+1). 1, , , . , . , , , ( ), , , , . , , , O(n), , O(n). : O(n). , , (, ), O(1). !


, , !


2019, -, D


, 2
: 2
: 256Mb


nm. q« i1». .


— , . , .


. , , .



nm— (1n,m105,2n). mu, v, w. , w, uv(1u,vn,1w10).


q— (1q105). qid(1idm ). Ini berarti Anda perlu mengurangi berat iga satu per satu.id . Tepi diberi nomor dari satu dalam urutan dalam file input.


Format output


Mencetak qnomor q dipisahkan oleh spasi atau jeda baris - berat pohon rentang minimum setelah setiap permintaan.


Keputusan

, , 99% . .


" uv", k. uvk( . k+1, , uv>k+1, k+1, , ́ ), , 1. . , , . O(n), , , O(logn)link-cut tree, , ( ). .


1 10, 10 ( , ). k- k. . : , ( ) , , . , , , , .


(u,v)1 k. k- . , k- uv. , k+1, , . , uvk- , 1. uvk- , k, .


, , ? O(α(n)), O(10mlogn)=O(mlogn). , Accepted :)


All Articles