网络流最小割 王者之剑

[总结] 网络流学习笔记 这两天对胡伯涛的论文进行了全面的学习,写一下笔记1.网络流与01分数规划结合的一般问题01分数规划可以配套网络流中的最大流,最小割神马的 网络战争 按照论文中推导的公式做即可,但是不好写QAQ没有写过容量为负的;解决办法为对于负的容量直接加到最小割答案中去,而不建边 最优标号 这题和去湖南的一道题很相似,不,就是一样的,对二进制上每一位求最大流,这题已经算不得01分数规划了 阅读详情

  传送门

    不用考虑走的方法,因为一旦合法,即不同时取相邻的两个,一定能达到。

    所以只用考虑怎么取就行了。

    把棋盘黑白染色,S到黑点建权值为val的边,白点到T建权值为val的边,

    然后把相邻的黑白点建一条为inf的边。

    求最小割。

    不得不提一句:边从零开始建和从一开始建一个wa一个a。。

                              ^时相应的正边和反边必须对应。(卡了好久,身败名裂)

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<queue>
#define inf 100000000
using namespace std;
int n,m,a[505][505],b[505][505],S=0,T,cnt,c[505][505];
int dep[100005],e,adj[100005],sum=0;
struct node
{
	int v,l,next;
} lu[100005];
void add(int u,int v,int l)
{lu[e].v=v;lu[e].l=l;lu[e].next=adj[u];adj[u]=e++;}
inline int bfs()
{
	memset(dep,0,sizeof(dep));
	queue<int> q;
	dep[S]=1;
	q.push(S);
	while(!q.empty())
	{
	    int x=q.front();q.pop();
	    for(int i=adj[x];i!=-1;i=lu[i].next)
	    {
	    	 int to=lu[i].v; 
	         if(lu[i].l&&!dep[to])
	         {
	         	  dep[to]=dep[x]+1;
	         	  q.push(to);
	         	  if(to==T)return 1;
			 }
		}
	}
	return 0;
}
inline int read()
{
    int su=0;char ch=getchar();
    while(ch<'0'||ch>'9')ch=getchar();
    while(ch<='9'&&ch>='0'){su=su*10+ch-'0';ch=getchar();}     
    return su;
}
inline int dfs(int now,int f){
	if(now==T){
		return f;
	}
	int tmp=f;
	for(int i=adj[now];i!=-1;i=lu[i].next){
		int to=lu[i].v,w=lu[i].l;
		if(w&&tmp&&dep[to]==dep[now]+1){
			int k=dfs(to,min(w,tmp));
			if(!k){
				dep[to]=0;
				continue;
			}
			lu[i].l-=k;
			lu[i^1].l+=k;
			tmp-=k;
		}
	}
	return f-tmp;
}
int yjn()
{
    freopen("Excalibur.in","r",stdin);
    freopen("Excalibur.out","w",stdout);
  	scanf("%d%d",&n,&m);
	memset(adj,-1,sizeof(adj));
	for(int i=1;i<=n;i++)
	{
	   int k=0;
	   if(i&1)k=1;
	   for(int j=1;j<=m;j++)
	   {
	   	  a[i][j]=++cnt;
		  b[i][j]=k;k^=1;
	      c[i][j]=read();
	      sum+=c[i][j];
		}
	}
/*	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		   cout<<b[i][j]<<" ";
		cout<<endl;
	}*/
	T=cnt+3;
    for(int i=1;i<=n;i++)
      for(int j=1;j<=m;j++)
	  {
		if(b[i][j])
		  {add(a[i][j],T,c[i][j]),add(T,a[i][j],0);}
		else
		  {add(S,a[i][j],c[i][j]),add(a[i][j],S,0);}
      }
	for(int i=1;i<=n;i++)
	   for(int j=1;j<=m;j++)
	   {
	   	    if(b[i][j]==0)
	   	    {
	   	    	if(i!=1){add(a[i][j],a[i-1][j],inf),add(a[i-1][j],a[i][j],0);}
	   	    	if(i!=n){add(a[i][j],a[i+1][j],inf),add(a[i+1][j],a[i][j],0);}
	   	    	if(j!=1){add(a[i][j],a[i][j-1],inf),add(a[i][j-1],a[i][j],0);}
				if(j!=m){add(a[i][j],a[i][j+1],inf),add(a[i][j+1],a[i][j],0);}
			}
	   }
	int ans=0;
	while(bfs())
	    ans+=dfs(S,inf);
	cout<<(sum-ans);
}
int qty=yjn();
int main(){;}

