1.实验内容
实验1.1
现有一个有n个元素的序列a=[a1,a2,⋯,an],定义这个序列的价值为1*a1+2*a2+…+n*an,空序列的价值为0。先给你一个长度为n的序列a,求a中所有子集价值的异或和,要求子集中元素的相对位置保持不变.
实验1.2
现有一个有n个元素的序列a=[a1,a2,⋯,an],定义其价值为a1⊕1+a2⊕2+…+an⊕n,给出这样一个序列,求其所有排列的价值vi的或.
2.测试结果
实验1.1
输入:
2
1 2
输出:
6
实验1.2
输入:
3
1 2 3
输出:
6
3.源代码
①实验1.1
#include<iostream>
using namespace std;
template <class T>