【期望】【高斯消元】图上游走(金牌导航 期望-6)

图上游走

金牌导航 期望-6

题目大意

给出一个无向连通图,小明初始在点1,每一步等概率地走向相连的其他点,当走到n时结束,定义分数从1为走到n的过程中经过的边的编号之和,现在让你给这m条边重新编号,使最大期望分数最小

输入样例

3 3 
2 3
1 2
1 3

输出样例

3.333

解题思路

一条边的贡献=期望经过次数×\times×编号
为了使期望分数最小,让期望经过次数大的编号小即可
那么如何求边的期望经过次数呢
对于连接x,y的边,有:
sli=sxdegx+sydegysl_i=\frac{s_x}{deg_x}+\frac{s_y}{deg_y}sli=degxsx+degysy
其中sl,s分别为边,点的期望次数,deg为连接的边数
意思就是:从x的点有1degx\frac{1}{deg_x}degx1的概率走过这条边,再乘上sxs_xsx即为从x点走过该边的概率(y同理)
求sl的方法已经有了,那么考虑求s
对于s,我们有式子:
si=s1deg1+s2deg2...sdegidegdegis_i=\frac{s_1}{deg_1}+\frac{s_2}{deg_2}...\frac{s_{deg_i}}{deg_{deg_i}}si=deg1s1+deg2s2...degdegisdegi
里面的数表示和i相连的数
移项得到
0=−si+s1deg1+s2deg2...sdegidegdegi0=-s_i+\frac{s_1}{deg_1}+\frac{s_2}{deg_2}...\frac{s_{deg_i}}{deg_{deg_i}}0=si+deg1s1+deg2s2...degdegisdegi
这样我们就得到n-1个式子(到n后不会再往回走,所以关于n的式子不要)
注:对于1的式子,有初始的一次,移项后得到的是:
−1=−si+s1deg1+s2deg2...sdegidegdegi-1=-s_i+\frac{s_1}{deg_1}+\frac{s_2}{deg_2}...\frac{s_{deg_i}}{deg_{deg_i}}1=si+deg1s1+deg2s2...degdegisdegi
对于这n-1个式子,我们高斯消元得到s,然后求结果即可

