T1:數組
顯然每一個數是獨立的。spa
無解狀況的斷定用裴蜀定理便可 gc
用$ex_gcd$求出一組特解,對於每一個數,只須要求出使$|x|+|y|$最小的一組解便可。時間
最優解必定取在$x$或$y$接近$0$時,取個$min$即爲答案。枚舉
時間複雜度$O(n)$。gcd
T2:
根據貪心思想。
考慮兩個數對$(a_i,b_i)$和$(a_j,b_j)$,若是$a_i<b_j$而且$b_i<a_j$,那麼咱們但願$i$排在$j$前面。對於相反的狀況,咱們但願$j$排在$i$前面。其他兩種狀況$i$和$j$以任意順序排列都是相同的。顯然按$a+b$從小到大排列就能夠知足全部的需求。
設DP狀態爲選擇的$a_i$的最大值爲$j$時的最優值,更新時只涉及單點插入和區間加,用線段樹維護DP數組便可。
時間複雜度$O(nlogn)$。
T3:
跑多元最短路,並記錄由哪一個源點更新。
枚舉每條邊,若是兩側的前驅不一樣,則用這條路徑更新兩個前驅的答案。
時間複雜度$O(mlogn)$。