I Interval 2020牛客多校訓練營第2場

2021-10-08 03:04:25 字數 1278 閱讀 1916

[1,2]     ..     [1,n-1]   [1,n]

[ 2,3]    ..       [2,n]

[n-1,n]

這樣乙個網格圖,給出部分邊,沒給出的邊就取正無窮,要求乙個這樣的最小割

然後平面圖轉對偶圖,看dis[t]是否小於正無窮,則有解

#includeusing namespace std;

typedef long long ll;

typedef pairp;

const int maxl=510;

const ll inf=1e18;

int n,m,tot,t;

int a[maxl][maxl];

ll lft[maxl][maxl],dwn[maxl][maxl];

ll dis[maxl*maxl];

struct ed;

vectore[maxl*maxl];

char s[2];

bool in[maxl*maxl];

priority_queue,greater>q;

inline void add(int u,int v,ll l)

); e[v].push_back(ed);

}inline void prework()

tot=1;

for(int i=1;i<=n;i++)

for(int j=n;j>=i+1;j--)

a[i][j]=++tot;

t=tot+1;

for(int j=n;j>=2;j--)

add(1,a[1][j],lft[1][j]);

for(int i=1;i<=n-1;i++)

add(a[i][n],t,dwn[i][n]);

for(int i=1;i<=n-3;i++)

for(int j=n;j>=i+3;j--)

add(a[i][j],a[i][j-1],dwn[i][j-1]);

for(int i=1;i<=n-3;i++)

for(int j=n;j>=i+3;j--)

add(a[i][j],a[i+1][j],lft[i+1][j]);

for(int i=1;i<=n-1;i++) }

inline void mainwork()

); while(!q.empty())

); } }}

inline void print()

int main()

2020 牛客多校7

a 注意到 sum x i x j n sum x i 2 sum x i 2 dp 求出選 i 個點橫座標總和 x 縱座標總和 y 時距離平方最大值即可 b 先填 lfloor frac rfloor n 個 n 然後遞迴考慮子問題 text 即可 c 2 操作可以用詢問打標記實現,問題相當於每次...

2020牛客多校C題 Operation Love

題目鏈結 比賽的時候蒟蒻不會做,連叉乘是啥怎麼算都忘了qaq 先來說下叉乘怎麼算吧,a xa,ya,za b xb,yb,zb 兩三維向量的叉乘 axb a b sin a,b axb yazb zayb i zaxb zbxa j xayb xbya z,而二維向量可以看成三維向量的z為0,則二維...

2020牛客寒假集訓營1

b.kotori和bangdream 大水題 include include include include include include include include include include define ll long long const int n 1e6 10 using na...