BSOJ1165【BZOJ3329】 Xorequ
题目

分析
显然两问的解决办法不一样。
对于第一问,显然可以数位\(dp\),然后直接做就没了。
对于第二问,我们可以挖掘性质,发现上面等式成立的条件就是这个数的每一个二进制位为1的位置都不相邻。
于是我们考虑根据二进制的每一位来dp,那么很容易发现 \(dp[i+1]=dp[i]+dp[i-1]\) (表示如果这一位取1就是\(dp[i-1]\),取0就是\(dp[i]\))
斐波那契数列,直接矩阵快速幂。
代码
数位dp部分还不会写,所以鸽了。

浙公网安备 33010602011771号