看板 ACMCLUB 關於我們 聯絡資訊
※ 引述《sophialiege (爬回來了)》之銘言: : 請問一下學長,Problem G該怎麼做? 感覺起來這題應該是怕前面題目被破台才擺的 我猜如果不是出題的人剛 K 過 paper 就是他正在研究的東西 這種性質的題目可難可簡單 因為其實 solution 也不見得好寫 如果 solution 好寫, test data 也不見得好出 :p 以上是下賊上之心... : 我當初的想法是 : 方案一 : 先用一些gcd充分條件排掉一些不可能的解 : 接下來,隨機灑點,看看是否存在"可能"非必要的Expression : 方案二 : 用N-space的Convex Hull來解,不過很怕求點上precision的問題產生 : 方案三 : 用高斯消去法,依結果分析,不過初判是不可行 : 之前沒接觸過這類型的題目,覺得很生疏,不知道是不是有Reference可以讀? 我是比較傾向用它題目上的定義的方法來想 舉個例子來說吧, 原本題目給的像是這樣的東西: 2x + 3y + z <= 5 5x + y + 2z <= 7 9x + 7y + 4z <= 30 那麼 2 ( 2x + 3y + z ) + ( 5x + y + 2z ) = 9x + 7y + 4z 但前者可推得前者 <= 17, 因而一聯立起來, 第三式就無效了 但是今天可能給的式子是這樣: 2x + 3y + z <= 5 5x + y + 2z <= 7 9x + 7y + 5z <= 30 也就是說這三個方程式並非線性相依的 這時候前兩個平面截出來的區域無論在哪個 "卦限" 都會和第三個切平面相交, 所以第三個切平面是不能省去的 而在下面這個例子 2x + 3y + z <= 5 5x + y + 2z <= 7 9x + 7y + 4z <= 30 9x + 7y + 5z <= 30 式三 9x + 7y + 4z <= 30 被剔除和式四無關 完全是因為和前兩式的線性相依之後再經比較被剔除的 所以我做了這樣的猜想: 是否被剔除的方程式的 "法向量" 得要是 1. 和其它某幾個線性相依的 2. 範圍要被其它幾個線性相依所累算出來的範圍包含 其中 1. 的線性相依要符合題述的 c1, c2, ... ck > 0 如此題目就簡化成 尋找方程式係數 (x1, y1, z1, w1, ...), (x2, y2, z2, w2, ...), ... 是否存在線性相依的關係, 如果有, 那麼那些就是 candidate 至於給定 vector, 要確定是否有線性相依的關係 還得要符合要是正的係數的話... 好像得要把 ┌ x1, y1, z1, ... │1 0 0 0 ... ┐ │ x2, y2, z2, ... │0 1 .... │ │ .... │... │ │ .... │... │ └ xn, yn, zn, ... │0 0 0 ... 1 ┘ 這種東西高斯消去? 我不知道一次要丟幾個進去玩 還沒有想得很清楚, 不過理論上這應該是個 P time 的解法了 XD 不知道對不對呢... -- 有時候,遺忘,是令人快樂的。什麼時候?當然是有人傷了你的心的時候。  存心傷你的那個人,固然是故意和你過不去,但是被傷了心而耿耿於懷的你  ,卻是和自己過不去了。所以,記性不好的人,通常會是比較快樂的人,也  是比較不容易被擊倒的人。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.196.165 ※ 編輯: ledia 來自: 61.228.196.165 (09/12 03:05)