尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

CF1749E - Cactus Wall

CF1749E - Cactus Wall
📅 发布时间:2026/6/18 8:28:48

题目要让我们求一个形似最小割的东西,肯定是转成对偶图上跑最短路解决。

首先把不合法的格子去掉,然后你从左边界走到右边界,只能走斜对角的格子,代价即为路径经过的 . 个数。

跑一遍 01 BFS,记录一下前驱状态以便构造。

#include<cstdio>
#include<algorithm>
#define N 400005
#define M 1600005
using namespace std;const int inf=0x3f3f3f3f;
const int dx[]={-1,1,0,0},dy[]={0,0,-1,1},Dx[]={-1,-1,1,1},Dy[]={-1,1,-1,1};
int T,n,m,d[N],pre[N];
int tot,head[N],nxt[M],ver[M],e[M];
int lt,rt,q[N*4];
char s[N],ss[N];
bool vis[N],ban[N];
int id(int x,int y) {return (x-1)*m+y;}
bool check(int x,int y) {return x>=1&&x<=n&&y>=1&&y<=m;
}
void insert(int x,int y,int z) {ver[++tot]=y,e[tot]=z,nxt[tot]=head[x],head[x]=tot;
}
int main() {scanf("%d",&T);XJX:while(T--) {tot=0;for(int i=1;i<=n*m;i++) {head[i]=vis[i]=ban[i]=pre[i]=0;}scanf("%d%d",&n,&m);for(int i=1;i<=n;i++) {scanf("%s",ss+1);for(int j=1;j<=m;j++) {s[id(i,j)]=ss[j];if(s[id(i,j)]=='#') {for(int k=0;k<4;k++) {int x=i+dx[k],y=j+dy[k];if(check(x,y)) ban[id(x,y)]=1;}}}}for(int i=1;i<=n;i++) {for(int j=1;j<=m;j++) {if(ban[id(i,j)]) continue;for(int k=0;k<4;k++) {int x=i+Dx[k],y=j+Dy[k];if(check(x,y)&&!ban[id(x,y)]) insert(id(i,j),id(x,y),s[id(x,y)]=='.');}}}fill(d+1,d+n*m+1,inf);lt=N*2+1,rt=N*2;for(int i=1;i<=n;i++) {if(s[id(i,1)]=='.') d[id(i,1)]=1,q[++rt]=id(i,1);else d[id(i,1)]=0,q[--lt]=id(i,1);}while(lt<=rt) {int x=q[lt++]; vis[x]=1;for(int i=head[x];i;i=nxt[i]) {int y=ver[i],z=e[i];if(d[x]+z<d[y]) {d[y]=d[x]+z,pre[y]=x;if(z) q[++rt]=y; else q[--lt]=y;}}}int ans=inf,u=0;for(int i=1;i<=n;i++) {if(d[id(i,m)]<ans) ans=d[id(i,m)],u=id(i,m);}if(ans==inf) {puts("NO"); goto XJX;}while(u) s[u]='#',u=pre[u];puts("YES");for(int i=1;i<=n;i++) {for(int j=1;j<=m;j++) {putchar(s[id(i,j)]);}puts("");}}return 0;
}

相关新闻

  • 2025大模型九大厂商全景复盘:从OpenAI到DeepSeek,2026十大趋势预判,小白程序员必学指南
  • 2025年耐水腻子粉厂家实力推荐:福州高彪建材,内墙/外墙/耐水腻子粉全品类供应 - 品牌推荐官
  • YOLOv8模型推理接口封装:构建RESTful API服务

最新新闻

  • 10分钟搞定ESP32开发环境:Arduino ESP32终极安装指南
  • 不平衡数据处理三层次实战:数据/算法/评估全链路方案
  • 2026年广州展厅设计公司排名:基于性价比与综合服务能力分类 - 信息热点
  • 重庆托福培训哪家强?实地验证搭配免费试听 - 晴光转树
  • ComfyUI_smZNodes:5大核心技术突破实现跨平台AI绘画一致性解决方案
  • 避雷!重庆日语学习者挑选培训机构看资质存证 - 晚香时候

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号