【Codeforces 1205C】Palindromic Paths(回文路径DP)
题目链接对于格子( i , j ) (i,j)(i,j)若i j ijij为奇数则称为奇点否则称为偶点。首先发现询问距离为2的两个格子就可以知道它们是否值相同。已知( 1 , 1 ) (1,1)(1,1)格子值为1( n , n ) (n,n)(n,n)格子值为0一遍BFS可以求出所有偶点的值。如果( 1 , 2 ) (1,2)(1,2)格子的值已知那么再一遍BFS可以求出所有奇点的值。我们假设( 1 , 2 ) (1,2)(1,2)格子值为0/1得到两种结果。因题目保证有解所以两种结果下必然存在一组合法询问的答案不同我们得到这组询问的答案就知道哪种结果正确了。我们用DP分别求出两种结果下所有询问的答案即可。设S [ x 1 ] [ y 1 ] [ x 2 ] [ y 2 ] S[x1][y1][x2][y2]S[x1][y1][x2][y2]表示( x 1 , y 1 ) (x1,y1)(x1,y1)与( x 2 , y 2 ) (x2,y2)(x2,y2)之间是否有合法回文路径它为YES的条件是( x 1 , y 1 ) (x1,y1)(x1,y1)和( x 2 , y 2 ) (x2,y2)(x2,y2)两个格子的值相同且它们之间存在合法路径并满足( x 1 , y 1 ) (x1,y1)(x1,y1)与( x 2 , y 2 ) (x2,y2)(x2,y2)相同或接壤或者存在( x 1 ′ , y 1 ′ ) (x1,y1)(x1′,y1′)( x 2 ′ , y 2 ′ ) (x2,y2)(x2′,y2′)满足( x 1 ′ , y 1 ′ ) (x1,y1)(x1′,y1′)是( x 1 , y 1 ) (x1,y1)(x1,y1)路径的后继( x 2 ′ , y 2 ′ ) (x2,y2)(x2′,y2′)是( x 2 , y 2 ) (x2,y2)(x2,y2)路径的前驱且S [ x 1 ′ ] [ y 1 ′ ] [ x 2 ′ ] [ y 2 ′ ] S[x1][y1][x2][y2]S[x1′][y1′][x2′][y2′]为YES。用记忆化搜索写起来会方便些复杂度为O ( n 4 ) O(n^4)O(n4)。在两遍BFS中一共用到了n 2 − 3 n^2-3n2−3个询问最后用到了一个询问询问总数为n 2 − 2 n^2-2n2−2符合题意。#includestdio.h#includealgorithm#includeiostream#includequeue#includecmath#includestring.h#includeset#defineLL long longusingnamespacestd;LLread(){LL sum0;charcgetchar();boolf0;while(c0||c9){if(c-)f1;cgetchar();}while(c0c9){sumsum*10c-0;cgetchar();}if(f)return-sum;returnsum;}intn;constintdx[]{2,1,1,0,0,-1,-1,-2};constintdy[]{0,1,-1,2,-2,1,-1,0};constintDX[]{0,1,-1,0};constintDY[]{1,0,0,-1};#defineCI const intboolCH(intx1,inty1,intx2,inty2){if(x1x2y1y2)return1;swap(x1,x2);swap(y1,y2);return(x1x2y1y2);}boolASK(CIx1,CIy1,CIx2,CIy2){printf(? %d %d %d %d\n,x1,y1,x2,y2);fflush(stdout);returnread()^1;}intqx[2505],qy[2505];structEX{boolS[55][55],vis[55][55];boolF[55][55][55][55],V[55][55][55][55];voidBFS(boolT){inth,t,i,x,y,x1,y1,x2,y2,rx,ry;if(!T){h1;t2;qx[1]1;qy[1]1;S[1][1]1;vis[1][1]1;qx[2]n;qy[2]n;S[n][n]0;vis[n][n]1;}else{ht1;qx[1]1;qy[1]2;S[1][2]0;vis[1][2]1;}while(ht){xqx[h];yqy[h];h;for(i0;i8;i){x1x;y1y;x2x1dx[i];y2y1dy[i];if(x21||x2n||y21||y2n||vis[x2][y2])continue;if(CH(x1,y1,x2,y2)){if(xx2yy2)rxx1,ryy1;elserxx2,ryy2;vis[rx][ry]1,S[rx][ry]S[x][y]^ASK(x1,y1,x2,y2),qx[t]rx,qy[t]ry;}}}}boolDFS(intx1,inty1,intx2,inty2){if(V[x1][y1][x2][y2])returnF[x1][y1][x2][y2];V[x1][y1][x2][y2]1;if(S[x1][y1]!S[x2][y2])returnF[x1][y1][x2][y2]0;if(abs(x1-x2)abs(y1-y2)1)returnF[x1][y1][x2][y2]1;inti,j,X1,Y1,X2,Y2;for(i0;i2;i){X1x1DX[i];Y1y1DY[i];if(X11||X1n||Y11||Y1n)continue;for(j2;j4;j){X2x2DX[j];Y2y2DY[j];if(X21X2nY11Y2nCH(X1,Y1,X2,Y2)DFS(X1,Y1,X2,Y2))returnF[x1][y1][x2][y2]1;}}returnF[x1][y1][x2][y2]0;}voidoutput(){puts(!);for(inti1;in;i){for(intj1;jn;j)printf(%d,S[i][j]);puts();}}}K1,K2;intmain(){nread();K1.BFS(0);K1.BFS(1);inti,j,k,t,x1,y1,x2,y2;for(inti1;in;i)for(intj1;jn;j)K2.S[i][j]K1.S[i][j]^((ij)1);for(i1;in;i)for(j1;jn;j)for(k1;kn;k)for(t1;tn;t){x1i;y1j;x2k;y2t;if(!CH(x1,y1,x2,y2))continue;K1.DFS(x1,y1,x2,y2),K2.DFS(x1,y1,x2,y2);if(K1.F[x1][y1][x2][y2]K2.F[x1][y1][x2][y2])continue;if(abs(x1-x2)abs(y1-y2)1)continue;if(ASK(x1,y1,x2,y2)K1.F[x1][y1][x2][y2])K2.output();elseK1.output();return0;}return0;}

