SlideShare a Scribd company logo
1 of 9
IOI 2016 Эхний өдрийн
“Молекул” бодлогын
бодолт
А. Хүдэр
ШУТИС-ийн МХТС-ийн КУ-ы салбарын дэд профессор
2/13/2017
Хуваалт
𝑤0, 𝑤1, ⋯ , 𝑤 𝑛−1 гэсэн бүх молекулуудын нийт жинг 𝑊 гэж тэмдэглээд уг
бодлогыг дараах гурван нөхцөлд салган авч үзье:
 𝑊 < 𝑙
 𝑙 ≤ 𝑊 ≤ 𝑢
 𝑢 < 𝑊
2/13/2017
𝑊 < 𝑙
Энэ тохиолдолд бүх молекулуудын
жинг нийлүүлээд ч илрүүлэлтийн
завсарт хүрэхгүй байгаа тул
бодлогын нөхцлийг хангасан дэд
олонлог байхгүй гэдгийг тодорхойлж
програмыг дуусгана.
2/13/2017
𝑙 ≤ 𝑊 ≤ 𝑢
Энэ тохиолдолд бодлогын нөхцлийг
хангасан дэд олонлог нь бүх
молекулуудыг бүгдийг нь агуулсан
олонлог байх тул уг дэд олонлогийг
олж програмыг дуусгана.
2/13/2017
𝑢 < 𝑊
 Энэ тохиолдолд хэсэг молекулуудын нийт
жин илрүүлэлтийн завсар байх боломжтой
байна. Гэхдээ молекулуудын бүх
боломжит дэд олонлогууд дахь нийт
жингүүдийн утгуудаас нэг нь ч
илрүүлэлтийн завсарт орохгүй тохиолдол
байж болохыг анхаараарай. Энд дараах
алгоритмыг хэрэглэнэ:
2/13/2017
Үндсэн алгоритм
 Молекулуудын жинг өсөхөөр эрэмбэлж 𝑎0, 𝑎1, ⋯ , 𝑎 𝑛−1 дарааллыг
гарган авъя.
 𝑎 дарааллын эхэнд байрлах, гишүүдийн нийлбэр нь 𝑢-гаас
хэтрэхгүй байх, хамгийн урт, тасралтгүй 𝑎0 + 𝑎1 + ⋯ +𝑎 𝑘−1 дэд
дарааллыг олъё (олдсон дэд дарааллын урт нь 𝑘 болно). Өөрөөр
хэлбэл 𝑘 нь 𝑎0 + 𝑎1 + ⋯ +𝑎 𝑘−1 ≤ 𝑢 ба 𝑎0 + 𝑎1 + ⋯ +𝑎 𝑘 > 𝑢
нөхцлүүдийг зэрэг хангах тоо байна гэсэн үг юм.
 𝑎0 + 𝑎1 + ⋯ +𝑎 𝑘−1 дэд дарааллын элементүүдийн нийлбэрийг олж
А гэж тэмдэглээд дараах хоёр тохиолдлыг авч үзнэ (дэд дарааллыг
үүсгэсэн нөхцлийн дагуу түүний гишүүдийн нийлбэр нь 𝑢-гаас
хэтрэхээргүй байна):
2/13/2017
𝑙 ≤ 𝐴
Энэ тохиолдолд дэд дараалал нь
бодлогын нөхцлийг хангасан шийд
болох тул програмыг дуусгана.
2/13/2017
𝐴 < 𝑙
1. Хэрэв дэд дарааллын сүүлийн элемент нь 𝑎 дарааллын сүүлийн элементтэй
давхцсан бол бодлогын нөхцлийг хангасан дэд олонлог байхгүй гэдгийг
тодорхойлж програмыг дуусгана.
2. Дэд дарааллыг дараах хувиргалтаар өөрчилнө:
“дэд дарааллаас хамгийн бага элементийг нь хасч, дараалалд хамгийн их
элементийн ард байгаа тоог авч дэд дараалалд нэмнэ”
Ийм үйлдлийн дараа дэд дарааллын бүх элементүүдийн нийлбэр болох А тоо нь
өсөх боловч энэ өсөлт нь [𝑙, 𝑢] интервал дээгүүр “алхаж” гарахаар том байж
чадахгүй. Учир нь бодлогын өгүүлбэрт:
𝑢 – 𝑙 ≥ 𝑤 𝑚𝑎𝑥
– 𝑤 𝑚𝑖𝑛
гэсэн нөхцөл байгаа.
3. Хэрэв 𝐴 < 𝑙 нөхцлийг шалгаад үнэн бол III.3.II.1 алхам руу буцна. Худал бол
дэд дараалал бодлогын нөхцлийг хангасан гэж үзээд програмыг дуусгана.
2/13/2017
Дүгнэлт
 Алгоритмын III.3.II.2 алхамд хийгдэж байгаа хувиргалт нь “хоёр заагчийн