代码

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define ll long long
#define N 510
using namespace std;
int n, m, x, y, tot, maxn, head[N];
double ans, l[2*N*N], deg[N], f[N][N];
struct rec
{int to, next;
}a[2*N*N];
double abss(double x)
{if (x < 0) return -x;return x;
}
void add(int x, int y)
{a[++tot].to = y;a[tot].next = head[x];head[x] = tot;a[++tot].to = x;a[tot].next = head[y];head[y] = tot;deg[x] += 1.0;deg[y] += 1.0;
}
void gaus(int n)//高斯消元
{for (int i = 1; i <= n; ++i){maxn = i;for (int j = i + 1; j <= n; ++j)if (abss(f[j][i]) > abss(f[maxn][i]))maxn = j;for (int j = 1; j <= n + 1; ++j)swap(f[i][j], f[maxn][j]);for (int j = 1; j <= n; ++j)if (i != j)for (int k = i + 1; k <= n + 1; ++k)f[j][k] -= f[i][k] * (f[j][i] / f[i][i]);}for (int i = 1; i <= n; ++i)f[i][n + 1] /= f[i][i];return;
}
int main()
{scanf("%d%d", &n, &m);for (int i = 1; i <= m; ++i){scanf("%d%d", &x, &y);add(x, y);}for (int i = 1; i < n; ++i){f[i][i] = -1.0;for (int j = head[i]; j; j = a[j].next)if (a[j].to != n)//到n后不走了f[i][a[j].to] = 1.0 / deg[a[j].to];//得出方程}f[1][n] = -1.0;gaus(n - 1);for (int i = 1; i <= m; ++i)l[i] = f[a[i*2].to][n] / deg[a[i*2].to] + f[a[i*2-1].to][n] / deg[a[i*2-1].to];//求出期望sort(l + 1, l + 1 + m);reverse(l + 1, l + 1 + m);//从大到小for (int i = 1; i <= m; ++i)ans += l[i] * i;printf("%.3lf", ans);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/320023.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[CSA35G][XSY3318]Counting Quests (DP)

XSY3318 CSA35G 对于一个询问区间的集合SSS&#xff0c;求出每一个数被哪些区间覆盖了&#xff0c;记为SiS_iSi​。 要能保证猜出选中数&#xff0c;当且仅当每个数的SiS_iSi​互不相同。 考虑求出不满足要求的集合SSS的个数。 首先可以观察得到SiS_iSi​的一个性质&#xff1…

hdu-1114 Piggy-Bank

文章目录Problem Description题意&#xff1a;题解&#xff1a;代码&#xff1a;hdu-1114Problem Description Before ACM can do anything, a budget must be prepared and the necessary financial support obtained. The main income for this action comes from Irreversib…

ATcoder-[AGC048B]Bracket Score【结论,贪心】

正题 题目链接:https://atcoder.jp/contests/agc048/tasks/agc048_b 题目大意 长度为nnn的合法括号序列可以包含[...][...][...]和(...)(...)(...)。 如果在第iii个位置是′(′\ (\ ′ ( ′ 或者 ′)′\ )\ ′ ) ′那么可以获得aia_iai​的权值&#xff0c;否则获得bib_ibi​…

.Net架构篇:实用中小型公司支付中心设计

前言说起支付平台&#xff0c;支付宝量级的支付平台和一个小型公司的支付不可同日耳语。一个初创或刚创业一两年的公司&#xff0c;一没人力&#xff0c;二没财力的情况下&#xff0c;如果也想对接支付那怎么办呢&#xff1f;感谢支付宝和微信支付&#xff0c;两大行业巨头提供…

【期望】选书问题(金牌导航 期望-7)

选书问题 金牌导航 期望-7 题目大意 有n个人&#xff0c;每个人有自己的选书目录&#xff0c;一个人有p的概率选当前的书&#xff0c;有1-p的概率不选&#xff0c;即去查看下一本书&#xff08;过n后回到1&#xff09;&#xff0c;现在问你选书的逆序对的期望数 输入样例 …

[CSA49G][XSY3315] Bunny on Number Line (DP)

CSA49G XSY3315 因为判断两串是否本质不同只看某几项是不是好数&#xff0c;与究竟是哪个好数无关&#xff0c;所以考虑转换一下题意&#xff1a; 给出一个长度为aka_kak​的01串SSS&#xff0c;第a1,a2,...,aka_1,a_2,...,a_ka1​,a2​,...,ak​项为1&#xff0c;其余项为0。 …

Rabbit的工作(2)

牛客网 文章目录题目描述题解&#xff1a;代码&#xff1a;题目描述 Rabbit通过了上次boss的考核&#xff0c;现在她又遇到了一个问题。 Rabbit接到了K个任务&#xff0c;每个任务她可以自由选择用i天去完成(1≤ i≤ N)。刁钻的boss想让Rabbit恰好用W天完成所有任务。 已知Rabb…

jzoj6065-[NOI2019模拟2019.3.18]One?One!【FFT】

正题 题目链接:https://gmoj.net/senior/#main/show/6065 题目大意 oneness(x)oneness(x)oneness(x)表示xxx的约数中全是111的数的个数&#xff0c;给出一个长度为lll的随机生成的数nnn&#xff0c;求∑i1noneness(i)\sum_{i1}^noneness(i)i1∑n​oneness(i) 解题思路 转换一…

netcore编程之后面对不习惯的xshell黑屏部署,是时候使用jenkins自动化发布工具了...

在很久之前net还只能在windows上部署的时候&#xff0c;或许很多创业公司的朋友发布项目还都是人肉部署&#xff0c;反正windows都是可视化的界面&#xff0c;拖拖拉拉&#xff0c;开开关关还不是特别麻烦。。。现如今你的项目需要在linux上部署&#xff0c;可惜的是再也没有什…

【期望】关灯游戏(金牌导航 期望-8)

关灯游戏 金牌导航 期望-8 题目大意 有n盏灯&#xff0c;有些是亮的&#xff0c;有的是暗的&#xff0c;现在如果按一个位置的开关&#xff0c;那么是它因数的位置的灯都会改变开关情况&#xff0c;现在如果用k步不能直接关完&#xff0c;就随机按&#xff0c;直到可以k步关…

【招聘(重庆)】新空间(重庆)科技有限公司招聘.NET Core

全新平台公司&#xff0c;技术氛围好&#xff0c;未来上升空间巨大!平台架构师薪资范围&#xff1a;15K至40K岗位职责&#xff1a;1、负责公司业务以及相关平台的架构设计、技术选型、研发工作, 参与产品架构的规划与设计&#xff1b;2、遵循总体的架构规划与规范设计项目的应用…

jzoj6067-[NOI2019模拟2019.3.18]More?More!【dp】

正题 题目链接:https://gmoj.net/senior/#main/show/6067 题目大意 nnn个点的一张竞赛图&#xff0c;第iii个点向第jjj个点(i<j)(i<j)(i<j)连边的概率是ppp&#xff0c;否则就是第jjj个点向第iii个点连边。 对于每个i(i<n)i(i<n)i(i<n)求出能够选出一个大小…

[XSY3320] string (AC自动机,哈希,点分治)

XSY3320 前置芝士&#xff1a;回文前缀&&borderborderborder 推荐博客 推荐博客 考虑点分治&#xff0c;问题变成求经过重心的回文路径个数。 一条经过重心的回文路径长这样&#xff1a; xxx到zzz的串与yyy到rootrootroot的串相同。 建出根到每个节点对应的串的AC自…

【期望】守卫挑战(金牌导航 期望-9)

守卫挑战 金牌导航 期望-9 题目大意 有n个数&#xff0c;到第i个数&#xff0c;有p_i的概率选择这个数&#xff0c;问你最后选了最少L个数&#xff0c;且选的数的和再加k大于等于0 样例输入 3 1 0 10 20 30 -1 -1 2样例输出 0.300000数据范围 0⩽k⩽20000\leqslant k\leq…

xinjun与阴阳师

来源&#xff1a;牛客网 文章目录题目描述题解&#xff1a;代码&#xff1a;题目描述 xinjun是各类手游的狂热粉丝&#xff0c;因随手一氪、一氪上千而威震工大&#xff0c;现在他迷上了阴阳师。xinjun玩手游有一个习惯&#xff0c;就是经过层层计算制定出一套方案来使操作利益…

P3311-[SDOI2014]数数【AC自动机,dp】

正题 题目链接:https://www.luogu.com.cn/problem/P3311 题目大意 求一个不超过nnn的数字使其不包含任何sss集合中的数字串。 解题思路 很经典的ACACAC自动机上面dpdpdp&#xff0c;但是因为是数字所以要来点数位dpdpdp的东西&#xff0c;多开一维用0/10/10/1表示是否在上界…

如何在 ASP.Net Core 中使用 Consul 来存储配置

原文: USING CONSUL FOR STORING THE CONFIGURATION IN ASP.NET CORE作者: Nathanael[译者注&#xff1a;因急于分享给大家&#xff0c;所以本文翻译的很仓促&#xff0c;有些不准确的地方还望谅解]来自 Hashicorp 公司的 Consul 是一个用于分布式架构的工具&#xff0c;可以用…

[XSY3381] 踢罐子(几何)

XSY3381 点被选为点对之一的贡献我们单独计算&#xff08;这部分贡献的总和为4n(n−1)(n−2)4n(n-1)(n-2)4n(n−1)(n−2)&#xff09;。接下来只讨论剩余部分的贡献。 先把任意三个点构成的六种选择方案合并&#xff0c;发现在外接圆周和弦之间的点每个有2的贡献&#xff0c;…

GDKOI2021总结

前言 因为疫情的原因&#xff0c;以学校为单位在校参加&#xff01;&#xff08;就很秃然&#xff09; 注&#xff1a;前三天是普及组&#xff0c;后三天是提高组 Day 1 第一次参加&#xff0c;以为会被虐得成狗&#xff0c;以忐忑的心情打开T1 4⩽n⩽20004\leqslant n\leqs…

The Bottom of a Graph Poj 2553

牛客网 poj 2553 文章目录Description题意&#xff1a;题解&#xff1a;代码&#xff1a;Description We will use the following (standard) definitions from graph theory. Let V be a nonempty and finite set, its elements being called vertices (or nodes). Let E be …