传送门

不明白为什么大佬们一眼就看出这是最小割……

所以总而言之这就是一个最小割我也不知道为什么

然后边数太多直接跑会炸,所以要把平面图转对偶图,然后跑一个最短路即可

至于建图……请看代码我实在无能为力

 //minamoto
#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
using namespace std;
#define getc() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++)
char buf[<<],*p1=buf,*p2=buf;
template<class T>inline bool cmin(T&a,const T&b){return a>b?a=b,:;}
inline int read(){
#define num ch-'0'
char ch;bool flag=;int res;
while(!isdigit(ch=getc()))
(ch=='-')&&(flag=true);
for(res=num;isdigit(ch=getc());res=res*+num);
(flag)&&(res=-res);
#undef num
return res;
}
const int N=1e6+,M=2e6+;
struct node{
int u,dis;
node(){}
node(int u,int dis):u(u),dis(dis){}
inline bool operator <(const node &b)const
{return dis>b.dis;}
};
int head[N],ver[M],edge[M],Next[M],tot;
int dis[N],vis[N];
int n,S,T,x;
priority_queue<node> q;
inline void add(int u,int v,int e){
ver[++tot]=v,Next[tot]=head[u],head[u]=tot,edge[tot]=e;
}
int spfa(){
memset(dis,0x3f,sizeof(dis));
memset(vis,,sizeof(vis));
q.push(node(S,)),dis[S]=;
while(!q.empty()){
int u=q.top().u;q.pop();
if(vis[u]) continue;
vis[u]=;
for(int i=head[u];i;i=Next[i]){
int v=ver[i];
if(cmin(dis[v],dis[u]+edge[i]))
q.push(node(v,dis[v]));
}
}
return dis[T];
}
int main(){
// freopen("testdata.in","r",stdin);
n=read();S=n*n+,T=S+;
for(int i=;i<=n;++i)
for(int j=;j<=n;++j){
x=read();
i==?add(j,T,x):i==n?add(S,(i-)*n+j,x):add(i*n+j,(i-)*n+j,x);
}
for(int i=;i<=n;++i)
for(int j=;j<=n;++j){
x=read();
j==?add(S,(i-)*n+j+,x):j==n?add(i*n,T,x):add((i-)*n+j,(i-)*n+j+,x);
}
for(int i=;i<=n;++i)
for(int j=;j<=n;++j){
x=read();
i==?add(T,j,x):i==n?add((i-)*n+j,S,x):add((i-)*n+j,i*n+j,x);
}
for(int i=;i<=n;++i)
for(int j=;j<=n;++j){
x=read();
j==?add((i-)*n+j+,S,x):j==n?add(T,i*n,x):add((i-)*n+j+,(i-)*n+j,x);
}
printf("%d\n",spfa());
return ;
}

最新文章

  1. JS里面Data日期格式转换
  2. jQuery进阶
  3. three.js贴图
  4. Spark Streaming中空RDD处理及流处理程序优雅的停止
  5. HTTP 2.0 与 tomcat
  6. u-boot 环境变量参数设置
  7. 【38】通过复合塑模出Has-A 或根据某物实现出
  8. js命名空间的使用
  9. office文档转pdf
  10. 如何在Eclipse下查看JDK源代码
  11. 在CentOS7.1上安装Gitlab碰到的问题及解决方法
  12. GMT与Etc/GMT地区信息的时区转换
  13. SQL Server使用sp_spaceused查看表记录存在不准确的情况
  14. MySQL 分区建索引
  15. 一个可以自动生成css样式的插件happycss
  16. Python3 tkinter基础 Radiobutton 创建三个单选钮
  17. PAT之气死人不偿命的3n+1猜想
  18. 如何设置访问内网web项目
  19. Django 跨域请求
  20. Analysis of FCN

热门文章

  1. Linux安装ElasticSearch启动报错的解决方法
  2. 程序连接Oracle数据库出现未找到提供程序.该程序可能未正确安装错误提示
  3. entity framework WithRequiredDependent和WithRequiredPrincipal
  4. JAVA-关键字&amp;标识符
  5. html5--2.1新的布局元素概述
  6. RAC环境下控制文件损坏重建过程
  7. 思科安全:加密流量威胁检测、加密流量威胁和恶意软件检测、识别无线干扰或威胁、Talos 情报源可加强对已知和新型威胁的防御、分布式安全异常检测
  8. 在eclipse创建Maven工程修改默认JRE
  9. Java钉钉开发_Exception_异常总结
  10. svn安装以及汉化过程