T2

其实这道题比 T1 简单不少。

看到题一眼 dfs,但是明显暴搜会 T 飞。赛时没有想到优化方法,用的乱搞骗分。

正解很好理解,暴搜是 \(O(2^n)\) 的,而最大范围是 \(45\)\(2^{45}\) 太大。怎么办?可以把他在中间分一半,先计算出前面部分的 \(sum\),那么总和减去后面算的答案如果与 \(sum\) 相等就是正确答案了!

可以用 unsigned long long 来自然溢出避免取模。记录 \(sum\)unordered_map 查询 \(O(1)\)

posted @ 2025-08-15 08:12  swate  阅读(3)  评论(0)    收藏  举报
body{ cursor: url(https://files.cnblogs.com/files/wkfvawl/cursor.ico),auto; }