link
social_zhao's tj
設直線\[l_=k_ix+b_i
\]其中
\[k_1 \lt 0 \le k_3 \lt k_2
\]設 \(l_1\) 與 \(l_2\) 交點 \(p(x,y)\)
有\[if\;\;k_1x+b_1 \ge k_3x+b_3\,,
\]\[l_3\;is\;invisible.\]又
\[k_1x+b_1=k_2x+b_2
\]\[x=\frac
\]所以
\[k_1\frac+b_1 \ge k_3\frac+b_3
\]因為 \(\color\)
所以\[k_1(b_2-b_1)+b_1(k_1-k_2) \le k_3(b_2-b_1)+b_3(k_1-k_2)
\]\[(k_1-k_3)(b_2-b_1) \le (k_1-k_2)(b_3-b_1)
\]\[\frac \ge \frac
\]則最終有
\]從圖上表示即經過 \(q_1\) 、 \(q_2\) 的上凸折線位於直線 \((q_1,q_3)\) 上方
故把直線看作點求解上凸殼即可
kmp優化正確性證明
鄧俊輝老師的課上給出了一種普遍的kmp演算法優化,但是沒有給出這種優化的正確性證明。或許這種正確性是顯而易見的,但這裡還是研究了一下這個演算法的正確性問題。int buildnext char p else 原演算法 j next j 優化演算法 j newnext j return next 顯然...
Dijkstra演算法正確性證明
問題 求圖中點1到其他各點的最短距離 演算法描述 設初始時圖的所有點的集合u 把起點s放入初始集合set中 u u set set 找s經過集合set中的點,能達到的距離最短的點k k in u 將k併入set 言外之意k的前乙個點必然屬於set u u set set 由於每次引入的只有乙個點k,...
Dijkstra演算法正確性證明
問題 求圖中點1到其他各點的最短距離 策略 1.把起點1放入初始集合set中,從剩餘的點中,選取到set 此時set中只有1個點 距離最近的點,併入集合set中,2.從剩餘的點中,找經過集合set,到起點1的最短距離,將最短邊併入set集合 3.依次迴圈,直到所有的邊都併入set 變數的命名 set...