题意:

  给一个简单无向图,一个人从1号节点开始随机游走(即以相同概率走向与它相邻的点),走到n便停止,问每条边期望走的步数.

首先求出每个点期望走到的次数,每条边自然是从它的两个端点走来.

 /**************************************************************
Problem: 3143
User: idy002
Language: C++
Result: Accepted
Time:736 ms
Memory:9956 kb
****************************************************************/ #include <cstdio>
#include <cmath>
#include <algorithm>
#define N 510
#define M N*N
using namespace std; int n, m;
int head[N], dest[M], next[M], etot;
int dgr[N], uu[M], vv[M], qu[M];
double ww[M];
double a[N][N]; void adde( int u, int v ) {
etot++;
dest[etot] = v;
next[etot] = head[u];
head[u] = etot;
}
void gauss() {
int i, j, k;
for( i=; i<=n; i++ ) {
j=i;
for( k=i+; k<=n; k++ )
if( fabs(a[k][i])>fabs(a[j][i]) ) j=k;
for( k=i; k<=n+; k++ )
swap( a[j][k], a[i][k] );
for( j=i+; j<=n; j++ ) {
double r = a[j][i]/a[i][i];
for( k=i; k<=n+; k++ )
a[j][k] -= a[i][k]*r;
}
}
for( int i=n; i>=; i-- ) {
a[i][n+] /= a[i][i];
a[i][i] = 1.0;
for( int j=i-; j>=; j-- ) {
a[j][n+] -= a[j][i]*a[i][n+];
a[j][i] = 0.0;
}
}
}
bool cmp( int a, int b ) {
return ww[a] > ww[b];
}
int main() {
scanf( "%d%d", &n, &m );
for( int i=; i<=m; i++ ) {
scanf( "%d%d", uu+i, vv+i );
adde( uu[i], vv[i] );
adde( vv[i], uu[i] );
dgr[uu[i]]++;
dgr[vv[i]]++;
}
for( int i=; i<=n; i++ )
a[i][i] = -1.0;
a[][n+] = -;
for( int u=; u<=n; u++ ) {
for( int t=head[u]; t; t=next[t] ) {
int v=dest[t];
if( v==n ) continue;
a[u][v] += 1.0/dgr[v];
}
}
gauss();
for( int i=; i<=m; i++ ) {
int u=uu[i], v=vv[i];
if( u!=n ) ww[i]+=a[u][n+]/dgr[u];
if( v!=n ) ww[i]+=a[v][n+]/dgr[v];
}
for( int i=; i<=m; i++ )
qu[i] = i;
sort( qu+, qu++m, cmp );
double ans = 0.0;
for( int i=; i<=m; i++ )
ans += i * ww[qu[i]];
printf( "%.3lf\n", ans );
}

