之前我们曾经用dp解决过数学期望问题,这次我们用的是解方程的方法
首先在编号之前,肯定要求出每条边的期望经过次数
然后可以转化为求边端点的期望次数
这种做法我一开始接触是noip2013的初赛问题求解,是类似的思想
当出现循环无法用dp解决时,我们考虑列方程
设pi为点i的期望经过次数
则容易得到pi=sigma(pj/dj) dj表示出度,j是与i相邻的点
特殊的p1=1+sigma(pj/dj) pn=0(因为到n就停止了)
于是我们可以得到一个方程组,这样就可以用高斯消元求解
解出之后就能求出边的期望经过次数了,然后贪心分配编号即可

 var w:array[..,..] of longint;
a:array[..,..] of double;
x,y:array[..] of longint;
c,p:array[..] of double;
d:array[..] of longint;
i,j,k,n,m:longint;
ans:double; procedure swap(var a,b:double);
var c:double;
begin
c:=a;
a:=b;
b:=c;
end; procedure calc;
var i,j,k,w:longint;
begin
for i:= to n do
begin
w:=i;
for k:=i+ to n do
if abs(a[k,i])>abs(a[w,i]) then w:=k;
if w<>i then
begin
for j:= to n+ do
swap(a[w,j],a[i,j]);
end;
for k:=i+ to n do
for j:=n+ downto i do
a[k,j]:=a[k,j]-a[i,j]*a[k,i]/a[i,i];
end;
p[n]:=;
for i:=n- downto do
begin
for j:=i+ to n do
a[i,n+]:=a[i,n+]-a[i,j]*p[j];
p[i]:=a[i,n+]/a[i,i];
end;
end; procedure sort(l,r: longint);
var i,j: longint;
x:double;
begin
i:=l;
j:=r;
x:=c[(l+r) shr ];
repeat
while c[i]<x do inc(i);
while x<c[j] do dec(j);
if not(i>j) then
begin
swap(c[i],c[j]);
inc(i);
j:=j-;
end;
until i>j;
if l<j then sort(l,j);
if i<r then sort(i,r);
end; begin
readln(n,m);
for i:= to m do
begin
readln(x[i],y[i]);
inc(d[x[i]]);
inc(d[y[i]]);
w[x[i],d[x[i]]]:=y[i];
w[y[i],d[y[i]]]:=x[i];
end;
a[,]:=-;
for i:= to d[] do
begin
k:=w[,i];
a[,k]:=/d[k];
end;
a[,n+]:=-;
for i:= to n- do
begin
for j:= to d[i] do
begin
k:=w[i,j];
a[i,k]:=/d[k];
end;
a[i,i]:=-;
end;
a[n,n]:=;
calc;
for i:= to m do
c[i]:=p[x[i]]/d[x[i]]+p[y[i]]/d[y[i]];
sort(,m);
for i:= to m do
ans:=ans+c[i]*(m-i+);
writeln(ans::);
end.

