Volga IT - 2012 Final round task analisys
- 1. Âîëãà ÈÒ - 2012
Îñíîâíîé òóð
Ðàçáîð çàäà÷
Óëüÿíîâñê
2012ã.
1/9 Îñíîâíîé òóð Ðàçáîð çàäà÷ Âîëãà ÈÒ - 2012
- 2. À. Ïèê Áàëìåðà.
Íàéäåì ìèíèìàëüíî âîçìîæíûé ðàçìåð îäíîé ïîðöèè, ïðè êîòîðîì
õâàòèò âñåõ êîìïîíåíò. Îí ðàâåí min( Acnt , Bcnt , Ccnt ). Èñõîäÿ èç
Av Bv Cv
ýòîãî ðàçìåðà, íàõîäèì îáúåì êîêòåéëÿ, ñîäåðæàùåãî
Acnt + Bcnt + Ccnt ïîðöèé.
2/9 Îñíîâíîé òóð Ðàçáîð çàäà÷ Âîëãà ÈÒ - 2012
- 3. B. Óïðàæíåíèå.
Îòâåò - ÷èñëà 1m+1 , 2m+1 . . . ( m+1 + 1)m+1 . Íåîáõîäèìî áûëî
n−1
âûâîäèòü ïî ìîäóëþ 1000000007.
3/9 Îñíîâíîé òóð Ðàçáîð çàäà÷ Âîëãà ÈÒ - 2012
- 4. C. Ðàäèîñòàíöèÿ.
 çàäà÷å íåîáõîäèìî ïðîâåðèòü ÷òî êàæäûå m ïîäðÿä èäóùèõ ÷èñåë
èç n ñîäåðæàò âñå ÷èñëà îò 1 äî m ðîâíî ïî îäíîìó ðàçó.
Ïðîñòàÿ ïðîâåðêà íå óêëàäûâàåòñÿ âî âðåìÿ. Íî åñëè èçâåñòíî ÷òî
äëÿ èíòåðâàëà [1 . . . n] óñëîâèå âûïîëíÿåòñÿ, òîãäà äëÿ ñëåäóþøåãî
îíî áóäåò âûïîëíÿòüñÿ ïðè óñëîâèè ðàâåíñòâà ýëåìåíòîâ íà ïîçèöèè
1 è (m+1), êîòîðûé ïðèõîäèò åé íà çàìåíó ïðè ñäâèãå.
Òàêèì îáðàçîì, íåîáõîäèìî ïðîâåðèòü äëÿ íà÷àëüíîãî èíòåðâàëà, à
çàòåì ïðîâåðèòü ðàâåíñòâà âñåõ ïàð ýëåìåíòîâ, ìåæäó êîòîðûìè
äèñòàíöèÿ (m+1).
4/9 Îñíîâíîé òóð Ðàçáîð çàäà÷ Âîëãà ÈÒ - 2012
- 5. D. Äîðîãè.
 çàäà÷å òðåáóåòñÿ çíàíèå àëãîðèòìà ïîèñêà êðàò÷àéøåãî ïóòè,
