pku 3533 Light Switching Game(nim 积)

 第一个nim积题目。nim积与nim和够成一个正整数域上的群。nim积用⊗表示,nim和用⊕表示。
和乘法类似:
    x⊗1=1⊗x=x
    y⊗0=0
    (x⊗y)⊗z=x⊗(y⊗z)
⊕是异或运算。⊗的运算法则定义为:

   1.The nimber product of distinct Fermat 2-powers (numbers of the form 2^{2^n}) is equal to their ordinary product
   2.The nimber square of a Fermat 2-power x is equal to 3 x/2 as evaluated under the ordinary multiplication of natural numbers.
  这是维基百科上的定义,Fermat 2-powers前几个数是:2,4,16,256 ...
  (1)对任意的x如果不是2的幂形式,就要把它化为二进制和的形式如:3=2+1,同样y也这么处理。利用分配率,可以得到logn个2^a⊗2^b相加的式子.
  (2)再定义个函数来处理2的幂相乘的情况,将2^a化成Fermat 2-power相乘的形式,把2^a和2^b中不同的相直接相乘,而相同的项根据定义2,该项乘3/2.这样得到了一些一般的数,在调用(1)中的函数。
可以看到这两个函数是相互嵌套这的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值