Upload
-
View
589
Download
0
Embed Size (px)
Citation preview
Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî
èí�îðìàòèêå
�åãèîíàëüíûé ýòàï, II òóð
�àçáîð çàäà÷
Àíäðèàíîâ È. À.
Ñòðåêàëîâñêèé Î. À.
Âîëîãîäñêèé ãîñóäàðñòâåííûé óíèâåðñèòåò
Ôàêóëüòåò ïðèêëàäíîé ìàòåìàòèêè,
êîìïüþòåðíûõ òåõíîëîãèé è �èçèêè
Âîëîãäà
2016 ã.
1/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾Òðè ñûíà¿
Îñíîâíàÿ èäåÿ
×òîáû ìèíèìèçèðîâàòü ñóììó êâàäðàòîâ, íåîáõîäèìî
ñòàðàòüñÿ âûáèðàòü ÷èñëà a, b è c áëèçêèìè ê n/3.
2/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾Òðè ñûíà¿
Îñíîâíàÿ èäåÿ. Äîêàçàòåëüñòâî
Äîêàæåì ñíà÷àëà ñëåäóþùèé �àêò:
Ïóñòü ðàçëè÷íûå ïîëîæèòåëüíûå öåëûå a < b òàêîâû, ÷òîa+ b = m.
Òîãäà åñëè ñóììà a2 + b2 ìèíèìàëüíà, òî b− a ≤ 2.
3/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾Òðè ñûíà¿
Îñíîâíàÿ èäåÿ. Äîêàçàòåëüñòâî
�àññìîòðèì ïðîöåññ ¾ñáëèæåíèÿ¿ a è b:Ïóñòü b− a > 2.Òîãäà a+ 1 6= b− 1 è
(a+ 1)2 + (b− 1)2 = a2 + 2a+ 1 + b2 − 2b+ 1 =a2 + b2 + 2(a− b) + 2 < a2 + b2 − 4 + 2 < a2 + b2 ⇒ âçÿâ âìåñòî
a è b ÷èñëà a+ 1 è b− 1, ìû ïîëó÷èì äâà ðàçëè÷íûõ ÷èñëà ñ
òàêîé æå ñóììîé, íî ìåíüøåé ñóììîé êâàäðàòîâ ⇒ a è bíóæíî ñäâèãàòü äî òåõ ïîð, ïîêà a+ 1 6= b− 1 è ýòîò ïðîöåññ
îñòàíîâèòñÿ, êàê òîëüêî b− a ñòàíåò ≤ 2.
4/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾Òðè ñûíà¿
Îñíîâíàÿ èäåÿ. Äîêàçàòåëüñòâî
�àññìîòðèì òåïåðü òðè ÷èñëà a, b è c, êîòîðûå òðåáóåòñÿíàéòè â çàäà÷å.
Ïðèìåíèâ ïðåäûäóùåå óòâåðæäåíèå äëÿ a è b ïðè�èêñèðîâàííîì c, à òàêæå äëÿ b è c ïðè �èêñèðîâàííîì a,ïîëó÷èì ÷òî âñå ÷èñëà íå áîëåå ÷åì íà 2 îòñòîÿò îò
çíà÷åíèÿ n/3:{
b− a ≤ 2
c− b ≤ 2⇒ c− a ≤ 4 ⇒ a, b, c ∈ [n/3− 2, n/3 + 2]
5/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾Òðè ñûíà¿
�åøåíèå ñ ïåðåáîðîì
Ïåðåáåðåì âñå òðîéêè öåëûõ ïîëîæèòåëüíûõ ÷èñåë, ãäå êàæäîå
÷èñëî, íå áîëåå ÷åì íà 2 îòëè÷àåòñÿ îò n/3, è âûáåðåì ñðåäè
íèõ òðîéêó ñ ìèíèìàëüíîé ñóììîé êâàäðàòîâ.
6/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾Òðè ñûíà¿
Âûáîð îäíîé èç òð¼õ êîìáèíàöèé
×òîáû ñóììà êâàäðàòîâ áûëà ìèíèìàëüíà, íóæíî, ÷òîáû ÷èñëà
îòëè÷àëèñü êàê ìîæíî ìåíüøå.
1
Åñëè (n− 3) | 3, òî îòâåò � 〈a, a+ 1, a+ 2〉, ãäåa = (n− 3)/3.
2
Åñëè (n− 5) | 3, òî îòâåò � 〈a, a+ 2, a+ 3〉, ãäåa = (n− 5)/3.
3
Èíà÷å îòâåò � 〈a, a+ 1, a+ 3〉, ãäå a = (n− 4)/3.
Îäèí èç âàðèàíòîâ òî÷íî ïîäîéä¼ò.
7/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
Âîïðîñû ïî çàäà÷å?
8/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾�èïåðøàøêè¿
1
Îòñîðòèðóåì ìàññèâ x ïî âîçðàñòàíèþ.
2
Ñîçäàäèì àññîöèàòèâíûé ìàññèâ ount, ãäå ount[i℄ �
êîëè÷åñòâî ïîâòîðîâ ÷èñëà i.
3
Cîçäàäèì äâà óïîðÿäî÷åííûõ ìàññèâà all è rep, ãäå:
1
all � âñå âõîäíûå ÷èñëà áåç ïîâòîðîâ;
2
rep � âõîäíûå ÷èñëà, êîòîðûå ïîâòîðÿëèñü (íî â ìàññèâå
rep êàæäîå áóäåò â îäíîì ýêçåìïëÿðå).
9/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾�èïåðøàøêè¿
Ïåðåáèðàåì ÷èñëà â àññîöèàòèâíîì ìàññèâå ount � ýòî áóäåò
íàèìåíüøåå ÷èñëî â ñ÷¼òå.
Îáîçíà÷èì åãî çà a.
Åñëè ount[a℄ ≥ 3, òî äîáàâëÿåì ê îòâåòó 1.
10/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾�èïåðøàøêè¿
Ïåðåáèðàåì ÷èñëà â àññîöèàòèâíîì ìàññèâå ount � ýòî áóäåò
íàèìåíüøåå ÷èñëî â ñ÷¼òå.
Îáîçíà÷èì åãî çà a.
Åñëè ount[a℄ ≥ 2, òî ðàññìîòðèì âàðèàíò ñ÷¼òà ñ äâóìÿ
ýêçåìïëÿðàìè ÷èñëà a è åù¼ îäíèì ÷èñëîì â äèàïàçîíå
(a, a ∗ k]:1
Èñïîëüçóåì äâîè÷íûé ïîèñê ïî all äëÿ ïîèñêà êîëè÷åñòâà
÷èñåë â äèàïàçîíå.
2
�åçóëüòàò óìíîæàåì íà 3, òàê êàê äëÿ êàæäîãî ÷èñëà xåñòü 3 âàðèàíòà ñ÷¼òà: 〈a, a, x〉, 〈a, x, a〉, 〈x, a, a〉.
10/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾�èïåðøàøêè¿
Ïåðåáèðàåì ÷èñëà â àññîöèàòèâíîì ìàññèâå ount � ýòî áóäåò
íàèìåíüøåå ÷èñëî â ñ÷¼òå.
Îáîçíà÷èì åãî çà a.
Ïðîáóåì ÷èñëî a âçÿòü â îäíîì ýêçåìïëÿðå:
Âàðèàíò 1: îñòàâøèåñÿ äâà ÷èñëà â ñ÷¼òå îäèíàêîâû.
1
Ñ ïîìîùüþ äâîè÷íîãî ïîèñêà ïî rep èùåì êîëè÷åñòâî
÷èñåë ñ ïîâòîðàìè â äèàïàçîíå (a, a ∗ k].2
�åçóëüòàò óìíîæàåì íà 3, òàê êàê 3 âàðèàíòà: 〈a, x, x〉,〈x, x, a〉, 〈x, a, x〉.
Âàðèàíò 2: îñòàâøèåñÿ äâà ÷èñëà â ñ÷¼òå ðàçíûå.
1
Ñ ïîìîùüþ äâîè÷íîãî ïîèñêà ïî all èùåì êîëè÷åñòâî.
2
Èñïîëüçóåì �îðìóëó Cn
2 , ðåçóëüòàò äîìíîæàåì íà 3 ïî
àíàëîãè÷íîé ïðè÷èíå.
10/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾�èïåðøàøêè¿
Ñóùåñòâóþò àëüòåðíàòèâíûå ðåøåíèÿ äëÿ ïîäñ÷¼òà ñóììû ñ
èñïîëüçîâàíèåì ìåòîäà ¾äâóõ óêàçàòåëåé¿, ÷òî ïîçâîëÿåò
ïîñëå ñîðòèðîâêè ïîñ÷èòàòü îòâåò çà O(N), âìåñòîO(N logN), êàê â âàðèàíòå ñ äâîè÷íûì ïîèñêîì.
11/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾�èïåðøàøêè¿
Òèïè÷íûå îøèáêè
�àçáîð íå âñåõ âîçìîæíûõ êîìáèíàöèé.
Âûõîäû çà ãðàíèöû ìàññèâîâ.
12/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
Âîïðîñû ïî çàäà÷å?
13/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾Èíòåðåñíûå ÷èñëà¿
×àñòè÷íûå ðåøåíèÿ
Ïîäçàäà÷à 1:
Äîñòàòî÷íî ïåðåáðàòü âñå ÷èñëà èç äèàïàçîíà îò L äî R è
äëÿ êàæäîãî èç íèõ ïðîâåðèòü, ÿâëÿåòñÿ ëè îíî
èíòåðåñíûì.
Ïîäçàäà÷à 2
Äîñòàòî÷íî ïåðåáèðàòü òîëüêî èíòåðåñíûå ÷èñëà, ñîõðàíÿÿ
â ïåðåáîðå óæå ïîñòàâëåííóþ ÷àñòü ÷èñëà è ïîñëåäíþþ
öè�ðó.
Áóäåì äîïèñûâàòü òîëüêî òå öè�ðû, êîòîðûå ïðèâîäÿò ê
ñîõðàíåíèþ ñâîéñòâà èíòåðåñíîñòè.
Ìåæäó 1 è 1018 âñåãî 4 686 824 èíòåðåñíûõ ÷èñëà, ïîýòîìó
ïåðåáîð áóäåò íåáîëüøîé.
14/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾Èíòåðåñíûå ÷èñëà¿
Îñíîâíûå èäåè äëÿ ïîëíîãî ðåøåíèÿ
1
Ïóñòü c(L,R) � êîëè÷åñòâî èíòåðåñíûõ ÷èñåë îò L äî R.
2
Çàìåòèì, ÷òî c(L,R) = c(1, R) − c(1, L− 1) ⇒ äîñòàòî÷íî
óìåòü âû÷èñëÿòü òîëüêî òàêèå c, ãäå ïåðâîå ÷èñëî ðàâíî 1.
3
Äëÿ âû÷èñëåíèÿ c áóäåì èñïîëüçîâàòü ìåòîä
äèíàìè÷åñêîãî ïðîãðàììèðîâàíèÿ.
15/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾Èíòåðåñíûå ÷èñëà¿
�åøåíèå 3�åé ïîäçàäà÷è, ãäå R = 10k
Ïîñêîëüêó ñàìî ÷èñëî 10k èíòåðåñíûì íå ÿâëÿåòñÿ, çàäà÷à
ñâîäèòñÿ ê ïîäñ÷åòó êîëè÷åñòâà èíòåðåñíûõ ÷èñåë, ñîñòîÿùèõ
èç k öè�ð, ïðè÷åì âåäóùèå íóëè ðàçðåøàþòñÿ (áóäåò
ïîñ÷èòàíî ëèøíåå ÷èñëî 0, ïîýòîìó èç îòâåòà âû÷òåì 1).
16/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾Èíòåðåñíûå ÷èñëà¿
�åøåíèå 3�åé ïîäçàäà÷è, ãäå R = 10k
Ïóñòü d[i][j] � êîëè÷åñòâî èíòåðåñíûõ ÷èñåë èç i öè�ð,ïîñëåäíÿÿ öè�ðà êîòîðûõ ðàâíà j.
d[i][j] =
{
d[1][j] = 1 äëÿ âñåõ j
d[i][j] = sum(d[i− 1][k], k = 0 . . . j) äëÿ i > 1
Âû÷èñëåíèÿ íåîáõîäèìî ïðîèçâîäèòü ïî ìîäóëþ 109 + 7.
Ïðèìåð
1
Ïóñòü i = 3, j = 5.
2
Íàñ èíòåðåñóåò êîëè÷åñòâî èíòåðåñíûõ ÷èñåë âèäà ab5.
3
Âìåñòî ab ìîæíî ïîäñòàâëÿòü äâóçíà÷íûå èíòåðåñíûå
÷èñëà, êîòîðûå êîí÷àþòñÿ íà 0, 1, 2, 3, 4, 5 � ñóììèðóåì
èõ êîëè÷åñòâî.
17/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾Èíòåðåñíûå ÷èñëà¿
Ïîëíîå ðåøåíèå
Äëÿ óäîáñòâà ìîæíî ñäåëàòü ñëåäóþùåå (õîòÿ ìîæíî ðåøàòü è
áåç ýòîãî).
1
Åñëè R � íåèíòåðåñíîå ÷èñëî, òî çàìåíèì åãî íà
íàèáîëüøåå èíòåðåñíîå ÷èñëî < R.
2
Äëÿ ýòîãî íàéä¼ì â R ïåðâóþ ïîçèöèþ i, ãäåR[i] > R[i+ 1].
3
Óìåíüøèì R[i] íà 1, à âñå öè�ðû ïîñëå íå¼ çàìåíèì íà
äåâÿòêè.
4
Ïîñêîëüêó R[i] óìåíüøèëàñü íà 1, òî ýòà öè�ðà ìîæåò
ñòàòü ìåíüøå ïðåäûäóùåé � òîãäà íóæíî áóäåò ñäåëàòü òî
æå ñàìîå, è òàê íåñêîëüêî ðàç.
18/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾Èíòåðåñíûå ÷èñëà¿
Ïîëíîå ðåøåíèå
Ïðèìåð
Ïóñòü R = 24415
1
Âèäèì, ÷òî 1 > 4 � ìåíÿåì: R‘ = 24399.
2
Òåïåðü ñòàëî 3 > 4 � ïîâòîðÿåì åùå ðàç: R“ = 23999.
3
Ìû ïîëó÷èëè íàèáîëüøåå èíòåðåñíîå ÷èñëî ≤ R.
19/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾Èíòåðåñíûå ÷èñëà¿
Ïîëíîå ðåøåíèå
Åñëè R íå ÿâëÿåòñÿ ñòåïåíüþ 10, òî íå âñå èíòåðåñíûå
÷èñëà èç òàêîãî êîëè÷åñòâà öè�ð ïîäõîäÿò.
Åñëè ðàññìîòðåòü ïðå�èêñ èíòåðåñíîãî ÷èñëà è åñëè â íåì
åñòü õîòÿ áû îäíà öè�ðà, ìåíüøàÿ ñîîòâåòñòâóþùåé
öè�ðû â R, òî ïðîäîëæåíèå ìîæåò áûòü ëþáûì.
Ïðèìåð
Ïóñòü íàñ èíòåðåñóþò ÷èñëà T ñ ïðå�èêñîì 134.
T = 134xxxxx
R = 13677899
Òàê êàê 4 < 6, òî áóêâû x ìîæíî çàìåíèòü íà ëþáûå öè�ðû
≥ 4, èäóùèå â íåóáûâàþùåì ïîðÿäêå.
Ïóñòü íàñ èíòåðåñóþò ÷èñëà T ñ ïðå�èêñîì 135.
T = 135xxxxx
R = 13588899
Òàê êàê 5 = 5, òî òàê óæå äåëàòü íåëüçÿ � ìîæåì âûéòè çà R.20/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾Èíòåðåñíûå ÷èñëà¿
Ïîëíîå ðåøåíèå
1
Ïåðåáåðåì äëèíó îáùåãî ïðå�èêñà èíòåðåñíîãî ÷èñëà è R.Ïóñòü îíà ðàâíà k.
2
Äëÿ êàæäîãî çíà÷åíèÿ k çàïóñòèì îòäåëüíîå âû÷èñëåíèå
ìåòîäîì ÄÏ:
1
Ïóñòü d[i][j] � ïî�ïðåæíåìó êîëè÷åñòâî èíòåðåñíûõ ÷èñåë
èç i öè�ð, â êîòîðûõ ïîñëåäíÿÿ öè�ðà j.2
Äîáàâëÿåòñÿ óñëîâèå: ïåðâûå k öè�ð ïðå�èêñà ñîâïàäàþò
ñ ñîîòâåòñòâóþùèìè öè�ðàìè R, à ñëåäóþùàÿ öè�ðà �
ñòðîãî ìåíüøå.
3
Ôîðìóëà äëÿ ïåðåñ÷åòà íå ìåíÿåòñÿ, à íà÷àëüíûå çíà÷åíèÿ
ìåíÿþòñÿ:
d[k + 1][j] = 1 äëÿ òåõ j, êîòîðûå áîëüøå èëè ðàâíû k�éöè�ðå ÷èñëà R è ñòðîãî ìåíüøå åãî (k + 1)-é öè�ðû.
21/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾Èíòåðåñíûå ÷èñëà¿
Ïîëíîå ðåøåíèå
Ïðèìåð
Ïóñòü k = 3.T=135xxxxxR=13588899Ïåðâàÿ öè�ðà x ìîæåò áûòü òîëüêî 6 èëè 7, òî åñòü
d[3][6] = 1, d[3][7] = 1.Ïðèìå÷àíèå: ñëó÷àé, êîãäà ýòîò x ðàâåí 8, áóäåò àâòîìàòè÷åñêè
ïðè k = 4.
22/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
Âîïðîñû ïî çàäà÷å?
23/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾�àðìîíè÷íàÿ ïîñëåäîâàòåëüíîñòü¿
Ïóñòü x è y � äâà ïåðâûõ ÷ëåíà ïîñëåäîâàòåëüíîñòè.
Òîãäà ïîñëåäîâàòåëüíîñòü èìååò âèä:
x, y, (y − x),−x,−y, (x − y), x, y, . . .Äëèíà ïåðèîäà ðàâíà 6.
Íóæíî ìèíèìèçèðîâàòü �óíêöèþ:
|x− b1|+ |y − b2|+ |(y − x)− b3|+ | − x− b4|+ | − y− b5|+|(x− y)− b6|+ . . .Íåìíîãî ïðåîáðàçóåì å¼:
|x− b1|+ |y − b2|+ |(y − x)− b3|+ |x− (−b4)|+|y − (−b5)|+ |(y − x)− (−b6)|+ . . .
24/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾�àðìîíè÷íàÿ ïîñëåäîâàòåëüíîñòü¿
|x− b1|+ |y − b2|+ |(y − x)− b3|+ |x− (−b4)|+ |y − (−b5)|+|(y − x)− (−b6)|+ . . .
1
Òåïåðü âñå ñëàãàåìûå ìîæíî ðàçáèòü íà òðè ãðóïïû:
1
Âèäà |x− a|;2
Âèäà |y − b];3
Âèäà |(y − x)− c|
2
Ñîçäàäèì òðè îòäåëüíûõ ìàññèâà bx, by è byx äëÿ
õðàíåíèÿ çíà÷åíèé âû÷èòàåìûõ ýëåìåíòîâ â ýòèõ ãðóïïàõ,
è îòñîðòèðóåì èõ ïî âîçðàñòàíèþ.
25/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾�àðìîíè÷íàÿ ïîñëåäîâàòåëüíîñòü¿
Çàìåòèì, ÷òî �óíêöèÿ ÿâëÿåòñÿ âûïóêëîé âíèç è ïî x, è ïî y,òî åñòü èìååò îäèí ìèíèìóì.
Ýòî ìîæíî óâèäåòü, íàïðèìåð, èç òàêèõ ñîîáðàæåíèé:
1
Çà�èêñèðóåì êîíêðåòíîå x.
2
Òîãäà ñóììà ïî ïåðâîé ãðóïïå ïðåâðàòèòñÿ â êîíñòàíòó, à
âòîðàÿ è òðåòüÿ ãðóïïû ñîåäèíÿòñÿ â îäíó ñî ñëàãàåìûìè
âèäà |y − b|.
3
Îòñîðòèðóåì èõ ïî âîçðàñòàíèþ b:|y − b1|+ |y − b2|+ |y − b3|+ . . ., ãäå b1 ≤ b2 ≤ b3 ≤ . . ..
26/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾�àðìîíè÷íàÿ ïîñëåäîâàòåëüíîñòü¿
Êàê èçìåíèòñÿ çíà÷åíèå �óíêöèè ïðè óâåëè÷åíèè y íà 1?
Ïðèìåð: |y − 3|+ |y − 5|+ |y − 8|
27/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾�àðìîíè÷íàÿ ïîñëåäîâàòåëüíîñòü¿
1
Îáîçíà÷èì nLeft � êîëè÷åñòâî òî÷åê ñëåâà îò y, ànRight � êîëè÷åñòâî òî÷åê ñïðàâà îò y.
2 f(x, y + 1)− f(x, y) = nLeft− nRight.
3
Ïðè äâèæåíèè y ñëåâà íàïðàâî ñíà÷àëà nLeft < nRight,íî ñ íåêîòîðîãî ìîìåíòà ñòàíåò nLeft > nRight ⇒�óíêöèÿ ñíà÷àëà óáûâàåò, ïîòîì âîçðàñòàåò.
4
Äëÿ �èêñèðîâàííîãî y ðàññóæäåíèÿ áóäóò àíàëîãè÷íû.
28/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾�àðìîíè÷íàÿ ïîñëåäîâàòåëüíîñòü¿
Ñîîòâåòñòâåííî ìîæåì èñïîëüçîâàòü êàêîé-íèáóäü ÷èñëåííûé
ìåòîä îïòèìèçàöèè.
Íàïðèìåð:
Äâóìåðíûé òåðíàðíûé ïîèñê;
Ìåòîä ãðàäèåíòíîãî ñïóñêà;
Òàêîå ðåøåíèå ìîæåò íàáðàòü 100 áàëëîâ.
29/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾�àðìîíè÷íàÿ ïîñëåäîâàòåëüíîñòü¿
�åøåíèå ñ òåðíàðíûì ïîèñêîì
Îäíîìåðíûé òåðíàðíûé ïîèñê:
Ïóñòü �óíêöèÿ f(x) íà îòðåçêå [l, r] èìååò îäèí ìèíèìóì, è
íóæíî åãî íàéòè.
Àëãîðèòì:
1
Ïîñ÷èòàåì çíà÷åíèÿ �óíêöèè â òî÷êàõ
a = l + (r − l)/3, b = r − (r − l)/3.
2
Åñëè f(a) < f(b), òî àáñöèññà ìèíèìóìà ∈ [l, b], èíà÷å∈ [a, r].
3
Cóæàåì ãðàíèöû ïîèñêà è äàëüøå ïîâòîðÿåì àíàëîãè÷íî.
30/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾�àðìîíè÷íàÿ ïîñëåäîâàòåëüíîñòü¿
�åøåíèå ñ òåðíàðíûì ïîèñêîì
Äâóìåðíûé òåðíàðíûé ïîèñê � ïðîñòî äâà âëîæåííûõ
îäíîìåðíûõ òåðíàðíûõ ïîèñêà.
Çíà÷åíèå x èùåò ¾âíåøíèé¿ òåðíàðíûé ïîèñê.
Ïðè êàæäîì �èêñèðîâàííîì x çàäà÷à ïðåâðàùàåòñÿ â
îäíîìåðíóþ, è çíà÷åíèå y èùåò ¾âíóòðåííèé¿ òåðíàðíûé
ïîèñê.
�ðàíèöû ïîèñêà: îò −2× 109 äî 2× 109.
31/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾�àðìîíè÷íàÿ ïîñëåäîâàòåëüíîñòü¿
Áûñòðîå âû÷èñëåíèå �óíêöèè f â òî÷êå (x, y)
Ìîæíî âîñïîëüçîâàòüñÿ ïðå�èêñíûìè è ñó��èêñíûìè
ñóììàìè.
Ìàññèâ ïðå�èêñíûõ ñóìì äëÿ íåêîòîðîãî ìàññèâà v
óñòðîåí òàê:
pref[i℄ = v[0℄ + v[1℄ + . . . + v[i℄
Åãî íåñëîæíî ïîñòðîèòü çà ëèíåéíîå âðåìÿ.
Àíàëîãè÷íî, ìàññèâ ñó��èêñíûõ ñóìì:
suf[i℄ = v[i℄ + v[i + 1℄ + . . . + v[n℄.
32/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾�àðìîíè÷íàÿ ïîñëåäîâàòåëüíîñòü¿
Áûñòðîå âû÷èñëåíèå �óíêöèè f â òî÷êå (x, y)
×òîáû íàéòè ñóììó ïî ïåðâîé ãðóïïå, èùåì äâîè÷íûì
ïîèñêîì â bx òàêóþ ïîçèöèþ pos, ÷òî ñëåâà âñåì ýëåìåíòû
< x, ñïðàâà � ≥ x.
Sum = x ∗ pos−pref[pos - 1℄ +suf[pos℄−x ∗ (bx.size()− pos).
×àñòíûå ñëó÷àè: âñå ýëåìåíòû ìåíüøå x, âñå áîëüøå x.
Ïî îñòàëüíûì äâóì ãðóïïàì � àíàëîãè÷íî.
33/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
¾�àðìîíè÷íàÿ ïîñëåäîâàòåëüíîñòü¿
Ñóùåñòâóþò è äðóãèå ðåøåíèÿ äàííîé çàäà÷è, êîòîðûå
îïèðàþòñÿ íà ñëåäóþùèé �àêò:
Ñóùåñòâóåò ïàðà (x, y), êîòîðàÿ ìèíèìèçèðóåò ñóììó ìîäóëåé,
òàêàÿ, ÷òî êàê ìèíèìóì â äâóõ èç òðåõ ãðóïï çíà÷åíèÿ õîòÿ áû
îäíîãî ìîäóëÿ ðàâíû íóëþ.
�åøåíèå çà O(n3):
1
Çà�èêñèðóåì äâå èç òðåõ ãðóïï.
2
Ïåðåáåðåì, êàêèå èìåííî ìîäóëè ðàâíû íóëþ, ïîëó÷èâ òåì
ñàìûì x è y, âîññòàíîâèì ïîñëåäîâàòåëüíîñòü, îáíîâèì
îòâåò.
�åøåíèå çà O(n2 log n):
1
Çà�èêñèðóåì äâå èç òðåõ ãðóïï, ïåðåáåðåì, êàêèå èìåííî
ìîäóëè ðàâíû íóëþ, ïîëó÷èâ òåì ñàìûì x è y.
2
Cîñ÷èòàåì çíà÷åíèå �óíêöèè ñ ïîìîùüþ ïðå�èêñíûõ è
ñó��èêñíûõ ñóìì è îáíîâèì îòâåò.
34/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
Âîïðîñû ïî çàäà÷å?
35/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷
Çàêëþ÷åíèå
Ñïàñèáî çà âíèìàíèå!
36/36 Âñåðîññèéñêàÿ îëèìïèàäà øêîëüíèêîâ ïî èí�îðìàòèêå �åãèîíàëüíûé ýòàï, II òóð�àçáîð çàäà÷