昨天才做了一道高斯消元,一下要精度判断,一下又不要精度判断
主要是思路很重要
很容易想到每一个二进制位算一个概率,然后求和,设f[i]为走到从i走到n这一个二进制位为1的概率
f[i]:=∑{f[j]/d[i](i到j的路径这一位是0),(1-f[j])/d[i],(i到j的路径这一位是1)}(f[n]直接设为0)

 var
f:array[..,..]of extended;
d:array[..]of longint;
v,u,w:array[..]of longint;
ans:extended;
n,m:longint; procedure swap(var x,y:extended);
var
t:extended;
begin
t:=x;
x:=y;
y:=t;
end; procedure init;
var
i:longint;
begin
read(n,m);
for i:= to m do
begin
read(v[i],u[i],w[i]);
inc(d[v[i]]);
inc(d[u[i]]);
if u[i]=v[i] then dec(d[u[i]]);
end;
end; procedure work;
var
t,i,j,k:longint;
s:extended;
begin
for t:= to do
begin
for i:= to n do
for j:= to n+ do
f[i,j]:=;
for i:= to n do
f[i,i]:=;
for i:= to m do
if w[i]and(<<t)= then
begin
f[v[i],u[i]]:=f[v[i],u[i]]-/d[v[i]];
f[u[i],v[i]]:=f[u[i],v[i]]-/d[u[i]];
if u[i]=v[i] then f[v[i],v[i]]:=f[u[i],u[i]]+/d[v[i]];
end
else
begin
f[v[i],u[i]]:=f[v[i],u[i]]+/d[v[i]];
f[u[i],v[i]]:=f[u[i],v[i]]+/d[u[i]];
f[v[i],n+]:=f[v[i],n+]+/d[v[i]];
f[u[i],n+]:=f[u[i],n+]+/d[u[i]];
if v[i]=u[i] then
begin
f[u[i],v[i]]:=f[u[i],v[i]]-/d[u[i]];
f[v[i],n+]:=f[v[i],n+]-/d[v[i]];
end;
end;
for i:= to n- do
begin
for j:=i to n- do
if f[j,i]<> then break;
for k:=i to n+ do
swap(f[i,k],f[j,k]);
for j:=i+ to n- do
if abs(f[j,i])> then
begin
s:=f[j,i]/f[i,i];
f[j,i]:=;
for k:=i+ to n+ do
f[j,k]:=f[j,k]-s*f[i,k];
end;
end;
for i:=n- downto do
begin
for j:=i+ to n- do
f[i,n+]:=f[i,n+]-f[j,]*f[i,j];
f[i,]:=f[i,n+]/f[i,i];
end;
ans:=ans+f[,]*(<<t);
end;
write(ans::);
end;

2337:[HNOI2011]XOR和路径 - BZOJ的更多相关文章

  1. 【概率DP/高斯消元】BZOJ 2337:[HNOI2011]XOR和路径

    2337: [HNOI2011]XOR和路径 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 682  Solved: 384[Submit][Stat ...

  2. BZOJ 2337: [HNOI2011]XOR和路径( 高斯消元 )

    一位一位考虑异或结果, f(x)表示x->n异或值为1的概率, 列出式子然后高斯消元就行了 --------------------------------------------------- ...

  3. BZOJ 2337: [HNOI2011]XOR和路径 [高斯消元 概率DP]

    2337: [HNOI2011]XOR和路径 题意:一个边权无向连通图,每次等概率走向相连的点,求1到n的边权期望异或和 这道题和之前做过的高斯消元解方程组DP的题目不一样的是要求期望异或和,期望之间 ...

  4. 【BZOJ 2337】 2337: [HNOI2011]XOR和路径(概率DP、高斯消元)

    2337: [HNOI2011]XOR和路径 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1170  Solved: 683 Description ...

  5. 【BZOJ】2337: [HNOI2011]XOR和路径 期望+高斯消元

    [题意]给定n个点m条边的带边权无向连通图(有重边和自环),在每个点随机向周围走一步,求1到n的期望路径异或值.n<=100,wi<=10^9. [算法]期望+高斯消元 [题解]首先异或不 ...

  6. bzoj 2337: [HNOI2011]XOR和路径

    Description Input Output Sample Input Sample Output HINT Source Day2 终于把这个史前遗留的坑给填了... 首先异或的话由位无关性,可 ...

  7. ●BZOJ 2337 [HNOI2011]XOR和路径

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=2337题解: 概率dp, 因为异或的每一位之间没有关系,我们就依次考虑每一位k.(即边权要么为 ...

  8. bzoj 2337 [HNOI2011]XOR和路径【高斯消元+dp】

    首先,我们发现,因为是无向图,所以相连的点之间是有"依赖性"的,所以不能直接用dp求解. 因为是xor,所以按位处理,于是列线性方程组,设$ x[i] $为点i到n异或和为1的期望 ...

  9. BZOJ 2337 [HNOI2011]XOR和路径 ——期望DP

    首先可以各位分开求和 定义$f(i)$表示从i到n的期望值,然后经过一些常识,发现$f(n)=1$的时候的转移,然后直接转移,也可以找到$f(n)=0$的转移. 然后高斯消元31次就可以了. #inc ...

随机推荐

  1. Sublime text3 安装

    Sublime是一款跨平台的前端开发神器,国外的一款共享软件,虽然是未注册的但不影响使用. 一.下载最新版的安装包 官网地址:http://www.sublimetext.com/3 --portab ...

  2. Html5中的video元素

    最近在做门户的时候遇到要显示企业的视频介绍,需要找到一个在aspx页面播放视频的html,最后找到了是一段HTML5最新的html代码,如下: /// <summary> /// 播放视频 ...

  3. js和jQuery创建元素和把元素插入到文档中所用的方法

    js创建元素: document.createElement(" 创建的元素");   //“创建的元素”指:p ,h1,div,span........ js插入元素: docu ...

  4. CSS之边框属性

    border-style 属性用于设置元素所有边框的样式,或者单独地为各边设置边框样式. border-style:dotted solid double dashed; border-style的属 ...

  5. 自己封装的SqlHelper

    using System; using System.Collections.Generic; using System.Configuration; using System.Data; using ...

  6. 【转】Android属性之build.prop,及property_get/property_set

    简要分析一下build.prop是如何生成的.Android的build.prop文件是在Android编译时收集的各种property(LCD density/语言/编译时间, etc.),编译完成 ...

  7. 委托[delegate]_C#

    委托(delegate): 委托声明定义了一种类型,它用一组特定的参数以及返回类型来封装方法.对于静态方法,委托对象封装要调用的方法.对于实例方法,委托对象同时封装一个实例和该实例上的一个方法.如果您 ...

  8. IPoint从自定义的投影坐标系转换到自定义的地理坐标系

    IPoint pointStart = new PointClass(); pointStart = xyPolyline.FromPoint; ISpatialReferenceFactory pS ...

  9. Alluxio1.0.1最新版(Tachyon为其前身)介绍,+HDFS分布式环境搭建

    Alluxio(之前名为Tachyon)是世界上第一个以内存为中心的虚拟的分布式存储系统.它统一了数据访问的方式,为上层计算框架和底层存储系统构建了桥梁. 应用只需要连接Alluxio即可访问存储在底 ...

  10. 长度有限制的字符串hash函数

    长度有限制的字符串hash函数 DJBHash是一种非常流行的算法,俗称"Times33"算法.Times33的算法很简单,就是不断的乘33,原型如下 hash(i) = hash ...