博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【BZOJ-1324】Exca王者之剑 最小割
阅读量:5103 次
发布时间:2019-06-13

本文共 1514 字,大约阅读时间需要 5 分钟。

1324: Exca王者之剑

Time Limit: 10 Sec  Memory Limit: 162 MB
Submit: 483  Solved: 248
[][][]

Description

 

Input

第一行给出数字N,M代表行列数.N,M均小于等于100 下面N行M列用于描述数字矩阵

Output

输出最多可以拿到多少块宝石

Sample Input

2 2
1 2
2 1

Sample Output

4

HINT

Source

Solution

最小割裸模型

见棋盘直接黑白染色,偶数秒发生消失?那就偶数秒和奇数秒分开二分图建图即可

Code

#include
#include
#include
#include
using namespace std;int read(){ int x=0,f=1; char ch=getchar(); while (ch<'0' || ch>'9') {
if (ch=='-') f=-1; ch=getchar();} while (ch>='0' && ch<='9') {x=x*10+ch-'0'; ch=getchar();} return x*f;}#define maxm 1000010#define maxn 10010int n,m,tot;struct EdgeNode{
int next,to,cap;}edge[maxm];int head[maxn],cnt=1;void add(int u,int v,int w){ cnt++; edge[cnt].next=head[u]; head[u]=cnt; edge[cnt].cap=w; edge[cnt].to=v;}void insert(int u,int v,int w) {add(u,v,w); add(v,u,0);}int val[110][110];int dis[maxn],que[maxn<<1],cur[maxn],S,T;bool bfs(){ for (int i=S; i<=T; i++) dis[i]=-1; que[0]=S; dis[S]=0; int he=0,ta=1; while (he
=1) insert(locate(i,j),locate(i-1,j),inf); if (j+1<=m) insert(locate(i,j),locate(i,j+1),inf); if (j-1>=1) insert(locate(i,j),locate(i,j-1),inf); } else insert(locate(i,j),T,val[i][j]); int maxflow=dinic(); printf("%d\n",tot-maxflow); return 0;}

微机课随随便便打着玩系列,被旁边同学摁了个数,然后第一遍还WA了...纸张

转载于:https://www.cnblogs.com/DaD3zZ-Beyonder/p/5502901.html

你可能感兴趣的文章
我眼中的技术地图
查看>>
lc 145. Binary Tree Postorder Traversal
查看>>
android dialog使用自定义布局 设置窗体大小位置
查看>>
ionic2+ 基础
查看>>
[leetcode]Minimum Path Sum
查看>>
Aizu - 1378 Secret of Chocolate Poles (DP)
查看>>
IO流写出到本地 D盘demoIO.txt 文本中
查看>>
Screening technology proved cost effective deal
查看>>
mysql8.0.13下载与安装图文教程
查看>>
Thrift Expected protocol id ffffff82 but got 0
查看>>
【2.2】创建博客文章模型
查看>>
Kotlin动态图
查看>>
从零开始系列之vue全家桶(1)安装前期准备nodejs+cnpm+webpack+vue-cli+vue-router
查看>>
Jsp抓取页面内容
查看>>
大三上学期软件工程作业之点餐系统(网页版)的一些心得
查看>>
可选参数的函数还可以这样设计!
查看>>
[你必须知道的.NET]第二十一回:认识全面的null
查看>>
Java语言概述
查看>>
关于BOM知识的整理
查看>>
使用word发布博客
查看>>