арга” (two pointers) гэж нэрлэгдэх оновчлолын арга юм.
 Уг алгоритм үнэн зөв ажиллана гэдгийг юмсын цагаан толгойн дарааллын
тухай ойлголтыг ашиглан баталж болох ба баталгааг болон Си хэл дээрх
програмыг энэ жил гарах “Мэдээлэлзүйн олимпиадад бэлтгэгчдэд
тусламж” номноос үзээрэй.
 Уг алгоритм нь 100 онооны бодолт ба дараа жилийн IOI-д оролцогчдод
зориулан гаргав (2016 оны 4 оролцогч тус бүр 46, 9, 46, 19 гэсэн оноонууд
авсан болно)
2/13/2017

More Related Content

Viewers also liked

цахим тест
цахим тест цахим тест
цахим тест tsoogii25
 
u.cs101 "Алгоритм ба програмчлал" Лекц №6
u.cs101 "Алгоритм ба програмчлал" Лекц №6u.cs101 "Алгоритм ба програмчлал" Лекц №6
u.cs101 "Алгоритм ба програмчлал" Лекц №6Khuder Altangerel
 
PCR- "Полимеразын гинжин урвал’’
PCR- "Полимеразын гинжин урвал’’PCR- "Полимеразын гинжин урвал’’
PCR- "Полимеразын гинжин урвал’’Hulan Gantumur
 
хавсаргын тогтолцоо шинэ
хавсаргын тогтолцоо шинэхавсаргын тогтолцоо шинэ
хавсаргын тогтолцоо шинэdulmaa munkhbat
 
u.cs101 "Алгоритм ба програмчлал" Лекц №3
u.cs101 "Алгоритм ба програмчлал" Лекц №3u.cs101 "Алгоритм ба програмчлал" Лекц №3
u.cs101 "Алгоритм ба програмчлал" Лекц №3Khuder Altangerel
 
электрофорезийн арга
электрофорезийн аргаэлектрофорезийн арга
электрофорезийн аргаOyuka Oyu
 
хэрэглэгдэхүүн цахилгаан
хэрэглэгдэхүүн цахилгаанхэрэглэгдэхүүн цахилгаан
хэрэглэгдэхүүн цахилгаанenhktsetseg-79
 
Гудамж төсөл
Гудамж төсөлГудамж төсөл
Гудамж төсөлAN Buleg
 
цахилгаан
цахилгаан цахилгаан
цахилгаан hoianseku
 
u.cs101 "Алгоритм ба програмчлал" Лекц №2
u.cs101 "Алгоритм ба програмчлал" Лекц №2u.cs101 "Алгоритм ба програмчлал" Лекц №2
u.cs101 "Алгоритм ба програмчлал" Лекц №2Khuder Altangerel
 
Tailan
TailanTailan
Tailanhenjii
 
химийн тэнцвэр ба термодинамик үндэслэл
химийн тэнцвэр ба термодинамик үндэслэлхимийн тэнцвэр ба термодинамик үндэслэл
химийн тэнцвэр ба термодинамик үндэслэлdavaa627
 
