今天模擬賽T4是個極其噁心的東西,用到了許多高中數學知識,md,引入前置知識。
向量
定義
顧名思義,向量就是有方向的量,在平面直角座標系上可以用\((a,b)\)表示,圖如下:
影像上即為由\(A\)指向\(B\)的一條向量。
投影
投影不好解釋,拿圖吧。
\(AC\)在\(AB\)上的投影就是\(AD\)!!
剛學的時候把\(CD\)當成投影了,wssb。
向量的加減法是符合平行四邊形不等式的,也就是\(\vec{m}(a,b) \pm \vec{n}(c,d) = \vec{p}(x_1 \pm x_2,y1 \pm y_2)\)
這個背一下吧,目前還沒完全理解透徹。
接下來介紹一下如何求投影長度,先給一個圖:
我們要求\(\vec{a'}\),不難發現我們可以透過求出$ \cos(\theta)$從而求出 \(\vec{a'}\)的長度。
那怎麼求$ \cos(\theta)$呢?我們引入一個點積的概念,就是這個:
至於為什麼,高中就會學。
那麼就可以得出一個大公式:
這樣就可以求出\(|\vec{a'}|\)的長度了,他就等於:
蕪湖!!!吃飯!!!
既然講了這麼多關於向量的知識,那我們來做一道例題吧!剛好今天模擬賽就考了這個東西!
About T4:
直接上來就訂正這題啦,因為覺得我剛好不會這個東西,就順便學習一下!
首先我們推出一個性質奧,對於下面這個圖:
對於\(\vec{B}\)和\(\vec{C}\)而言,他們的投影是相等的對吧,所以這兩個向量是"相等的"(這個"相等"的意義很多,可能是長度,可能是.....)。那如果\(\vec{B}\)與\(\vec{C}\)不變,把直線\(AD\)換一下位置,那麼\(\vec{B}\)的投影和\(\vec{c}\)的投影會出現什麼樣的關係呢?如下圖:
顯然,這次\(\vec{B}\)的投影大於\(\vec{C}\)的投影,接下來無論我們如何將直線\(AD\)逆時針旋轉,只要他不超過垂線段那麼\(\vec{B}\)的投影始終大於\(\vec{C}\)的投影,從垂線段順時針旋轉則反之,那麼,只要他不與這條垂線段重合,他的大小關係始終固定。
那麼如何轉換到這個題裡呢?我們先構造一個由所有邊權組成的集合圖,然後對於每兩個直線,我們在他們的區間中隨便選一個邊,拿這個邊對其他所有的邊做一個投影,然後按他們投影長度從大到小排序,求最大生成樹,也就是做一次Kruskal,然後取一個 \(\max\),求出最大的邊集。