BTS

o62_may07_bts

สมมติโดยไม่เสียนัยสำคัญให้ A<BA< B

สมมติด้วยว่าเราไม่สามารถสับเปลี่ยนราคาถนนของหน่วยงาน ABC ได้

พิจารณา cycle CC ใด ๆ ของกราฟ GG จะมี minimum spanning tree TT ที่ไม่มีเส้นเชื่อมที่มีมูลค่ามากที่สุดใน CC เพื่อที่จะทำให้เส้นเชื่อม BTS ของเราโดนเลือกแน่ ๆ จะจึงต้องตั้งราคาให้น้อยกว่าทุกเส้น ๆ ของ ABC ที่ "คลุม" เส้นเชื่อมนั้น ๆ ดังนั้นถ้าเราไม่สามารถสับเปลี่ยนราคาได้ เราก็สามารถคำนวณคำตอบได้ทันที

จากนี้เราจะได้อีกว่า ถ้ามีถนน ABC ที่มีค่าน้อยกว่าหรือเท่ากับ AA จะไม่มีทางทำได้เสมอ เพราะจะมีเส้นหนึ่งของ ABC ที่เราไม่สามารถบังคับไม่ให้อยู่ใน MST ได้

ดังนั้นจะเหลือแค่เคสที่เส้นของ ABC มีค่า >A> A เท่านั้น

คราวนี้มาลองพิจารณากรณีที่ราคาของ ABC สับเปลี่ยนได้ สังเกตต่อไปอีกว่ามูลค่าของเส้นเชื่อมนั้นไม่สำคัญ สำคัญแค่ว่ามัน >B> B หรือไม่ ขอเรียกเส้นที่มีมูลค่า >B> B ว่าแบบที่ 1 และแบบที่มีมูลค่า B\leq B เป็นที่ 2

สมมติว่ามีเส้นแบบที่ 2 ทั้งหมด kk เส้น สังเกตอีกว่า เพื่อที่จะรับประกันว่า BTS ถูกเลือกทั้งหมด ทุก ๆ เส้น BTS ที่โดนเส้นแบบที่ 2 คลุม จะต้องมีมูลค่าเป็น AA ทั้งหมด ดังนั้นเราควรจะ minimize พื้นที่ที่ถูกคลุมโดยเส้นแบบที่ 2 เพื่อที่จะได้คำตอบที่ดีที่สุด

โจทย์ของเราจึงกลายเป็น ให้ช่วงมา MM ช่วง ให้เลือกมาทั้งหมด kk ช่วงโดยที่ union ของพื้นที่ที่เลือกนั้นมีค่าน้อยที่สุด ซึ่งสามารถคำนวณได้ใน O(NMk)\mathcal{O}(NMk) โดย dynamic programming เมื่อ NN คือจำนวนช่วงทั้งหมดที่เราจะพิจารณา (ก็คือจำนวนเส้นเชื่อม BTS นั่นเอง)