2008 оны элсэлтийн шалгалтын сэдвээс заримынх нь бодолтыг танилцуулж байна
2008 оны элсэлтийн шалгалтын сэдвээс заримынх нь бодолтыг танилцуулж байна2008 оны элсэлтийн шалгалтын сэдвээс заримынх нь бодолтыг танилцуулж байна
2008 оны элсэлтийн шалгалтын сэдвээс заримынх нь бодолтыг танилцуулж байнаAbirmed Tumurchudur
 
Гүйцэтгэсэн ажлын тайлан бичих Tailan bichih
Гүйцэтгэсэн ажлын тайлан бичих Tailan bichihГүйцэтгэсэн ажлын тайлан бичих Tailan bichih
Гүйцэтгэсэн ажлын тайлан бичих Tailan bichihGantulga Dashdondov
 

Viewers also liked (20)

цахим тест
цахим тест цахим тест
цахим тест
 
u.cs101 "Алгоритм ба програмчлал" Лекц №6
u.cs101 "Алгоритм ба програмчлал" Лекц №6u.cs101 "Алгоритм ба програмчлал" Лекц №6
u.cs101 "Алгоритм ба програмчлал" Лекц №6
 
ELISA
ELISAELISA
ELISA
 
PCR- "Полимеразын гинжин урвал’’
PCR- "Полимеразын гинжин урвал’’PCR- "Полимеразын гинжин урвал’’
PCR- "Полимеразын гинжин урвал’’
 
Computer zagwarchlal
Computer zagwarchlalComputer zagwarchlal
Computer zagwarchlal
 
хавсаргын тогтолцоо шинэ
хавсаргын тогтолцоо шинэхавсаргын тогтолцоо шинэ
хавсаргын тогтолцоо шинэ
 
u.cs101 "Алгоритм ба програмчлал" Лекц №3
u.cs101 "Алгоритм ба програмчлал" Лекц №3u.cs101 "Алгоритм ба програмчлал" Лекц №3
u.cs101 "Алгоритм ба програмчлал" Лекц №3
 
PCR shinjilgee
PCR shinjilgeePCR shinjilgee
PCR shinjilgee
 
электрофорезийн арга
электрофорезийн аргаэлектрофорезийн арга
электрофорезийн арга
 
хэрэглэгдэхүүн цахилгаан
хэрэглэгдэхүүн цахилгаанхэрэглэгдэхүүн цахилгаан
хэрэглэгдэхүүн цахилгаан
 
Гудамж төсөл
Гудамж төсөлГудамж төсөл
Гудамж төсөл
 
цахилгаан
цахилгаан цахилгаан
цахилгаан
 
u.cs101 "Алгоритм ба програмчлал" Лекц №2
u.cs101 "Алгоритм ба програмчлал" Лекц №2u.cs101 "Алгоритм ба програмчлал" Лекц №2
u.cs101 "Алгоритм ба програмчлал" Лекц №2
 
төсөл
төсөлтөсөл
төсөл
 
Tailan
TailanTailan
Tailan
 
Immunology
ImmunologyImmunology
Immunology
 
химийн тэнцвэр ба термодинамик үндэслэл
химийн тэнцвэр ба термодинамик үндэслэлхимийн тэнцвэр ба термодинамик үндэслэл
химийн тэнцвэр ба термодинамик үндэслэл
 
2008 оны элсэлтийн шалгалтын сэдвээс заримынх нь бодолтыг танилцуулж байна
2008 оны элсэлтийн шалгалтын сэдвээс заримынх нь бодолтыг танилцуулж байна2008 оны элсэлтийн шалгалтын сэдвээс заримынх нь бодолтыг танилцуулж байна
2008 оны элсэлтийн шалгалтын сэдвээс заримынх нь бодолтыг танилцуулж байна
 
Гүйцэтгэсэн ажлын тайлан бичих Tailan bichih
Гүйцэтгэсэн ажлын тайлан бичих Tailan bichihГүйцэтгэсэн ажлын тайлан бичих Tailan bichih
Гүйцэтгэсэн ажлын тайлан бичих Tailan bichih
 
