早教吧作业答案频道 -->数学-->
一道关于异或的算法题,给你一个数列,叫你算出所有连续子序列的和的异或值就是例如(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)
通过记录中间值,以空间换时间,应该可以.
看了 一道关于异或的算法题,给你一...的网友还看了以下:
已知二次函数y=(x-h)2+1(h为常数),在自变量x的值满足1≤x≤3的情况下,与其对应的函数 2020-06-12 …
5 5 5 5 5=0或1或2或3或4是怎么做的?5之间可以随便用加减乘除及小括号! 2020-06-27 …
用上()+—x÷使这个等式成立55555=0/1/2/3.就是用上加减乘除括号使5个5等于0或1或 2020-06-29 …
将下列句子翻译成英语~!1)我们很高兴同阁下一道欢庆这个光辉的节日.2)我真诚的希望彼此之间继续密 2020-07-24 …
已知二次函数y=(x-h)2+1(h为常数),在自变量x的值满足1≤x≤4的情况下,与其对应的函数 2020-07-25 …
M={1,2},求P={X|X属于M}P是不是有四个解啊?P={1,2}或{1}或{2}或空集,还 2020-07-30 …
命题:“若x2<1,则-1<x<1”的逆否命题是()A.若x≥1或x≤-1,则x2≥1B.若-1< 2020-08-01 …
跪求高手:一个数除2余1,被3整除,不能被5整除,除7不能余1或6,在100以内这样的数是哪几个?怎 2020-11-19 …
以1个月或1个季度为一期纳税的,自期满之日起15日内申报纳税比如以1个月为一以1个月或1个季度为一期 2020-12-16 …
已知二次函数y=(x-h)2+1(h为常数),在自变量x的值满足1≤x≤3的情况下,与其对应的函数值 2021-01-09 …