早教吧作业答案频道 -->数学-->
一道关于异或的算法题,给你一个数列,叫你算出所有连续子序列的和的异或值就是例如(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办公室里面的人不少于8人/多于8人.2去找一根3米长的绳子3你敢从6米高的阳台上4天气越 2020-05-13 …
英语翻译1.用汉语2.一个橙子3.你的钢笔4.一件夹克5.一幅地图6.一床被子 2020-05-14 …
检查翻译的英语句子:3.你知道这张钱上的人的名字吗? Do you know the name o 2020-05-16 …
英语翻译1.这就是我不喜欢他的原因.2.星期天是孩子们玩得最快乐的日子.3.你知道他为什么那么快就 2020-05-22 …
用地道的英语口语怎么说这些话?最好是生活在国外的人,1第一轮给每个人发3袋包子2第二轮给每个人发一 2020-06-13 …
根据字的不同意思组词深1感情好2很,非常3道理难懂饱1吃饱了2充分,充足3满足异1不同2另外的3惊 2020-06-30 …
排列句子重新排列下列句子,使句子意思连贯.(填序号)1绿是生命的颜色2春雨过后,草尖上、树梢上冒出 2020-07-01 …
选词填空喂哎1."(),西蒙的日子真难过,进去看看吧!"2."(),毕竟有人夸我,尽管她是个可怜的 2020-07-24 …
同时掷两个质四均匀你骰子,观察面朝上你点数,计算下列事件你概率:(1)至y有一个骰子你点数为3.(2 2020-11-18 …
英语翻译1他开了一辆红色的跑车.2他开了一辆轿车进入了院子/离开了院子3你喜欢什么颜色的车4我喜欢白 2020-11-22 …