BZOJ 1066: [SCOI2007]蜥蜴 网络流题解

Allegro如何输出ODB文件操作指导 在PCB设计完成之后,需要输出生产文件用于生产加工,除了gerber文件可以用生产制造,ODB文件同样也可以用于生产,如下图。用Allegro如何输出ODB文件,具体操作如下。如何输出ODB文件操作指导。 阅读详情

Time Limit: 1 Sec Memory Limit: 162 MB
Submit: 4105 Solved: 2076

Description

  在一个r行c列的网格地图中有一些高度不同的石柱,一些石柱上站着一些蜥蜴,你的任务是让尽量多的蜥蜴逃
到边界外。 每行每列中相邻石柱的距离为1,蜥蜴的跳跃距离是d,即蜥蜴可以跳到平面距离不超过d的任何一个石
柱上。石柱都不稳定,每次当蜥蜴跳跃时,所离开的石柱高度减1(如果仍然落在地图内部,则到达的石柱高度不
变),如果该石柱原来高度为1,则蜥蜴离开后消失。以后其他蜥蜴不能落脚。任何时刻不能有两只蜥蜴在同一个
石柱上。

Input

  输入第一行为三个整数r,c,d,即地图的规模与最大跳跃距离。以下r行为石竹的初始状态,0表示没有石柱
,1~3表示石柱的初始高度。以下r行为蜥蜴位置,“L”表示蜥蜴,“.”表示没有蜥蜴。

Output

  输出仅一行,包含一个整数,即无法逃离的蜥蜴总数的最小值。

Sample Input

5 8 2

00000000

02000000

00321100

02000000

00000000

……..

……..

..LLLL..

……..

……..

Sample Output

1

HINT

100%的数据满足:1<=r, c<=20, 1<=d<=4

Source

Pku 2711 Leapin’ Lizards


这道题1A,非常开心,显然一看就是网络流,只是建图的时候,需要模拟一下,我尽量写得容易看出来,复习了一下网络流,大概已经有十多天没写过了,于是我强迫自己回忆一下建图过程并且稍微写一下
首先把每个点拆成两个点,中间的边的流量是高度,然后如果某点有蜥蜴,则S(源)连向该点拆点之后的进去的点,流量为1,然后对于所有点,可以到达的点都连inf的边,如果一个点可以跳出去,则连inf到T(汇点),跑一边网络流即可

#include<cstdio>
#include<cstring>
#include<iostream>
#include<cmath>
#include<algorithm>
#include<vector>
#include<map>
#include<queue>
#include<set>
const int MAXN=100000+10;
const int inf=214748364;
using namespace std;
struct Line{
    int to,nxt,flow;
}line[MAXN*2];
int tail=1,head[MAXN],level[MAXN],S,T,r,c,d,cnt;
char a[25][25],b[25][25];
void add_line(int from,int to,int flow){
    line[++tail].to=to;
    line[tail].nxt=head[from];
    head[from]=tail;
    line[tail].flow=flow;
    line[++tail].to=from;
    line[tail].nxt=head[to];
    head[to]=tail;
    line[tail].flow=0;
}
bool bfs(){
    memset(level,-1,sizeof(level));
    queue<int>q;
    q.push(S);level[S]=0;
    while(!q.empty()){
        int u=q.front();q.pop();
        for(register int i=head[u];i;i=line[i].nxt){
            int v=line[i].to;
            if(level[v]==-1&&line[i].flow){
                level[v]=level[u]+1;
                q.push(v); 
            }
        }
    } 
    return level[T]!=-1;
}
int dfs(int u,int maxflow){
    if(u==T||maxflow==0) return maxflow;
    int nowflow=0;
    for(register int i=head[u];i;i=line[i].nxt){
        int v=line[i].to;
        if(level[v]==level[u]+1){
            int flow=dfs(v,min(maxflow,line[i].flow));
            if(flow){
                line[i].flow-=flow;
                line[i^1].flow+=flow;
                maxflow-=flow;
                nowflow+=flow;
                if(maxflow==0) break;
            }
        }
    }
    if(nowflow==0)level[u]=-1;
    return nowflow;
}
int dinic(){
    int final=0;
    while(bfs())final+=dfs(S,inf);
    return final;
}
int main(){
    scanf("%d%d%d",&r,&c,&d);S=0,T=2*r*c+1;
    for(register int i=1;i<=r;i++)scanf("%s",a[i]+1); 
    for(register int i=1;i<=r;i++)scanf("%s",b[i]+1);
    for(register int i=1;i<=r;i++){
        for(register int j=1;j<=c;j++){
            int loc=(i-1)*c+j;
            if(b[i][j]=='L') add_line(S,loc,1),cnt++;
            if(a[i][j]>'0'){
                add_line(loc,loc+r*c,a[i][j]-'0');
                if(i<=d||j<=d||i+d>r||j+d>c) add_line(loc+r*c,T,inf);
                for(register int k=max(i-d,1);k<=min(i+d,r);k++){
                    for(register int t=max(j+max(i-k,k-i)-d,1);t<=min(j+(d-max(i-k,k-i)),c);t++)
                        if(a[i][j]>'0')add_line(loc+r*c,(k-1)*c+t,inf);
                }
            }
        }
    }
    printf("%d\n",cnt-dinic());
    return 0;
}

