求助一个位运算和评测机问题
  • 板块学术版
  • 楼主wzmzmhk
  • 当前回复4
  • 已保存回复4
  • 发布时间2022/11/25 18:40
  • 上次更新2023/10/27 01:32:52
查看原帖
求助一个位运算和评测机问题
250983
wzmzmhk楼主2022/11/25 18:40

题目是 AH NOIP D1 模拟的第二题,侵权自删

题目:https://www.luogu.com.cn/problem/U263368

我的做法是,从高位到低位枚举,bfs 检查是否有路径可以满足这一位全部为 11,并且与之前的路径不冲突。

现在遇到的问题是,我无法判断一个数 xx 是否与 yy 满足以下条件:

  • 记最右边为第 00 位,则要求满足 yyi1i - 1 位左边的所有位数,如果有 11,则这一位 xx 必须也是 11,而 yy 的这一位如果是 00,则不用管 xx 在这一位的取值。

我的代码:https://www.luogu.com.cn/paste/9zh8wevx

我无法实现的就是代码里面的 check 函数,我使用了 log\log 的复杂度解决,仍然无法做到 O(1)O(1)

这导致,我即使开了 O2,也无法 AC:https://www.luogu.com.cn/record/94932954

所以我选择开大时限到 1.2s,但是,我仍然 TLE:https://www.luogu.com.cn/record/94933054

我把同一份代码交了一遍,期间没有更换代码,但是 AC 了:https://www.luogu.com.cn/record/94933083

可以注意到,这三份同样的代码,#10 的差距很大,请问是 lg 评测机问题还是代码有 UB 什么的导致效率不稳定。

2022/11/25 18:40
加载中...