íàïðèìåð Äåéêñòðû. Ñóùåñòâóåò äâà ñïîñîáà íàïèñàíèÿ ýòîãî
àëãîðèòìà - O(n2 ) è O(m ∗ log(n)). Â çàâèñèìîñòè îò òîãî ÿâëÿåòñÿ
ëè ãðàô ðàçðåæåííûì ìîæíî ïðèìåíèòü îäèí èëè äðóãîé. Â äàííîì
ñëó÷àåå âûãîäíåå íàïèñàòü àëãîðèòì çà êâàäðàòíîå âðåìÿ.
Íîâûå äîðîãè ïðîâîäÿòñÿ òîëüêî ìåæäó ãîðîäàìè. Ïðîâåäåì ñæàòèå
ãðàôà äî ãðàôà ãîðîäîâ çà O(k ∗ n2 ). Êàæäûé çàïðîñ íà äîáàâëåíèå
äîðîãè âûïîëíÿåì çà O(k 2 ) ïåðåáèðàÿ âñå ïàðû ãîðîäîâ è
ïåðåñ÷èòûâàÿ ðàññòîÿíèÿ ìåæäó íèìè. Ýòîò àëãîðèòì óêëàäûâàåòñÿ
â Time Limit.
5/9 Îñíîâíîé òóð Ðàçáîð çàäà÷ Âîëãà ÈÒ - 2012
- 6. E. Çàìå÷àòåëüíîå ðåøåíèå.
"Íàèâíîå"ðåøåíèå - õðàíèì âñå èçìåíåíèÿ, ïðè êàæäîì çàïðîñå íà
âûâîä èçìåíÿåì ìàòðèöó è ïðîèçâîäèì ïîäñ÷åò êîíòðîëüíîãî
çíà÷åíèÿ. Ñëîæíîñòü â õóäøåì ñëó÷àå - O(m2 + mn).
Áîëåå áûñòðîå ðåøåíèå - èñïîëüçîâàíèå ïåðñèñòåíòíûõ ñòðóêòóð
äàííûõ, ïîçâîëÿþùèõ íàõîäèòü ôóíêöèþ íà ïîäìàòðèöå çà
O(log 2 n).
Íàïðèìåð, äåðåâî îòðåçêîâ (http://e-maxx.ru/algo/segment_tree).
6/9 Îñíîâíîé òóð Ðàçáîð çàäà÷ Âîëãà ÈÒ - 2012
- 7. F. Ñêëàä.
Êàæäûé êîíòåéíåð, ñòîÿùèé íà êàêîì-ëèáî äðóãîì íàâåðíÿêà
ïðèäåòñÿ ïåðåäâèíóòü, òàê ÷òî âñå òàêèå êîíòåéíåðû ìîæíî ñðàçó
ïðèáàâèòü ê îòâåòó. Äàëåå, íàäî íàéòè ïðÿìîóãîëüíèê, êîòîðûé óæå
ñîäåðæèò íàèáîëüøåå êîëè÷åñòâî êîíòåéíåðîâ, ñ ïëîùàäüþ, ðàâíîé
îáùåìó êîëè÷åñòâó êîíòåéíåðîâ. Ýòî ìîæíî ñäåëàòü, ïåðåáðàâ âñå
âîçìîæíûå ïðÿìîóãîëüíèêè çà O(n4 ).
7/9 Îñíîâíîé òóð Ðàçáîð çàäà÷ Âîëãà ÈÒ - 2012
- 8. G. Äâàäöàòü îäíî.
Ðàññìîòðèì âñå âîçìîæíûå ñîñòîÿíèÿ â êîòîðûõ ìîæåò íàõîäèòüñÿ
èãðà è ïîñ÷èòàåì âåðîÿòíîñòü ïîáåäû. Êîäèðóåì ñîñòîÿíèÿ òàê: ãäå
íàõîäèòñÿ êàæäàÿ êàðòà, ÷åé õîä, ïðîïóñêàåò ëè õîä äðóãîé èãðîê;
dp[3n ][2][2]. Äåëàåì ðåêóðñèâíóþ ôóíêöèþ ïîäñ÷åòà ñ ìåìîèçàöåé.
Åñëè èãðà çàêàí÷èâàåòñÿ â äàííîé ïîçèöèè - âåðîÿòíîñòü ïîáåäû
ëèáî 1.0, ëèáî 0.0.  èíîì ñëó÷àå âåðîÿòíîñòü ïåðåñ÷èòûâàåòñÿ
èñõîäÿ èç äîñòèæèìûõ ñîñòîÿíèé.  ñëó÷àå êîãäà õîä äåëàåò èãðîê
1, îí ìàêñèìèçèðóåò âåðîÿòíîñòü åãî ïîáåäû, èãðîê 2 æå
ìèíèìèçèðóåò (minmax ìåòîä). Åñëè â îïðåäåëåííîì ñîñòîÿíèè
òåêóùèì èãðîêîì áåðåòñÿ åùå îäíà êàðòà, òîãäà îíà âûïàäàåò
ñëó÷àéíî èç âñåõ îñòàâøèõñÿ. Òàêèì îáðàçîì ñóììàðíàÿ
âåðîÿòíîñòü ïîáåäû ðàâíà ñðåäíåìó àðèôìåòè÷åñêîìó îòâåòîâ äëÿ
âñåõ íîâûõ ñîñòîÿíèé. Ñ÷èòàåì ðåêóðñèâíî ôóíêöèþ solve(mask,
player, skip). Îñòàåòñÿ âûâåñòè â îòâåò solve(0, 0, 0).
8/9 Îñíîâíîé òóð Ðàçáîð çàäà÷ Âîëãà ÈÒ - 2012