这里写图片描述

基于Simulink的电机轴电压与轴电流抑制仿真 本文带你完成了电机轴电压与轴电流抑制的Simulink仿真,实现了:✅ 揭示了共模电压 → 寄生电容 → 轴电压 → 轴承电蚀的完整链路✅ 搭建了含寄生参数的高频电机等效模型共模电压最小化PWM(源头抑制)dv/dt滤波器(路径阻断)轴接地(终端泄放) ✅ 通过仿真验证了轴电压从68 V降至<3 V的显著效果 ✅ 为高可靠性电机系统提供低成本、高效益的轴承保护方案。 阅读详情

相关推荐

Python抓取摄像头图像,进行AI识别(一)

本文介绍了如何用Python获取海康威视摄像头的图像并进行AI识别。主要内容包括:1)准备工作,包括摄像头IP设置和密码重置方法;2)使用Python的Requests库通过ISAPI接口获取实时图像;3)示例代码展示如何保存摄像头图像。整个过程为后续AI图像识别提供了基础,通过简单的Python代码即可实现专业监控设备的图像采集功能。

Hahafantuan的博客 1511

[题解]bzoj1066(SCOI2007)蜥蜴

Description   在一个r行c列的网格地图中有一些高度不同的石柱,一些石柱上站着一些蜥蜴,你的任务是让尽量多的蜥蜴逃 到边界外。 每行每列中相邻石柱的距离为1,蜥蜴的跳跃距离是d,即蜥蜴可以跳到平面距离不超过d的任何一个石 柱上。石柱都不稳定,每次当蜥蜴跳跃时,所离开的石柱高度减1(如果仍然落在地图内部,则到达的石柱高度不 变),如果该石柱原来高度为1,则蜥蜴离开后消失。以后

Saramanda的博客 586

SAP ERP 物料主数据同步外围系统

w_input-beskz = i_marc_new-beskz."采购类型 " BESKZ--- ADD BY HX_FHJ 20210106。w_input-beskz = lw_marc-beskz."采购类型 " BESKZ--- ADD BY HX_FHJ 20210106。w_input-sobsl = i_marc_new-sobsl."特殊采购类型-虚拟物料标识。

ChampaignWolf的专栏 1744

刷题总结——蜥蜴(ssoj网络流)