bzoj3143的更多相关文章

  1. 【bzoj3143】 Hnoi2013—游走

    http://www.lydsy.com/JudgeOnline/problem.php?id=3143 (题目链接) 题意 一个无向连通图,顶点从1编号到N,边从1编号到M.每一步以相等的概率随机选 ...

  2. 【BZOJ3143】游走(高斯消元,数学期望)

    [BZOJ3143]游走(高斯消元,数学期望) 题面 BZOJ 题解 首先,概率不会直接算... 所以来一个逼近法算概率 这样就可以求出每一条边的概率 随着走的步数的增多,答案越接近 (我卡到\(50 ...

  3. 浅谈期望的线性性(可加性)【CodeForces280c】【bzoj3036】【bzoj3143】

    [pixiv] https://www.pixiv.net/member_illust.php?mode=medium&illust_id=63399955 向大(hei)佬(e)势力学(di ...

  4. 【数学期望】【高斯消元】bzoj3143 [Hnoi2013]游走

    和hdu5955很像.也是注意从结点1出发,其概率要在方程左侧+1. 边的期望和点的期望之间转换巧妙 http://blog.csdn.net/thy_asdf/article/details/473 ...

  5. 【BZOJ3143】[Hnoi2013]游走 期望DP+高斯消元

    [BZOJ3143][Hnoi2013]游走 Description 一个无向连通图,顶点从1编号到N,边从1编号到M. 小Z在该图上进行随机游走,初始时小Z在1号顶点,每一步小Z以相等的概率随机选 ...

  6. 【BZOJ3143】【HNOI2013】游走 && 【BZOJ3270】博物馆 【高斯消元+概率期望】

    刚学完 高斯消元,我们来做几道题吧! T1:[BZOJ3143][HNOI2013]游走 Description 一个无向连通图,顶点从1编号到N,边从1编号到M. 小Z在该图上进行随机游走,初始时小 ...

  7. 【Hnoi2013】Bzoj3143 游走

    Position: http://www.lydsy.com/JudgeOnline/problem.php?id=3143 List Bzoj3143 Hnoi2013 游走 List Descri ...

  8. 【BZOJ-3143】游走 高斯消元 + 概率期望

    3143: [Hnoi2013]游走 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 2264  Solved: 987[Submit][Status] ...

  9. BZOJ3143 [Hnoi2013]游走

    首先高斯消元解出每个点被走到的概率 注意到这里走到$n$就停下来了,所以$P(n) = 0$ 解出来以后,给每条边$(u, v)$赋边权$P(u) + P(v)$即可,然后直接贪心 /******** ...

随机推荐

  1. CentOS 6.7安装配置Cacti监控系统

    一.安装配置LAMP环境 yum -y install httpd php php-mysql php-snmp php-xml php-gd mysql mysql-server 启动http和my ...

  2. Bootstrap-全局css样式之按钮

    这里所说的按钮只是Bootstrap设计的能使标签或元素呈现按钮样式的属性,所以为 <a>.<button> 或 <input> 元素添加按钮类(button cl ...

  3. 使用DataContractJsonSerializer类将类型实例序列化为JSON字符串和反序列化为实例对象 分类: JSON 前端 2014-11-10 10:20 97人阅读 评论(1) 收藏

    一.JSON简介 JSON(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级的数据交换格式. JSON是"名值对"的集合.结构由大 ...

  4. ASP.NET 相关小知识

    后台修改前台html控件属性 添加 runat=server ,后台获取// 客户端隐藏 a.Attributes[ "style "] = "display:none ...

  5. 学习java随笔第五篇:流程控制

    条件语句 if(表达式){方法体}else if(表达体)else{方法体} 简写形式:if... 一般形式:if...else... 完整形式:if...else if...else 分支语句 sw ...

  6. virtualbox共享文件夹无访问权限问题解决方法

    virtualbox共享文件夹无访问权限问题解决方法 早就困扰了,这次新装虚拟机又碰到了,记录下来. 这篇文章主要介绍了virtualbox共享文件夹无访问权限问题解决方法,造成这个问题的原因是不跟v ...

  7. dense_rank()+hash提示改写优化SQL

    数据库环境:SQL SERVER 2005 今天看到一条SQL,返回10条数据,执行了50多S.刚好有空,就对它进行了优化,优化后1S出结果. 先看下原始SQL SELECT t1.line_no , ...

  8. Delphi Register

    unit Unit1; interface uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Form ...

  9. SQL2008安装提示"Microsoft visual studio 2008早期之前的版本"解决(这是我认为最简单有效的方法)

    作者:冰封 日期:2013-10-18 原文地址:http://www.skywj.com/thread-9230-1-1.html 在安装SQL Server的时候提示 Microsoft visu ...

  10. ios framework通用库的制作

    这篇文章是在史上最完整的iOS DIY framework 详细教程(一)的基础上加以修改 1.新建一个静态库工程: 2:取自己喜欢的名字: 3.删除向导所生成工程中的 Target: 3.删除Tes ...