题目地址:https://nanti.jisuanke.com/t/38230
嵌套规则如下:
给出数组和x,y,求w(x,y)的值
打表找规律(;´༎ຶД༎ຶ`)。。。比赛的时候没有找对,比完手算找规律,也可以用代码打表(还不太会)
‘④’符号表示这堆元素重复出现了多少次,黑色的圈表示最终选择(留下)的数据
令len1=y-x+1,len2=(y-x)/2+1
以w(1,9)为例,w(x,y)->f(i,j)的结果如下:其中i次表示这一行中的所有f(i,j)都在最外面的框里出现了i次(emm自己列一下会比较好懂)
一共出现了len1=y-x+1=9-1+1=9行(奇数)
f(i,j)->ai结果如下:
图中一共了len2=(y-x)/2+1=(9-1)/2+1=5行(奇数)
从图中可以看出最后的结果是a1^a5^a9即ax^a(x+4)^a(x+8)^...^ay
但是如果是偶数行呢,以w(1,11)为例(仍在len1为奇数的前提下),对应的f(i,j)->ai结果如下:
图中一共len2=(y-x)/2+1=6行(偶数)
从图中可以看出最后的结果是a2^a6^a10即a(x+1)^a(x+1+4)^a(x+1+8)^....^a(y-1)
以w(1,10)为例,w(x,y)->f(i,j)的结果如下
f(i,j)->ai的结果如下:
图中一共有len2=(y-x)/2+1=5行(奇数)
最终结果为:a1^a2^a5^a6^a9^a10即ax^a(x+4)^a(x+8)^...^a(y-1) ^ a(x+1)^a(x+1+4)^a(x+1+8)^....ay
如果上图是偶数行呢?以w(1,12)为例,f(i,j)->ai的结果如下:
图中共有len2=(y-x)/2+1=6行(偶数)
最终结果为0
综上所述:
len1为奇数:1⃣️ len2为奇数: ans=ax^a(x+4)^a(x+8)^...^ay
2⃣️len2为偶数: ans=a(x+1)^a(x+1+4)^a(x+1+8)^...^a(y-1)
len1为偶数: 1⃣️ len2为奇数: ans=ax^a(x+4)^a(x+8)^....^a(y-1) ^ a(x+1)^a(x+1+4)^a(x+1+8)^...^ay
2⃣️len2为偶数: ans=0
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include