Lec01introduction
Lec01introductionLec01introduction
Lec01introduction
 

More from Khuder Altangerel

More from Khuder Altangerel (18)

Lec08 readerwriter
Lec08 readerwriterLec08 readerwriter
Lec08 readerwriter
 
Lec05 cooperating (1)
Lec05 cooperating (1)Lec05 cooperating (1)
Lec05 cooperating (1)
 
Lec16 io
Lec16 ioLec16 io
Lec16 io
 
Lec07 exclusion
Lec07 exclusionLec07 exclusion
Lec07 exclusion
 
Lec15 pagereplace last
Lec15 pagereplace lastLec15 pagereplace last
Lec15 pagereplace last
 
Lec14 demandpage
Lec14 demandpageLec14 demandpage
Lec14 demandpage
 
Lec13 cachetlb
Lec13 cachetlbLec13 cachetlb
Lec13 cachetlb
 
Lec12 translation
Lec12 translationLec12 translation
Lec12 translation
 
Lec11 protection
Lec11 protectionLec11 protection
Lec11 protection
 
Lec10 scheduling
Lec10 schedulingLec10 scheduling
Lec10 scheduling
 
Lec09 deadlock
Lec09 deadlockLec09 deadlock
Lec09 deadlock
 
Lec06 synchronization
Lec06 synchronizationLec06 synchronization
Lec06 synchronization
 
Lec04 threads
Lec04 threadsLec04 threads
Lec04 threads
 
Lec03 concurrency (2)
Lec03 concurrency (2)Lec03 concurrency (2)
Lec03 concurrency (2)
 
Lec02 structures (2)
Lec02 structures (2)Lec02 structures (2)
Lec02 structures (2)
 
Lec01 intro (1) (2)
Lec01 intro (1) (2)Lec01 intro (1) (2)
Lec01 intro (1) (2)
 
МХТ-ийн мэргэжилд шаардагдах гадаад хэлний чадвар
МХТ-ийн мэргэжилд шаардагдах гадаад хэлний чадварМХТ-ийн мэргэжилд шаардагдах гадаад хэлний чадвар
МХТ-ийн мэргэжилд шаардагдах гадаад хэлний чадвар
 
u.cs101 "Алгоритм ба програмчлал" Лекц №7
u.cs101 "Алгоритм ба програмчлал" Лекц №7u.cs101 "Алгоритм ба програмчлал" Лекц №7
u.cs101 "Алгоритм ба програмчлал" Лекц №7
 