bzoj 3143 随机游走的更多相关文章

  1. BZOJ 3143 HNOI2013 游走 高斯消元 期望

    这道题是我第一次使用高斯消元解决期望类的问题,首发A了,感觉爽爽的.... 不过笔者在做完后发现了一些问题,在原文的后面进行了说明. 中文题目,就不翻大意了,直接给原题: 一个无向连通图,顶点从1编号 ...

  2. bzoj 3143: [Hnoi2013]游走 高斯消元

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

  3. BZOJ 3143: [Hnoi2013]游走 [概率DP 高斯消元]

    一个无向连通图,顶点从1编号到N,边从1编号到M. 小Z在该图上进行随机游走,初始时小Z在1号顶点,每一步小Z以相等的概率随机选 择当前顶点的某条边,沿着这条边走到下一个顶点,获得等于这条边的编号的分 ...

  4. bzoj 3143: [Hnoi2013]游走

    Description 一个无向连通图,顶点从1编号到N,边从1编号到M. 小Z在该图上进行随机游走,初始时小Z在1号顶点,每一步小Z以相等的概率随机选 择当前顶点的某条边,沿着这条边走到下一个顶点, ...

  5. bzoj 3143 [Hnoi2013]游走 期望dp+高斯消元

    [Hnoi2013]游走 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 3394  Solved: 1493[Submit][Status][Disc ...

  6. BZOJ 3143: [Hnoi2013]游走 概率与期望+高斯消元

    Description 一个无向连通图,顶点从1编号到N,边从1编号到M.小Z在该图上进行随机游走,初始时小Z在1号顶点,每一步小Z以相等的概率随机选 择当前顶点的某条边,沿着这条边走到下一个顶点,获 ...

  7. bzoj 3143 [Hnoi2013]游走(贪心,高斯消元,期望方程)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3143 [题意] 给定一个无向图,从1走到n,走过一条边得到的分数为边的标号,问一个边的 ...

  8. [BZOJ 3143][HNOI2013]游走(数学期望)

    题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3143 分析: 易得如果知道了每条边经过的数学期望,那就可以贪心着按每条边的期望的大小赋 ...

  9. ●BZOJ 3143 [Hnoi2013]游走

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=3143题解: 期望dp,高斯消元 首先有这样一种贪心分配边的编号的方案:(然后我没想到,233 ...

随机推荐

  1. 关于GTID模式下备份时 --set-gtid-purged=OFF 参数的实验【转】

    刚刚听了吴老师是复制章节课程,对于GTID模式下备份数据--set-gtid-purged=OFF 参数有些不理解,于是乎做了实验,加深理解,得出些结论,如有错漏请批评指正! 部分备份: [root@ ...

  2. setfacl报错Operation not supported

    对文件目录setfacl权限设置时报错Operation not supported Google一下,发现是分区acl权限问题 一般情况下(ext4),默认acl支持都是加载的.但如果遇到二般情况, ...

  3. openstack swift节点安装手册3-最后的安装配置及验证

    以下步骤都在controller节点上执行 1.远程获取/etc/swift/swift.conf文件: curl -o /etc/swift/swift.conf https://git.opens ...

  4. zabbix系列(五)zabbix3.0.4 探索主机Discovery自动发现主机详细图文教程

    Zabbix 自动发现(Discovery)功能使用 随着监控主机不断增多,有的时候需要添加一批机器,特别是刚用zabbix的运维人员需要将公司的所有服务器添加到zabbix,如果使用传统办法去单个添 ...

  5. ADC自动转接功能Lua实现

    一.背景介绍: 虽然使用Mod_fifo和mod_callcenter可以做呼叫中心的应用,但在实现应用中,这两个模块很难客制化需求,再此我用Lua实现了5路客服(1000-1004),一个呼叫中心号 ...

  6. 数论-质数 poj2689,阶乘分解,求阶乘的尾零hdu1124, 求尾零为x的最小阶乘

    /* 要求出[1,R]之间的质数会超时,但是要判断[L,R]之间的数是否是素数却不用筛到R 因为要一个合数n的最大质因子不会超过sqrt(n) 所以只要将[2,sqrt(R)]之间的素数筛出来,再用这 ...

  7. selenium自动化测试多条数据选择第一条

    如果我们测试时在一个页面中存在多条数据元素名称一致但是我们要选择第一条? 示意图: 方法一 driver.find_element_by_css_selector('.article-list/div ...

  8. vue组件库(四):组件功能模块划分

    涉及的平台 移动端 一.公共样式 常用变量 var.scss 颜色模块 主题色.状态色.文本色.灰度色(边框和分隔线) 字体 字体.大小.行间距 2.控件 3. 三大模块 样式.有哪些控件

  9. ERP产品销售发货--发货管理(四十一)

    发货详细信息的业务实体视图: CREATE VIEW [dbo].[View_BioSendAppInfo] AS SELECT SendId, BillNo, Subject, DepartMent ...

  10. [颜色知识] 潘通色卡、CMYK、RGB、 ARGB...

    潘通色卡C结尾的色号都是RGB色系的,而CMYK是印刷系的,两者不能通用的,所以,不能完全对等进行转换 Pantone Colors [色卡]PANTONE潘通色卡C面颜色http://blog.si ...