专栏文章

P13685 【MX-X16-T3】「DLESS-3」XOR and Impossible Problem

P13685题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mioen7g6
此快照首次捕获于
2025/12/02 17:57
3 个月前
此快照最后确认于
2025/12/02 17:57
3 个月前
查看原文
这道题看楼下的大佬,不太明白推出来的公式,我就发一篇用暴力水过去的题解吧,首先,我们注意到它是要求累乘和,我们先暴力枚举一下,发现时间复杂度是远远大于题目要求的,我们再想怎么优化,很显然,累乘和,只要有一个数是零,那么乘出来的答案一定是零,这时候直接跳出循环就可以了。
下面附上本蒟蒻的代码:
CPP
#include <bits/stdc++.h>

using namespace std;

const int N = 1e6 + 5;

unsigned long long n,t,ans = 1,a[N];
const unsigned long long mod = pow (2,64);

int main () {

    cin >> t;

    while (t --) {

        cin >> n;

        for (int i = 1;i <= n;i ++) cin >> a[i];
        
        for (int i = 1;i <= n;i ++) {//暴力枚举
            for (int j = i + 1;j <= n;j ++) {

                ans = ((ans % mod) * ((a[i] ^ a[j]) % mod)) % mod;
                if (ans == 0) break;//当答案是零的时候直接退出循环,输出答案
                
            }
            if (ans == 0) break;
        }
        cout << ans % mod << '\n';//别忘了取余
        ans = 1;//答案初始化为一,不然乘出来的答案就都是零了。
    }
    return 0;
}

评论

0 条评论,欢迎与作者交流。

正在加载评论...