码迷,mamicode.com
首页 > 其他好文 > 详细

BZOJ-2337-XOR和路径

时间:2015-03-14 18:36:38      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:高斯消元

描述

技术分享


分析

  • 转化为二进制按位来计算, 最后把每一位的加起来
  • f[i]表示i到n的期望路径长度, d[i]表示i的度
  • 因为i的期望是由i走到的点状态转移得到的, 所以在计算概率时应该用i的度来算
  • 如果i到j的边的权值的第 BIT 位是0, 任何数异或0都是它本身, 所以f[i] = f[j] / d[i] + …
  • 如果i到j的边的权值的第 BIT 位是1, 异或一相当于取反. 所以f[i] = (1-f[j]) / d[i] + …
  • 然后列出f[i]的方程, 移项使所有的f值在左边, 右边剩一堆常数, 就可以高斯消元了.
  • 有n个方程, n个变量. 解出X, ans = sum{X[0] * (1 << BIT) | 0 <= BIT < 30 即可}

代码

https://code.csdn.net/snippets/619507

BZOJ-2337-XOR和路径

标签:高斯消元

原文地址:http://blog.csdn.net/qq_21110267/article/details/44261341

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!