Algorithm 超立方体中坐标数的计算
在N维网格中,单元的坐标表示为X1、X2、…、XN。任何坐标为负的单元格均为白色。原始单元格(坐标为零的单元格)的颜色为黑色。(X1,X2,…,XN)中单元的颜色取决于具有坐标(X1-1,X2,…,XN)、(X1,X2-1,…,XN)、(X1,X2,…,XN-1)的N个单元。当且仅当N坐标中黑色单元格的数量为偶数时,单元格为白色,否则单元格为黑色 现在,给定子超立方体的起始坐标和结束坐标。所有坐标都将是完成查询的非负整数。我们要计算这个超立方体中有多少超单元是黑色的Algorithm 超立方体中坐标数的计算,algorithm,math,Algorithm,Math,在N维网格中,单元的坐标表示为X1、X2、…、XN。任何坐标为负的单元格均为白色。原始单元格(坐标为零的单元格)的颜色为黑色。(X1,X2,…,XN)中单元的颜色取决于具有坐标(X1-1,X2,…,XN)、(X1,X2-1,…,XN)、(X1,X2,…,XN-1)的N个单元。当且仅当N坐标中黑色单元格的数量为偶数时,单元格为白色,否则单元格为黑色 现在,给定子超立方体的起始坐标和结束坐标。所有坐标都将是完成查询的非负整数。我们要计算这个超立方体中有多少超单元是黑色的 请给我一些提示、参考资料或任
请给我一些提示、参考资料或任何能帮助我解决问题的东西。蛮力算法:
fill the hypercube (the needed part) with value 'unknown'.
color[00000] = 1 #black
sum = 0
for each cell in sub-hypercube:
sum += getcolor(cell)
return sum
getcolor(cell):
if color[cell] == unknown
c = 0 #white
for each neighbour cell in decreasing direction within non-negative boundary:
c = c xor getcolor(neighbour)
color[cell] = c
return color[cell]
这条规则产生了众所周知的分形- 以下是它的2D图像:
什么意思
任何带有负坐标的单元格
?任何至少有一个负坐标或只有负坐标的单元?任何单元坐标由n个分量组成。这是指如果任何一个分量是负数,那么超立方体的起始坐标和结束坐标是多少?我认为超立方体是{0,1}^n
(即只有长度为n的0-1元组)。你对(子)超立方体的定义如何?“开始”和“结束”坐标是给定的,长度为n的0-1元组表示“单位超立方体”。