相关新闻

Opus 5模型在Conductor平台的应用:性能接近Fable价格减半

Opus 5模型在Conductor平台的应用:性能接近Fable价格减半

最近在 AI 开发圈里,一个消息引起了不小的震动: Opus 5 模型正式登陆 Conductor 平台,性能接近 Fable 但价格直接减半 。这听起来像是营销噱头,但背后反映的是 AI 模型服务市场正在发生的实质性变化——不是简单的价格战&#x…

2026/7/28 19:11:24 阅读更多 →
MySQL Windows安装配置全攻略:从官方下载到安全部署

MySQL Windows安装配置全攻略:从官方下载到安全部署

你是不是也遇到过这样的场景:刚入职新公司,领导让你快速搭建一个本地开发环境,结果在MySQL安装这一步就卡住了?或者自己学习后端开发,被各种“一键安装”教程搞得晕头转向,最后连服务都启动不了? 网上关于MySQL安装的教程铺天盖地,但真正能让你“一次成功”的却不多。…

2026/7/28 19:11:24 阅读更多 →
2026年人工智能与智慧城市国际学术会议(IC-AISC 2026)

2026年人工智能与智慧城市国际学术会议(IC-AISC 2026)

2026 年人工智能与智慧城市国际学术会议(IC-AISC 2026)将于 2026 年 8 月 28-30 日在上海举办。在数字技术深度渗透的今天,人工智能的飞速迭代与智慧城市的加速建设正引发城市发展模式的根本性变革。二者的深度融合在推动城市治理效能提升、服…

2026/7/28 19:10:24 阅读更多 →

最新新闻

5分钟掌握FunClip:开源免费的AI智能视频剪辑终极方案

5分钟掌握FunClip:开源免费的AI智能视频剪辑终极方案

5分钟掌握FunClip:开源免费的AI智能视频剪辑终极方案 【免费下载链接】FunClip FunASR-powered video transcription, subtitle generation, and LLM-assisted clipping tool with a local Gradio UI. 项目地址: https://gitcode.com/GitHub_Trending/fu/FunClip …

2026/7/28 19:21:30 阅读更多 →
Chart.js折线图开发指南:从入门到企业级应用

Chart.js折线图开发指南:从入门到企业级应用

1. Chart.js折线图核心价值解析Chart.js作为当前最流行的开源可视化库之一,其折线图功能在数据监控、业务报表等场景中扮演着关键角色。我曾在多个企业级数据分析项目中深度使用这个工具,发现它最突出的优势在于:用极简的配置实现专业级图表效…

2026/7/28 19:21:30 阅读更多 →
港口物流-能源协同优化:Matlab实现与工程实践

港口物流-能源协同优化:Matlab实现与工程实践

1. 项目背景与核心价值海港作为全球贸易的关键节点,其能源系统正面临从传统化石能源向综合能源转型的挑战。我们团队在复现这篇顶级EI论文时发现,作者提出的物流-能量协同优化方法,本质上解决了三个行业痛点:港口设备(…

2026/7/28 19:21:30 阅读更多 →
从过热到冷静:我的Dell G15散热控制之旅与开源解决方案

从过热到冷静:我的Dell G15散热控制之旅与开源解决方案

从过热到冷静:我的Dell G15散热控制之旅与开源解决方案 【免费下载链接】tcc-g15 Thermal Control Center for Dell G15 - open source alternative to AWCC 项目地址: https://gitcode.com/gh_mirrors/tc/tcc-g15 当我的Dell G15在运行大型游戏时温度飙升到…

2026/7/28 19:21:30 阅读更多 →
小米MiMo大模型API调用全流程与实战技巧

小米MiMo大模型API调用全流程与实战技巧

1. 小米MiMo大模型API调用全流程解析作为国内首个对标OpenAI Codex的大规模预训练模型,小米MiMo自2025年发布以来就备受开发者关注。最近在V2EX社区看到不少关于API调用的讨论,发现很多新手在接入过程中会遇到各种报错(比如400错误、模型名称…

2026/7/28 19:21:29 阅读更多 →
gRPC接口自动化测试:从Protobuf契约到智能用例生成的工程实践

gRPC接口自动化测试:从Protobuf契约到智能用例生成的工程实践

1. 项目概述:从协议定义到自动化验证的闭环在微服务架构成为主流的今天,gRPC凭借其高性能、跨语言和强类型契约的优势,几乎成了服务间通信的事实标准。但随之而来的测试挑战也日益凸显:面对一堆.proto文件,测试同学如何…

2026/7/28 19:20:29 阅读更多 →

日新闻

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:43 阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…

2026/7/28 0:00:43 阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:43 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