2016ICPC青島網路賽 1011

2021-07-22 19:17:24 字數 863 閱讀 1045

先用bfs過濾出最短路中的路徑,然後最小割最大流定理。

#include#include#include#include#include#include#include#define pii pairusing namespace std;

const int maxn=1200;

struct edge

;struct node

};vectordg[maxn];

vector< node > ng[maxn];//第乙個表示來自哪,第二個表示這條邊在fa裡的編號

int dis[maxn];

vectorg[maxn];//這個存的是在邊表裡的位置

vectore;

bool vis[maxn];

int d[maxn];

int cur[maxn];

int n,m;

void init()}}

return vis[t];

}int dfs(int x,int a,int t)

}return flow;

}int maxflow(int s,int t)

q.pop();

continue;

}if(now!=st) ng[zu.first].push_back(dg[zu.first][zu.second]);

vis[now]=1;

dis[now]=step;

q.pop();

int size=dg[now].size();

for(int i=0;i>ttt;

while(ttt--)

{init();

cin>>n>>m;

for(int i=0;i

2018 ICPC 青島網路賽 Couleur

題意 給出乙個長度為n的序列,每次將某個子串行分成兩段,輸出所有段中逆序對最大的數目。題解 假設從x位置斷開,找到x最左邊的斷點l,和最右邊的斷點r,那麼就是把區間 l,r 分解為 l,x 和 x,r 如何維護兩段的逆序對個數呢?啟發式分解 假設斷點更靠近r,我們暴力求解出 x,r 的逆序對個數,再...

ICPC青島站網路賽 C 高效模擬

嗯這道辣雞題,當時我隊友寫了錯誤的 我稍微改動了,思路基本上是對了,但是就是超時,我第一直覺是我這個演算法思路是沒有任何問題的,但是就是tle,我感覺這個演算法已經優化的不能再優化了啊。後面就懷疑我們自己的演算法有問題,於是改演算法,想很多莫名奇妙的,卻無法實現的東西,最後導致我另外乙個隊友那邊卡題...

2016 青島區域賽小結

轉眼大三,又是一場區域賽打下來,本來也沒什麼追求,想拿個銀牌就此光榮退役。但時不與我,又是乙個擦肩而過,心裡還是莫名有些悲傷,都已經是大三狗的我,該何去何從又是乙個值得思量的問題。轉瞬一年時光,猶記得在南陽ccpc賽場上吊車尾的模樣,自那之後好像打擊頗大,也是那場比賽之後才算是正式入了acm這個坑。...