萤石摄像头批量下载视频后FFmepg拼接 本文描述萤石摄像头,如何批量下载视频,然后把视频片段拼接为一个完整的视频,亲测有效。有问题,可以下面留言 阅读详情

相关推荐

从零开始学习信号完整性(SIPI)--1 简介

信号完整性就是研究如何让驱动芯片发出的信号经过传输通道被接收芯片正确接收的学问。 信号完整性包含了三个要素: 信号:是被传输的主体,我们首先要了解、熟悉信号的特性。 芯片:分为驱动芯片和接收芯片,信号完整性工程师就是要实现信号在驱动芯片和接收芯片之间的正确传输。 传输通道:是传输信号的介质,是信号所走的“路”。如何实现信号的正确传输呢?那就要信号完整性工程师为信号“修路”、“搭桥”。

qq_29476769的博客 4万+

【luogu4474王者之剑】--网络流

题目描述 这是在阿尔托利亚·潘德拉贡成为英灵前的事情,她正要去拔出石中剑成为亚瑟王,在这之前她要去收集一些宝石。 宝石排列在一个n*m的网格中,每个网格中有一块价值为v(i,j)的宝石,阿尔托利亚·潘德拉贡可以选择自己的起点。 开始时刻为0秒。以下操作,每秒按顺序执行 在第i秒开始的时候,阿尔托利亚·潘德拉贡在方格(x,y)上,她可以拿走(x,y)中的宝石。 在...

dimeitong1731的博客 504

语义通信高斯信道仿真代码

【代码】语义通信高斯信道仿真代码。

一去不复返的通信er 427

Bzoj:1324:Exca王者之剑:网络流,最小割

题目链接:1324:Exca王者之剑 发现我们必然是偶数秒到一颗宝石上才能拿到它,同时他周围的宝石都没了,也就是一颗宝石和他周围的宝石并不能同时拿到 因为一颗宝石和他周围的宝石不能同时拿到,所以我们将原图黑白染色,相邻的黑白格子不能同时到达 那么黑格子向S连边,白格子向T连边,相邻的格子连边后跑一个最小割,代表最少要舍弃多少,相减即可 尝试变了下码风,神清气爽QwQ #include #

蜜の夜明け 494

(3万字深度解析)Kaggle《房价预测:高级回归技巧》详解复现攻略

在这篇教程式文章中,我们从零开始完成了 Kaggle《房价预测:高级回归技巧》比赛的复现工作,涵盖了数据预处理、特征工程、模型训练、调优、解释和融合的完整流程。深入理解数据:阅读数据描述,结合常识对每个特征作出合理处理(如缺失值填充’None’表示无此设施 、异常值剔除 等)。对目标和偏态特征进行对数变换,使分布更平滑,从而更好满足模型假设并提升准确度。特征工程:我们创造了总面积、总浴室等新特征,整合信息提高模型可学习性。

qq_38334677的博客 1774

68页|大型车企集团数字化转型汽车数字化信息系统平台规划方案

这份PPT文档提供了一个全面的汽车集团数字化转型规划方案,涵盖了项目目标、规划思路、实施关注点、解决方案建议以及合作优势等多个方面。

baidu_25525561的博客 1329

[bzoj1324]Exca王者之剑_最小割

Exca王者之剑 bzoj-1324 题目大意:题目链接。 注释:略。 想法: 最小割经典模型。 所有格子向源点连权值为格子权值的边。 将棋盘黑白染色后白点反转源汇。 如果两个格子相邻那么黑点向白点连$inf$的有向边。 求最小割即可。 开始把所有点的权值都加上,如果被割掉那么就表示这个格子不选。 Code: #include <bits/stdc++.h&gt...

weixin_30760895的博客 90

Python实战:动态爬取国家地表水水质实时监测数据(附最新代码解析)

本文详细介绍了使用Python动态爬取国家地表水水质实时监测数据的实战方法。针对动态网站数据加载特点,重点解析了如何利用Selenium模拟浏览器操作、结合BeautifulSoup解析数据,并提供了最新的代码实现与常见问题解决方案,帮助开发者高效获取环境监测数据。

