【重口味。。】CTSC2011殺菌計劃

在奮戰了7個小時後才AC了這道題的人只能瞻仰在考場上AC的FHQ了。。。

代碼很恐怖,寫了350行8KB,最可惡的是一頁草稿紙的僞代碼和各種特殊情況。

 

涉及的幾個關鍵字:三維叉積、半平面交、梯形剖分

 

三維叉積的一個核心操作就是:三維旋系,另外還需要用來寫:面面交,面線交,判三維空間上下左右,二維投影。

 

具體做法是:

      一束光線首先在每一個面上投一個影,然後這個投影需要和這個面求一個交集(這裏我用的是半平面交),之後再反射遞歸。

 

      計算答案時將每個面上曾經經過的所有投影求一個面積並(梯形剖分)。

 

當然細節很多,不過還好棟哥沒有出細節太多的數據,本來我4.30小時過了樣例之後直接去測就已經過了7個點,但令我哭笑不得的是第6個點(全部面積之和)和第7個點(0)錯了。。。之後又發現疏漏了幾種特殊情況。。

 

很鬱悶的是半平面交又錯了老地方:最開始的時候忘記判平行和判無解

 

扣的:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章