[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...