洛谷——P3909 异或之积】的更多相关文章

P3909 异或之积 题目描述 对于A_1,A_2,A_3,\cdots,A_NA1​,A2​,A3​,⋯,AN​,求 (6\times \sum_{i=1}^N\sum_{j=i+1}^N\sum_{k=j+1}^N A_i\times A_j\times A_k)\ mod\ (10^9+7)(6×∑i=1N​∑j=i+1N​∑k=j+1N​Ai​×Aj​×Ak​) mod (109+7) 的值. 输入输出格式 输入格式: 第1 行,1 个整数NN. 第2 行,NN个整数A_1,A_2,A_…
原题链接 本人看了其它解法,发现本人的解法还是 首创 ! 而且我的解法好像和 \(\times 6\) 没什么关系 -- (如果没 \(\times 6\),我没还不用算逆元) 别人的思路呢,大都是从 \(\times 6\) 想到三个数的全排列,然后交换顺序枚举. 下面看我的方法. 先抛开 \(\times 6\). \[\sum_{i=1}^n \sum_{j=i+1}^n \sum_{k=j+1}^n a_i \times a_j \times a_k \] \[= \sum_{j=1}^…
P3909 异或之积 为什么叫做异或之积? 答曰:只要不关乎Alice和Bob就行 做完这道水题,感觉自己弱爆了. 一开始就要考虑暴力\(O(n^3)\)的优化. 然后就注意到了题目中的\(6\)为什么不是⑨ 然后就想到了全排列,然后根据全排列瞎搞了一波. 如下: 注意到\(A_i*A_j*A_k=A_j*A_k*A_i\),然后三个元素的全排列个数就是6 然后题意转变为从一堆数中,不重复,不遗漏的选出三个元素,求出所有三元组的积的和 怎么实现呢? 一开始就是\(O(N^3)\)的暴力 然后发现…
洛谷 P3908 异或之和 题目描述 求1⨁2⨁⋯⨁N 的值. A⨁B 即 AA, B 按位异或. 输入输出格式 输入格式: 1 个整数 N . 输出格式: 1 个整数,表示所求的值. 输入输出样例 输入样例#1:  3 输出样例#1:  0 说明 • 对于50% 的数据, 1≤N≤10^6 : • 对于100% 的数据, 1≤N≤10^18 . #include<cstdio> #include<iostream> #include<algorithm> using…
题目大意:给定一个 N 个数字组成的序列,求 \[ \left(6 \times \sum_{i=1}^{N} \sum_{j=i+1}^{N} \sum_{k=j+1}^{N} A_{i} \times A_{j} \times A_{k}\right) \bmod \left(10^{9}+7\right) \] 题解: 各个变量之间相互独立是优化的前提. \[ \begin{array}{l}{\sum_{i=1}^{n} \sum_{j=i+1}^{n} \sum_{k=j+1}^{n}…
传送门啦 传送门啦 一般这种位运算的题都要把每一位拆开来看,因为位运算每个位的结果这和这一位的数有关. 这样我们用s[i]表示a的前缀和,即 $ a[1]+a[2]+....a[i] $ ,然后我们从这些数二进制最右位 $ 2^0 $ 开始,按照每一位对答案的贡献来计算. 假设我们现在算到最右位 $ 2^0 $ ,并且位于第i个数,我们想要知道以i结尾的连续和对答案的贡献,只需要知道有多少 $ s[i]-s[j](0<=j<i)$ 的 $ 2^0 $ 位是1. (设s[0]=0) 如果这个数是…
P3908 异或之和 题目描述 求1 \bigoplus 2 \bigoplus\cdots\bigoplus N1⨁2⨁⋯⨁N 的值. A \bigoplus BA⨁B 即AA , BB 按位异或. 输入输出格式 输入格式: 1 个整数NN. 输出格式: 1 个整数,表示所求的值. 输入输出样例 输入样例#1: 复制 3 输出样例#1: 复制 0 说明 • 对于50% 的数据,1 \le N \le 10^61≤N≤106: • 对于100% 的数据,1 \le N \le 10^{18}1≤…
https://www.luogu.org/problemnew/show/P3908 题目描述 求1 \bigoplus 2 \bigoplus\cdots\bigoplus N1⨁2⨁⋯⨁N 的值. A \bigoplus BA⨁B 即AA , BB 按位异或. 输入输出格式 输入格式: 1 个整数NN. 输出格式: 1 个整数,表示所求的值. 输入输出样例 输入样例#1: 复制 3 输出样例#1: 复制 0 说明 • 对于50% 的数据,1 \le N \le 10^61≤N≤106: •…
LOJ 洛谷 考场上都拍上了,8:50才发现我读错了题=-= 两天都读错题...醉惹... \(Solution1\) 先求一遍前缀异或和. 假设左端点是\(i\),那么我们要在\([i,n]\)中找一个\(sum_j\)使得它和\(sum_{i-1}\)异或最大.可以可持久化Trie. 对\(i\in[1,n]\)都求一遍它能得到的最大的异或值,扔到堆里. 每次从堆里找出值最大的,假设是\(x\),与\(sum_{x-1}\)异或得到最大值的数是\(sum_y\),那么之后就不能选\(sum_…
题目链接 [洛谷传送门] [LOJ传送门] 题目大意 让你求区间异或和前\(k\)大的异或和的和. 正解 这道题目是Blue sky大佬教我做的(祝贺bluesky大佬进HA省A队) 我们做过某一些题目,非常的相似.[超级钢琴]还有[最小函数值]还有[最大异或和] 感觉这一些题目拼在一起就变成了这一道水题. 首先我们需要预处理出,所有区间的异或最大值. 这个东西可以用可持久化\(01trie\)实现,那么我们思考一下如何实现查询第\(k\)大的值的操作. 以下是关于01字典树中查询第k大的操作的…