转移自老blog

hdu1850

链接

http://acm.hdu.edu.cn/showproblem.php?pid=1850

题意

        桌子上有M堆扑克牌;每堆牌的数量分别为Ni(i=1…M);两人轮流进行;每走一步可以任意选择一堆并取走其中的任意张牌;桌子上的扑克全部取光,则游戏结束;最后一次取牌的人为胜者。现在我们不想研究到底先手为胜还是为负,我只想问大家:——“先手的人如果想赢,第一步有几种选择呢?”
        M<100 Ni<1000000

题解

        t=xorsum{Ni}
        Ni -> Ni' 后t=0
        则t^Ni^Ni'=0
        即t^Ni=Ni' 
        显然Ni'唯一存在
        又Ni'<Ni 等价于t^Ni<Ni
        sum{[t^Ni<Ni]}就是答案 

请我喝[茶]~( ̄▽ ̄)~*

fightinggg 微信支付

微信支付

fightinggg 支付宝

支付宝

fightinggg 贝宝

贝宝