IOI 2016 "Молекул" бодлогын бодолт

  • 1. IOI 2016 Эхний өдрийн “Молекул” бодлогын бодолт А. Хүдэр ШУТИС-ийн МХТС-ийн КУ-ы салбарын дэд профессор 2/13/2017
  • 2. Хуваалт 𝑤0, 𝑤1, ⋯ , 𝑤 𝑛−1 гэсэн бүх молекулуудын нийт жинг 𝑊 гэж тэмдэглээд уг бодлогыг дараах гурван нөхцөлд салган авч үзье:  𝑊 < 𝑙  𝑙 ≤ 𝑊 ≤ 𝑢  𝑢 < 𝑊 2/13/2017
  • 3. 𝑊 < 𝑙 Энэ тохиолдолд бүх молекулуудын жинг нийлүүлээд ч илрүүлэлтийн завсарт хүрэхгүй байгаа тул бодлогын нөхцлийг хангасан дэд олонлог байхгүй гэдгийг тодорхойлж програмыг дуусгана. 2/13/2017
  • 4. 𝑙 ≤ 𝑊 ≤ 𝑢 Энэ тохиолдолд бодлогын нөхцлийг хангасан дэд олонлог нь бүх молекулуудыг бүгдийг нь агуулсан олонлог байх тул уг дэд олонлогийг олж програмыг дуусгана. 2/13/2017
  • 5. 𝑢 < 𝑊  Энэ тохиолдолд хэсэг молекулуудын нийт жин илрүүлэлтийн завсар байх боломжтой байна. Гэхдээ молекулуудын бүх боломжит дэд олонлогууд дахь нийт жингүүдийн утгуудаас нэг нь ч илрүүлэлтийн завсарт орохгүй тохиолдол байж болохыг анхаараарай. Энд дараах алгоритмыг хэрэглэнэ: 2/13/2017
  • 6. Үндсэн алгоритм  Молекулуудын жинг өсөхөөр эрэмбэлж 𝑎0, 𝑎1, ⋯ , 𝑎 𝑛−1 дарааллыг гарган авъя.  𝑎 дарааллын эхэнд байрлах, гишүүдийн нийлбэр нь 𝑢-гаас хэтрэхгүй байх, хамгийн урт, тасралтгүй 𝑎0 + 𝑎1 + ⋯ +𝑎 𝑘−1 дэд дарааллыг олъё (олдсон дэд дарааллын урт нь 𝑘 болно). Өөрөөр хэлбэл 𝑘 нь 𝑎0 + 𝑎1 + ⋯ +𝑎 𝑘−1 ≤ 𝑢 ба 𝑎0 + 𝑎1 + ⋯ +𝑎 𝑘 > 𝑢 нөхцлүүдийг зэрэг хангах тоо байна гэсэн үг юм.  𝑎0 + 𝑎1 + ⋯ +𝑎 𝑘−1 дэд дарааллын элементүүдийн нийлбэрийг олж А гэж тэмдэглээд дараах хоёр тохиолдлыг авч үзнэ (дэд дарааллыг үүсгэсэн нөхцлийн дагуу түүний гишүүдийн нийлбэр нь 𝑢-гаас хэтрэхээргүй байна): 2/13/2017
  • 7. 𝑙 ≤ 𝐴 Энэ тохиолдолд дэд дараалал нь бодлогын нөхцлийг хангасан шийд болох тул програмыг дуусгана. 2/13/2017
  • 8. 𝐴 < 𝑙 1. Хэрэв дэд дарааллын сүүлийн элемент нь 𝑎 дарааллын сүүлийн элементтэй давхцсан бол бодлогын нөхцлийг хангасан дэд олонлог байхгүй гэдгийг тодорхойлж програмыг дуусгана. 2. Дэд дарааллыг дараах хувиргалтаар өөрчилнө: “дэд дарааллаас хамгийн бага элементийг нь хасч, дараалалд хамгийн их элементийн ард байгаа тоог авч дэд дараалалд нэмнэ” Ийм үйлдлийн дараа дэд дарааллын бүх элементүүдийн нийлбэр болох А тоо нь өсөх боловч энэ өсөлт нь [𝑙, 𝑢] интервал дээгүүр “алхаж” гарахаар том байж чадахгүй. Учир нь бодлогын өгүүлбэрт: 𝑢 – 𝑙 ≥ 𝑤 𝑚𝑎𝑥 – 𝑤 𝑚𝑖𝑛 гэсэн нөхцөл байгаа. 3. Хэрэв 𝐴 < 𝑙 нөхцлийг шалгаад үнэн бол III.3.II.1 алхам руу буцна. Худал бол дэд дараалал бодлогын нөхцлийг хангасан гэж үзээд програмыг дуусгана. 2/13/2017
  • 9. Дүгнэлт  Алгоритмын III.3.II.2 алхамд хийгдэж байгаа хувиргалт нь “хоёр заагчийн арга” (two pointers) гэж нэрлэгдэх оновчлолын арга юм.  Уг алгоритм үнэн зөв ажиллана гэдгийг юмсын цагаан толгойн дарааллын тухай ойлголтыг ашиглан баталж болох ба баталгааг болон Си хэл дээрх програмыг энэ жил гарах “Мэдээлэлзүйн олимпиадад бэлтгэгчдэд тусламж” номноос үзээрэй.  Уг алгоритм нь 100 онооны бодолт ба дараа жилийн IOI-д оролцогчдод зориулан гаргав (2016 оны 4 оролцогч тус бүр 46, 9, 46, 19 гэсэн оноонууд авсан болно) 2/13/2017