通信题:洛谷P15942 [JOI Final 2026] 赌场 / Casino题解

第一次做通信题,感觉十分有趣。

思路

通信题,顾名思义,就是两个程序进行通讯。既然是通讯,那就一定要有人进行干涉或要求程序进行压缩。本题就是有人进行干涉。

一共有 8×8=648\times 8=648×8=64 个数据,要求传输 515151 个数据。这就很巧了呀!我们从表格的左上角开始 BFS 搜索,将距离左上角为 111 的点、将距离左上角为 222 的点......划分为一组。

那么每一组都会有且仅有一个点被干涉者经过。其中,左上角与右下角是一定会被经过的,这就相当于没有经过(翻转一下就是原来的值了)。64−2×8+1+2=5164-2\times 8+1+2=5164−2×8+1+2=51,也就是说每一组只能有一个空闲的点。

我们考虑对每一组设置一个"警报器"。如果我们知道上一组被干涉者经过的位置,那么这一组就只有两个"嫌疑位置"。这两个位置在这一组中,一定是第奇数个和第偶数个。我们只需将警报器的值设置为所有奇数位的异或和,这样就容易判断出被干涉者污染的位置了。

特别的,如果警报器是"嫌疑位置",可以通过判断所有奇数位的异或和是否等于警报器的值来推断干涉者经过的位置。

代码

洛谷什么时候传数据啊,可以用 IO 式通信的方式吧。

相关推荐
周末也要写八哥17 分钟前
经典算法实例:游戏中弱角色的数量(二)
算法
是Yu欸32 分钟前
鸿蒙PC移植:2048 从网页小游戏到 AI 桌面应用
大数据·人工智能·算法·数据挖掘·openharmony·codex
鹿角片ljp42 分钟前
KV Cache 解析
java·算法
liliangcsdn1 小时前
IVOL与偏度因子的对比测量分析
算法
qq_199886872 小时前
第6板块·第4节:构建系统与多文件项目
c++·人工智能·gpu算力
threerocks2 小时前
Jev 入门第一课
算法
汉克老师3 小时前
GESP2026年9月认证C++三级( 第三部分编程题(2、分割字符串))精讲
c++·gesp·小学生·学c++编程
估值探索者3 小时前
【Python量化系统工程化 #08】关了 SSH 就停?systemd 让脚本开机自启 + 异常自动拉起
java·c++·人工智能·分类·数据挖掘
西柚研究生1234563 小时前
论文分析17:YOLOv11_UAVNet:无人机航拍图像专用目标检测算法
人工智能·python·深度学习·算法·目标检测
天若有情6733 小时前
C++花式魔改!手写头文件复刻Java语法,彻底打破编码思维定式
java·c++·语言做语言·jac++