11012: comsic cabbages

3
1 11012: Comsic Cabbages ★★★★☆ 題題Problem Set Archive with Online Judge 題題11012: The 3n+1 Problem 題題題王王王 題題題題2007 王 4 王 10 王 題題王王Case 王王 N (0<N<21) 王王 王 ,一 Case 王王 n 王王王王 王 (2<=n<=10^5) 王王王王王王王 -10^8~10^8 王王王王 王王 Case 王王王王王王王王王王王王王王王王王a(1,2,3) 王 b(2,1,4) 王王王王 |2-1|+|1-2|+|4- 3|=3

Upload: otto-merrill

Post on 31-Dec-2015

15 views

Category:

Documents


0 download

DESCRIPTION

11012: Comsic Cabbages. ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 1 1012: The 3n+1 Problem 解題者: 王嘉偉 解題日期: 200 7 年 4 月 10 日 題意: 給定一 Case 數量 N (0

TRANSCRIPT

Page 1: 11012: Comsic Cabbages

1

11012: Comsic Cabbages ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11012: The 3n+1 Problem 解題者:王嘉偉 解題日期: 2007 年 4 月 10 日 題意: 給定一 Case 數量 N (0<N<21) ,每一個 Case 包含 n 個

三維座標 (2<=n<=10^5) ,座標點的值介於 -10^8~10^8且為整數,求各個 Case 所有點中任兩點最大的距離。

距離的算法: a(1,2,3) 與 b(2,1,4) 的距離為 |2-1|+|1-2|+|4-3|=3

Page 2: 11012: Comsic Cabbages

2

題意範例: 1 4 0 1 2 3 4 5 6 7 8 9 10 11 Case #1: 27 解法:數學分析 循序搜尋 解法範例: 由題意可推得所求為 |Xi-Xj|+|Yi-Yj|+|Zi-Zj| 的最大值,去掉三個

絕對直需要考量的情形共有八種 : +++ , ++- , +-+ , -++ etc… , 拆去絕對直整理之後便可得所

需要的座標性質。 Ex : 三個絕對值為 ++- 之情形 , 拆去絕對值符號後可整理成 (Xi+Yi-Zi) + (Zj-Xj-Yj) 要求此式的最大值,只需去搜尋座標值

X+Y-Z 最大之點及 Z-X-Y 最大之點算出其距離便是此情形下最佳解。

求出各情形的最佳解後,再取出數值最大 ( 即距離最大 ) 之解。

Page 3: 11012: Comsic Cabbages

3

討論: 雖然絕對值拆除可能產生八種情形,但有些情況

是重複的不需再次計算。 Ex: ++- 與 --+ 拆解後為 (Xi+Yi-Zi) + (Zj-Yj-Xj) 與 (Xj+Yj-Zj) + (Zi-Yi-Xi)

i,j 僅是符號代表,實為兩種同樣的情形,故應掃描的情形僅為 4 種。

輸入座標需要一個 n 次迴圈, 4 個情形各需掃描 n個座標點,故時間複雜度為 O(n) 。