题目
之前看有人写博客:NOI2010原题重测中他第一次打最小割转最短路就A了。
学习了(200行的)最左转线和点定位之后,我深深的膜拜他。
今日一见此题。
好像我也可以。
不用最左转线,不用点定位。
直接人类智慧。
注意反向边也需要连,最小割不一定只包含一个方向的边。
注意0边也需要连,因为不连等同于inf。
AC Code:
// luogu-judger-enable-o2
#include<bits/stdc++.h>
#define maxn 300005
#define maxm 2000005
using namespace std;
int n;
int info[maxn],Prev[maxm],to[maxm],cst[maxm],cnt_e=1;
void Node(int u,int v,int c){
Prev[++cnt_e]=info[u],info[u]=cnt_e,to[cnt_e]=v,cst[cnt_e]=c; }
void Line(int u,int v,int c){
Node(u,v,c); }
int dis[maxn];
bool usd[maxn];
int main()
{
scanf("%d",&n);
int S = n * n + 1 , T = n * n + 2;
for(int i=1