app77的博客 280

2326. 王者之剑(网络流,最小割,最大权独立集,最小点权覆盖)

给出一个 n×m 网格,每个格子上有一个价值 vi,j 的宝石。Amber 可以自己决定起点,开始时刻为第 0 秒。以下操作,在每秒内按顺序执行。求 Amber 最多能得到多大总价值的宝石。上图给出了一个 2×2 的网格的例子。在第 0 秒,首先选择 B2 进入,取走宝石 3;由于是偶数秒,周围的格子 A2,B1 的宝石 1,2 消失;向 A2 走去。在第 1 秒,由于 A2 的宝石已消失,无宝石可取;向 A1 走去。在第 2 秒,取走 A1 的宝石 4。

Landing_on_Mars的博客 1091

保姆级教程:用ncnn把自训练的YOLOv8模型塞进Android App(附完整代码)

本文提供了一份详细的保姆级教程,指导开发者如何将自训练的YOLOv8模型通过ncnn框架部署到Android应用中。教程涵盖环境配置、模型训练与转换、Android工程集成及性能优化等全流程,并附完整代码实现,帮助开发者快速掌握移动端AI模型部署技术。

weixin_42659194的博客 256

YOLO26涨点改进| TGRS 2026 | 独家创新首发、注意力改进篇| 引入CSSCA频谱-空间交叉注意力,含多种创新改进,小目标检测、图像分割、高光谱图像分类、语义分割任务任务涨点

🔥本文提出CSSCA(频谱-空间交叉注意力)模块,通过中心像素引导的光谱与空间交叉注意力机制,有效提升YOLO26模型的特征表达能力。该模块实现了光谱与空间信息的协同优化,能够自适应强化关键通道与重要空间区域,增强模型对小目标和复杂场景的感知能力。文章详细介绍了CSSCA的网络结构、工作原理及四大优势,包括精准特征表达、协同信息优化、小样本适应性和轻量化设计。同时提供了完整的代码实现和四种改进方案的YAML配置文件,包括基础版、增强版、C3k2融合版和C2PSA融合版,为YOLO26模型的性能提升

Ai缝合怪、助力小伙伴高效发论文 269

P4474 王者之剑

P4474 王者之剑 题目大意 n*m的带权网格,任意选择起点开始时刻为0秒。以下操作,每秒按顺序执行 在第i秒开始的时候,在方格(x,y)上,获得(x,y)的值 在偶数秒,周围四格的值清零 每秒可选择不动或走一格 求最大值 易证:选择获得某格上的值时,周围四格就不能获得了------二分图最大点权独...

weixin_30629977的博客 144

Python爬虫实战:逆向工程与异步处理攻克Pinterest无限滚动瀑布流

我们将从零开始,逐步分析其数据接口,构建一个功能完整的爬虫,并深入探讨反爬虫策略的应对、性能优化以及数据存储等高级主题。: 在实际爬取中,你需要先访问一次Pinterest主页,获取初始的Cookie和CSRF Token,然后再发起API请求。: Python爬虫,Pinterest,无限滚动,瀑布流,异步IO,httpx,逆向工程,API接口,动态内容,反爬虫。你会很快发现一些关键的请求模式。:页面初始加载有限内容,随着用户滚动,新的图片块通过AJAX动态加载,实现“永无止境”的浏览。

2201_76125261的博客 552

【BZOJ】1324 Exca王者之剑 最大权独立集

传送门:【BZOJ】1324  Exca王者之剑 题目分析:赤裸裸的最大权独立集。

poursoul 824

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

网络流之最小割学习总结

网络流之最小割学习总结 AcWing 2173. Dinic/ISAP求最小割 最小割是指将两点(我们这里定为S、T),分割在两个不同的集合中的最小花费。在前面学习最大流时,我们知道当达到最大流时残留网络中一定没有从S到T的路径了,也就是当达到了最大流,S和T就没有流量意味着分别在两个集合中了;反之,最小割也一定是最大流,因为当达到最小割,意味着S到不了T,也就是说S到T已经没有流量了,所以求出从S到T的最大流就求出了S到T的最小割 AcWing 2279. 网络战争 该题让求一个分数的最大值,一般这种形式

zzulizyl的博客 299

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

