早教吧作业答案频道 -->数学-->
一道关于异或的算法题,给你一个数列,叫你算出所有连续子序列的和的异或值就是例如(1,2,3),连续子序列有(1),(2),(3),(1,2),(2,3),(1,2,3),他们的和分别是1,2,3,3,5,6,就是计算1^2^3^
题目详情
一道关于异或的算法题,给你一个数列,叫你算出所有连续子序列的和的异或值
就是例如(1,2,3),连续子序列有(1),(2),(3),(1,2),(2,3),(1,2,3),他们的和分别是1,2,3,3,5,6,就是计算1^2^3^3^5^6的值,不能硬来的(会超时),有什么方法呢求救
就是例如(1,2,3),连续子序列有(1),(2),(3),(1,2),(2,3),(1,2,3),他们的和分别是1,2,3,3,5,6,就是计算1^2^3^3^5^6的值,不能硬来的(会超时),有什么方法呢求救
▼优质解答
答案和解析
先求 (1) :S1 = 1,记录下S1
再求 (1,2) S2 = S1 ^ 2 ^ (2+1) = 1 ^ 2 ^ 3 = 0,记录下S2和 2,3
再求 (1,2,3) S3 = S2 ^ 3 ^ (3+2) ^ (3+3) = 0 ^ 3 ^ 5 ^ 6 = 0
设个数是N
共需要算N次,每次计算k次加法和k次异或,共计算 N(N+1)次
算法时间复杂度是 O(N平方),空间复杂度是O(N)
这个复杂度是不会超时的.
如果直接硬来,
长度为k的子序列数量有 N+1-k 个
则共有N(N+1)/2个子序列,每个自序列需要计算k次加法.
最后大约计算 K的三次方/3 次加法,最后
这个时间复杂度是 O(N的3次方),空间复杂度是O(1)
通过记录中间值,以空间换时间,应该可以.
再求 (1,2) S2 = S1 ^ 2 ^ (2+1) = 1 ^ 2 ^ 3 = 0,记录下S2和 2,3
再求 (1,2,3) S3 = S2 ^ 3 ^ (3+2) ^ (3+3) = 0 ^ 3 ^ 5 ^ 6 = 0
设个数是N
共需要算N次,每次计算k次加法和k次异或,共计算 N(N+1)次
算法时间复杂度是 O(N平方),空间复杂度是O(N)
这个复杂度是不会超时的.
如果直接硬来,
长度为k的子序列数量有 N+1-k 个
则共有N(N+1)/2个子序列,每个自序列需要计算k次加法.
最后大约计算 K的三次方/3 次加法,最后
这个时间复杂度是 O(N的3次方),空间复杂度是O(1)
通过记录中间值,以空间换时间,应该可以.
看了 一道关于异或的算法题,给你一...的网友还看了以下:
按要求写出句子1.你想知道中国最高的山是什么,该问?2.你想告诉别人你比Tom重,该说?3.你想向 2020-05-02 …
英语翻译1你不要指望他说出这件事是谁干的2没想到事情变成这样3这项措施的目的在于减少交通事故4要成 2020-05-13 …
分别用5个1,5个2,5个3,5个4,5个5,5个6,5个7,5个8,5个9列算式计算100,例1 2020-05-22 …
一个数被13除时,商是k,余数为2;被17除时余数为2,问k被17除余几?1L真是站着说话不腰疼, 2020-07-16 …
我又有作业题不会写勒``帮帮(1)请你将-5,-3,-2,-1,0,1,2,3,5,这9个数分别填入 2020-11-04 …
北京2008年奥运会吉祥物由5个拟人化的娃娃形象组成,统称“福娃”,分别叫“贝贝”、“晶晶”、“欢欢 2020-11-10 …
从小学开始,我们已在不同的情形中多次使用例如5-3、-3、-(-5)等.你能分别说出这3个“-”的意 2020-11-28 …
1,我认为这是个好主意.2,我们认为你最好别买那房子.3,我恐怕不能买得起那辆昂贵的汽车.4,我想知 2020-12-03 …
中译英急!1.你认为我该接受她的劝告吗?2.晚饭后出去散步是个好主意吗?3.你最好别把这个坏消息告诉 2020-12-19 …
英语翻译1.你认为我该接受她的劝告吗?2.晚饭后出去散步是个好注意吗?3.你最好别把这个坏消息告诉他 2020-12-19 …