Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 11411: Problem A : MiniMice ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11411: Problem A : MiniMice 解題者:李重儀 解題日期: 2008 年 9 月 3 日 題意:簡單的說,題目中每一隻老鼠有一個編號.

Similar presentations


Presentation on theme: "1 11411: Problem A : MiniMice ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11411: Problem A : MiniMice 解題者:李重儀 解題日期: 2008 年 9 月 3 日 題意:簡單的說,題目中每一隻老鼠有一個編號."— Presentation transcript:

1 1 11411: Problem A : MiniMice ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11411: Problem A : MiniMice 解題者:李重儀 解題日期: 2008 年 9 月 3 日 題意:簡單的說,題目中每一隻老鼠有一個編號 (ID) ,而兩個老鼠之間的討厭程度為他們編號數 字的因數個數的差值的絕對值。想要將一個 group 的老鼠 ( 編號從 a 到 b) ,排成環狀,將他們之 間的最大討厭程度最小化,最小化的結果是多少? (1<=a<=4999999,a<b<=5000000)

2 2 題意範例: 如編號 15 和 4 兩隻老鼠的討厭程度值 : 15 的因數有 1,3,5,15 共 4 個 4 的因數有 1,2,4 共 3 個 所以討厭程度為 1 如果要求 a=10 b=15 的解 10,11,12,13,14,15 的因數個數分別是 4,2,6,2,4,4 如果直接以原本的順序來排成環狀,最大的討厭 程度是 4 ,但如果以 11,10,12,14,15,13 這樣的順序 來排,最大的討厭程度是 2 ,剛好就是最小值。

3 3 解法: 首先先找出在要求範圍內每個數字的因數個數,將因數 個數排序。將那一串數字一上一下排列串成環狀後數字 的順序就是所要的順序。 解法範例: a=10,b=15 原編號數字 :10,11,12,13,14,15 因數個數 :4,2,6,2,4,4 排序後 :2,2,4,4,4,6 接著按照上面的規則 所以最後的最大討厭程度是 2( 只需看所有鄰近的兩個數 字的差值之絕對值的最大值即可 ) 2 2 4 4 4 6

4 4 討論: 由於要排序時的數字可能非常多,但是實 際上 1~5000000 之間的數字最大的因數個數 是 384 並不大,所以可以使用 counting sort 的技巧而不應直接使用 qsort() 函式來排序。


Download ppt "1 11411: Problem A : MiniMice ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11411: Problem A : MiniMice 解題者:李重儀 解題日期: 2008 年 9 月 3 日 題意:簡單的說,題目中每一隻老鼠有一個編號."

Similar presentations


Ads by Google