【图论】【网络流】最小割模型

最小割最小割应用——01规划问题Acwing 2280. 最优标号AcWing 2279. 网络战争最大权闭合图Acwing 961. 最大获利最大密度子图带点权带边权带点边权最小点权覆盖集 / 最大独立集 最小割应用——01规划问题 Acwing 2280. 最优标号 Acwing 2280. 最优标号 给定一个无向图 G=(V,E),每个顶点都有一个标号,它是一个 [0,231−1] 内的整数。 不同的顶点可能会有相同的标号。 对每条边 (u,v),我们定义其费用 cost(u,v) 为 u 的标号与

Genevieve_xiao的博客 1295

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

网络流的各种模型+题单

一年前看acwing学的网络流,把以前做的笔记都搬过来顺便复习一下基础。同时计划补补XCPC出现过的网络流题目 大部分的题目都可以在洛谷等平台找到属于单路增广复杂度O(nm2)O(nm^2)O(nm2),处理103−10410^3-10^4103−104的数据 dinic算法 对EK算法的优化,dfs将所有增广路同时遍历 因为可能有环,因此需要bfs预处理一遍深度,分层遍历 对于一个节点x,当它在DFS中走到了第i条弧时,前i−1条弧到汇点的流一定已经被流满而没有可行的路线了那么当下一次再访问x节点时,前

weixin_73725403的博客 905

网络流总结

【算法简介】 网络流是个好东西 主要掌握dinic的写法(最好是带上各种优化的)后,就是各种建图的套路了 直接放个dinic的板子 const ll inf=1e17; int head[maxn],tot=1,cur[maxn]; struct edge { int to,nxt; ll v; }e[maxm<<1]; void add(int x,int y,ll z) { e[++tot].to=y; e[tot].nxt=head[x]; e[to.

andyc_03的博客 415

【bzoj1324】Exca王者之剑 最小割

不考虑走的过程,只考虑最终结果 考虑每个点选或不选 选了一个点,则不能选周围的4个点 除此之外,好像没有别的限制了。 问题变成了方格取数 黑白染色 源点S向黑点连一条容量为权值的边 白点向汇点T连一条容量为权值的边 一个点向周围的点连一条容量为inf的边 总费用-最大流即为答案 #include #include #include #include #include

Oxer的专栏 516

BZOJ 1324: Exca王者之剑 最小割+黑白染色

注意:在最小割轻易不要连流量为无穷大的双向边(这就意味着这两个点必须属于一个集合里了) code: #include <bits/stdc++.h> #define N 10005 #define I(s) freopen(s".in","r",stdin) #define O(s) freopen(s".out","w",std...

EM LGH 162

最小割问题合集,最大权闭合图,最大密度子图,最小权点覆盖,最大权独立子图,OJ练习,代码详解

最小割问题

EQUINOX1的博客 2395

图论——网络流问题

网络流最大流算法模板题EK算法dinic算法二分图匹配飞行员的配对问题圆桌问题上下界可行流无源汇上下界可行流有源汇上下界最大流例题——东方文花帖有源汇上下界最小流多源汇最大流多源汇最大流(最大流,超级源汇点)关键边伊基的故事 I - 道路重建最大流判定秘密挤奶机(最大流,最大流判定,二分)星际转移问题(最大流,最大流判定,分层图)拆点(不相交路径,只能用k次)餐饮(最大流,拆点)最长递增子序列问题(最大流,拆点,DP)企鹅游行(最大流+拆点+枚举汇点)建图实战猪(最大流,分层图,困难题)最小割模板Dinic

victor_hq的博客 878

网络流专题练习

网络流之二分图匹配、关键边、最大流判定、拆点

HeartWine的博客 350

BZOJ 1324: Exca王者之剑/BZOJ 1475: 方格取数 最大权独立集 最小割

1324: Exca王者之剑 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 618  Solved: 310 [Submit][Status][Discuss] Description   Input 第一行给出数字N,M代表行列数.N,M均小于等于100 下面N行M列用于描述数字矩阵 Output 输出最多可以拿到

BlackJack 567
上一篇: 概率DP [Lydsy2017年4月月赛]抵制克苏恩
下一篇: 最小费用最大流 [网络流24题] 餐巾
QTY_
博客等级 码龄9年 13粉丝 211原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值