题目: 题目背景 SCOI2007DAY1T3 题目描述 在一个r行c列的网格地图中有一些高度不同的石柱,一些石柱上站着一些蜥蜴,你的任务是让尽量多的蜥蜴逃到边界外。每行每列中相邻石柱的距离为1,蜥蜴的跳跃距离是d,即蜥蜴可以跳到平面距离不超过d的任何一个石柱上。石柱都不稳定,每次当蜥蜴跳跃时,所离开的石柱高度减1(如果仍然落在地图内部,则到...

banzhangzhi8819的博客 230

Abaqus中Cohesive单元建模:从本构到失效的完整指南

本文提供了Abaqus中Cohesive单元建模的完整指南,涵盖从本构模型到失效分析的全过程。详细解析了Cohesive单元作为模拟界面粘结与失效的关键工具,其核心在于弹性本构、损伤起始准则和损伤演化定律的设置。文章通过双悬臂梁(DCB)实例,手把手指导前处理、材料定义、求解设置及后处理分析,并分享了刚度、强度、断裂能等关键参数的影响与收敛性调优的实用避坑技巧,帮助用户准确模拟复合材料及胶接结构的界面失效行为。

cuda7parallel的博客 700

AI: 机器学习的模型是如何训练的?(在试错中学习)

一句话理解机器学习一般训练过程 :通过有标签样本来调整(学习)并确定所有权重Weights和偏差Bias的理想值。 训练的目标:最小化损失函数 (损失函数下面马上会介绍) 机器学习算法在训练过程中,做的就是:检查多个样本并尝试找出可最大限度地减少损失的模型;目标就是将损失(Loss)最小化 在这里插入图片描述 上图就是一般模型训练的一般过程(试错过程),其中 模型: 将一个或多个特征作为输入,然后返回一个预测 (y’) 作为输出。为了进行简化,不妨考虑一种采用一个特征并返回一个预测的模型,如下公式

HowieXue 薛永浩的博客 3万+

网络流建模6(P2472 [SCOI2007]蜥蜴)

P2472 [SCOI2007]蜥蜴 题目描述 在一个 rr 行 cc 列的网格地图中有一些高度不同的石柱,第 ii 行 jj 列的石柱高度为 h_{i,j}h i,j ​ 。 一些石柱上站着一些蜥蜴,你的任务是让尽量多的蜥蜴逃到边界外。 每行每列中相邻石柱的距离为 11,蜥蜴的跳跃距离是 dd,即蜥蜴可以跳到平面距离不超过 dd 的任何一个石柱上。 石柱都不稳定,每次当蜥蜴跳跃时,所离开的石柱高度减 11(如果仍然落在地图内部,则到达的石柱高度不变)。 如果该石柱原来高度为 11,则蜥蜴离开后消失,以后

lcl1234567890lcl的博客 214

12、激光制造中人工智能与机器学习的应用及挑战

本文探讨了人工智能与机器学习在激光制造中的应用,重点分析了图像分类技术在质量检测中的多种方法及其性能对比,包括基于贝叶斯分类、卷积神经网络(CNN)和多尺度CNN的技术。同时,文章指出了AI在激光制造中面临的五大挑战:鲁棒性、安全性、可解释性、责任归属和可预测性,并提出了相应的解决思路。此外,还介绍了激光制造的主要应用技术如切割、焊接和增材制造的流程、优势与局限性,并通过对比表格直观展示不同技术的特点。最后展望了未来激光制造向智能化、自动化和可持续化发展的趋势。

rgv234567的博客 136

bzoj 1066 [SCOI2007] 蜥蜴 题解

1066: [SCOI2007]蜥蜴 Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 1286  Solved: 620 [Submit][Status] Description 在一个r行c列的网格地图中有一些高度不同的石柱,一些石柱上站着一些蜥蜴,你的任务是让尽量多的蜥蜴逃到边界外。 每行每列中相邻石柱的距离为1,蜥蜴的跳跃距离是d

阿蒋的专栏 2639

IEC61850规约客户端软件开发实战(第六章)

IEC 61850标准中的GOOSE(Generic Object Oriented Substation Event,面向通用对象的变电站事件)功能是变电站自动化系统的核心通信机制,主要用于实现智能电子设备(IED)间高可靠性、低延时的实时信号传输。本章简述其核心功能与技术特点。

半青年的博客 1777

DeepSeek 赋能太空探索:从轨道优化到星际开拓的 AI 革命

随着人工智能技术蓬勃发展,DeepSeek 在太空探索领域展现出巨大应用潜力。本文深入剖析 DeepSeek 技术核心,包括低功耗运算、开源生态等优势,阐述其与传统航天技术的差异。从航天器自主控制、深空探测、载人航天等关键环节,结合实时轨道调整、故障诊断修复等实例,揭示 DeepSeek 对航天任务效率与安全性的提升作用。同时探讨其应用面临的太空环境适应、伦理安全等挑战,展望技术演进方向及与前沿技术融合前景,展现 DeepSeek 为人类太空探索带来的变革与深远意义。

邓邓子的博客 2256

bzoj1066[SCOI2007]蜥蜴

bzoj1066[SCOI2007]蜥蜴 题意: r行c列网格图上有一些高低不平的柱子,一些柱子上有蜥蜴,一只蜥蜴一次能跳距离为d,每次蜥蜴跳跃时出发柱子高度减一,当柱子高度为0时消失,问最少多少蜥蜴不能跳出网格图。r,c≤20,d≤4 题解: 裸最大流,每个柱子拆成X,Y两点,两点之间连柱子的高度,所有Yi向可达柱子的Xi连边,s向所有蜥蜴初始位置连边,所有可以跳出图的柱子向t...

anheku1562的博客 177

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

BZOJ1066: [SCOI2007]蜥蜴

BZOJ1066: [SCOI2007]蜥蜴 Description   在一个r行c列的网格地图中有一些高度不同的石柱,一些石柱上站着一些蜥蜴,你的任务是让尽量多的蜥蜴逃到边界外。 每行每列中相邻石柱的距离为1,蜥蜴的跳跃距离是d,即蜥蜴可以跳到平面距离不超过d的任何一个石柱上。 石柱都不稳定,每次当蜥蜴跳跃时,所离开的石柱高度减1(如果仍然落在地图内部,则到达的石柱高度不变),如果...

weixin_30242907的博客 113

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

bzoj1066 [SCOI2007]蜥蜴

bzoj1066 [SCOI2007]蜥蜴 在一个 \(r\times c\) 的网格地图中有一些石柱,一些石柱上站着一些蜥蜴。 每行每列中相邻石柱的距离为 \(1\) ,蜥蜴的跳跃距离是 \(d\) ,即蜥蜴可以跳到平面距离不超过 \(d\) 的任何一个石柱上。石柱都不稳定,每次当蜥蜴跳跃时,所离开的石柱高度减 \(1\) (如果仍然落在地图内部,则到达的石柱高度不变),如果该石柱原来高度为 ...

weixin_30745553的博客 76

BZOJ1066: [SCOI2007]蜥蜴 网络流

1066: [SCOI2007]蜥蜴 Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 3554  Solved: 1777 [Submit][Status][Discuss] 题解: 想法: 一道不错的网络流,我们可以把一只蜥蜴从起始位置到离开边界的一条路径想象成单位1的流量。 对于一个流量,它会导致整条路径上的边的容量都-1,

Oakley 486

[SCOI2007]蜥蜴 BZOJ1066 最大流

[SCOI2007]蜥蜴 BZOJ1066 最大流 题目背景 07四川省选 题目描述 在一个r行c列的网格地图中有一些高度不同的石柱,一些石柱上站着一些蜥蜴,你的任务是让尽量多的蜥蜴逃到边界外。 每行每列中相邻石柱的距离为1,蜥蜴的跳跃距离是d,即蜥蜴可以跳到平面距离不超过d的任何一个石柱上。石柱都不稳定,每次当蜥蜴跳跃时,所离开的石柱高度减1(...

loooooog的博客 169

BZOJ1066

1066: [SCOI2007]蜥蜴 Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 1591  Solved: 773 [Submit][Status] Description 在一个r行c列的网格地图中有一些高度不同的石柱,一些石柱上站着一些蜥蜴,你的任务是让尽量多的蜥蜴逃到边界外。 每行每列中相邻石柱的距离为1,蜥蜴的跳跃距离是d

Dreamer_WishSky的专栏 708

[BZOJ 1066][SCOI2007]蜥蜴

Description 在一个r行c列的网格地图中有一些高度不同的石柱,一些石柱上站着一些蜥蜴,你的任务是让尽量多的蜥蜴逃到边界外。 每行每列中相邻石柱的距离为1,蜥蜴的跳跃距离是d,即蜥蜴可以跳到平面距离不超过d的任何一个石柱上。石柱都不稳定,每次当蜥蜴跳跃时,所离开的石柱高度减1(如果仍然落在地图内部,则到达的石柱高度不变),如果该石柱原来高度为1,则蜥蜴离开后消失。以后其他蜥蜴不能落脚

某沙茶的OI代码库 1073

【bzoj1066】[SCOI2007]蜥蜴

1066: [SCOI2007]蜥蜴 Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 3997  Solved: 2018 [Submit][Status][Discuss] Description   在一个r行c列的网格地图中有一些高度不同的石柱,一些石柱上站着一些蜥蜴,你的任务是让尽量多的蜥蜴逃 到边界外。 每行每列中相邻石柱的

Joky_2002的博客 297

BZOJ 1066: [SCOI2007]蜥蜴

二次联通门 :BZOJ 1066: [SCOI2007]蜥蜴 /* BZOJ 1066: [SCOI2007]蜥蜴 拆点最大流 */ #include <cstdio> #include <iostream> #define rg register inline void read (int &...

weixin_30877755的博客 129

(bzoj 1066 [SCOI2007]蜥蜴)<网络最大流>

网络最大流+建图模型

SDFZspli的博客 366

SCOI 2007

BZOJ 1066 蜥蜴(网络流) Description 在一个r行c列的网格地图中有一些高度不同的石柱,一些石柱上站着一些蜥蜴,你的任务是让尽量多的蜥蜴逃 到边界外。 每行每列中相邻石柱的距离为1,蜥蜴的跳跃距离是d,即蜥蜴可以跳到平面距离不超过d的任何一个石 柱上。石柱都不稳定,每次当蜥蜴跳跃时,所离开的石柱高度减1(如果仍然落在地图内部,则到达的石柱高度不 变),如果该石柱原来高度为1,则...

luowiiind的博客 344

BZOJ 1066 POJ 2711 [SCOI2007]蜥蜴

网络流

Orion_Rigel 520
上一篇: BZOJ 1034: [ZJOI2008]泡泡堂BNB 贪心题解
下一篇: BZOJ 1103: [POI2007]大都市meg 差分+树状数组
NOIAu
博客等级 码龄10年 116粉丝 255原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值