題意﹕給了一個

點
}{2})
邊的圖,每點

賦一個數值

,每條邊
)
給了
)
,分別代表了
, L_e=\text{lcm}(V_x, V_y))
。現在只給了每條邊上的
)
,問是否能找

到滿足這些邊上的數值的條件。若存在解則輸出任意一組答案。保証

。
比賽寫了一些錯的東西,因為最初以為正確的做法會很慢………
首先,在每一個連通子圖任意選一點

,然後任選一條連接

的邊

,先求因式分解

。而

也必然是

。因此

有

取值,而且

。因此選定

後這連通子圖的其他點的值則可以經DFS用

求得。
注意DFS時須要檢查取值是否正確的﹕若在一點

為一未經過的點

賦值,則必需檢查

。若

已賦值則需檢查

且
 = G_e)
。
整個算法時間複雜度是
))
。
另,注意檢查時小心溢出,即

,需要用到64位整數。
沒有留言:
張貼留言