#15645: 關於這題的時間


rollfc (胖胖貓)

學校 : 國立清華大學
編號 : 81012
來源 : [36.229.42.175]
最後登入時間 :
2024-11-18 13:03:08
d664. 11725 - Colorful Board -- UVa11725 | From: [114.34.219.44] | 發表日期 : 2018-10-18 07:41

各位高手大大, 這題應該是標準的狀態壓縮動態規劃解

我自己是一個Row一個Row的去核對上下的關係 時間是1.6s

因為有每格有5種狀態(不塗色+4種顏色), 所以不斷地在核對狀態時做對5做計算(對5取餘數或是除以5)

想問一下時間可以壓在很短的大大們都是怎麼做的@@?

我目前只想到兩種可能性

一種是取邊長較短的作為狀態部分的窮舉

另一種是因為對5做計算耗費的時間比較多所以把描述狀態單位改為8 方便二進化計算(但這樣狀態的那個維度陣列會很大吧?)

 

 
#16279: Re:關於這題的時間


rollfc (胖胖貓)

學校 : 國立清華大學
編號 : 81012
來源 : [36.229.42.175]
最後登入時間 :
2024-11-18 13:03:08
d664. 11725 - Colorful Board -- UVa11725 | From: [114.34.219.44] | 發表日期 : 2018-12-15 03:55

我自己回應做個紀念好了....(好孤單OAQ)

不要根據現在Row的狀態去匹配全部的合法狀態

而是根據現在Row的狀態同時產生上面一個Row合法的狀態累加過去

否則 TIOJ 的 1908 . 大根蘿蔔 無法在時間內通過

只是時間還是無法壓到 28ms 那麼厲害...

 
 
ZeroJudge Forum