鍵值對 LIS 友好城市

2022-05-04 01:57:10 字數 578 閱讀 6049

給定 n 個數對,其中\((x,y)\)分別表示乙個相對的兩岸,兩者之間連一條線,不允許有交叉,問最多可以連多少

\(\begin1 \leq n \leq 5000 \\ 0 \leq x_ \leq 10000\end\)

連線後不存在交叉,即對於鍵值對\((x,y)\)來說,不會使得\(x\)在第乙個鍵值中的次序和\(y\)的是逆序的

即兩個格仔的順序都是單調的才可以

按照其中乙個鍵值進行排序後,對另乙個鍵值求最長上公升子串行即可

#includeusing namespace std;

#define rep(i,a,n) for(int i=a;i=a;i--)

#define ll long long

#define fi first

#define se second

typedef pairpii;

const int n=5010;

pii a[n];

int n,f[n];

int main()

printf("%d\n",ans);

}

Bitset 友好城市

分塊 st表 bitset卡常 把公路分成k塊,內部通過bitset處理出連通狀況。每次詢問,把連續的一些塊通過st表得到邊,再用兩次dfs求強連通分量的方法,合併這些邊,得到新的連通狀況。include include include include include include define ...

友好城市(dp演算法)

這個題也是最長上公升子串行的應用題,我們只需要對一邊的端點排序,再對另一邊的端點求最長上公升子串行即可,因為一邊端點有序,另一邊端點求最長上公升子串行就可以保證這些橋不相交。自行腦補。這題需要用到最長上公升子串行的優化,樸素只能得部分分 include define x first define y...

例9 7 友好城市

時間限制 1000 ms 記憶體限制 65536 kb palmia國有一條橫貫東西的大河,河有筆直的南北兩岸,岸上各有位置各不相同的n個城市。北岸的每個城市有且僅有乙個友好城市在南岸,而且不同城市的友好城市不相同。每對友好城市都向 申請在河上開闢一條直線航道連線兩個城市,但是由於河上霧太大,決定避...