高斯消元配合概率dp-图上随机游走模型

article/2025/9/11 18:30:53

2023大厂真题提交网址(含题解):

www.CodeFun2000.com(http://101.43.147.120/)

最近我们一直在将收集到的机试真题制作数据并搬运到自己的OJ上,供大家免费练习,体会真题难度。现在OJ已录入50+道2023年最新大厂真题,同时在不断的更新。同时,可以关注"塔子哥学算法"公众号获得每道题的题解。
在这里插入图片描述

题目1:[HNOI2013]游走

题目大意

给你一张无向连通图,从第 1 1 1点随机游走到 n n n点。花费为经过的边的编号的和.问你如何安排边的编号使得期望花费最小化.

n ≤ 500 , m ≤ n 2 n \leq 500,m \leq n^2 n500,mn2

题目思路:

很容易想到,求出每条边期望经过次数,然后贪心安放即可.

但是 m m m太大,无法求解.考虑先求每个点期望经过次数.

考虑到 n n n点就停止了,所以不考虑 n n n的贡献。
显然有转移:
f 1 = 1 + ∑ ( 1 , j ) ∈ E f j d u j f_1=1+\sum_{(1,j)\in E}^{}\frac{f_j}{du_j} f1=1+(1,j)Edujfj
f n = 0 f_n=0 fn=0
f i = ∑ ( i , j ) ∈ E f j d u j , i ∈ [ 2 , n ) f_i=\sum_{(i,j)\in E}^{}\frac{f_j}{du_j}, \ i \in [2,n) fi=(i,j)Edujfj, i[2,n)

对于一条边 ( i , j ) (i,j) (i,j),它期望经过的次数是:

g i , j = f i d u i + f j d u j g_{i,j}=\frac{f_i}{du_i} + \frac{f_j}{du_j} gi,j=duifi+dujfj

所以跑高斯消元后,对边排序计算即可。

AC代码:

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
#define pii pair<int,int>
#define mp make_pair
const int maxn = 505;
const double eps = 1e-8;
vector<int> e[maxn];
int du[maxn];
double a[maxn][maxn];
double res[maxn] , ans[maxn * maxn];
int main()
{ios::sync_with_stdio(false);int n , m; cin >> n >> m;for (int i = 1 ; i <= m ; i++){int x , y; cin >> x >> y;e[x].pb(y);e[y].pb(x);du[x]++;du[y]++;}for (int i = 1 ; i <= n ; i++) a[i][i] = 1;for (int i = 1 ; i < n ; i++){for (auto v : e[i]){a[i][v] = -1.0 / du[v];}}a[1][n + 1] = 1;// guess消元int r , c;for (r = c = 1 ; r <= n && c <= n ; r++ , c++){int p = r;for (int j = r + 1 ; j <= n ; j++){if (a[p][c] < a[j][c]){p = j;break;}}// 不会有自由元swap(a[p] , a[r]);for (int j = 1 ; j <= n ; j++){if (j == r) continue;if (fabs(a[r][c]) < eps) continue;double d = a[j][c] / a[r][c];for (int k = c ; k <= n + 1 ; k++)a[j][k] -= d * a[r][k];}}for (int i = 1 ; i <= n ; i++) res[i] = a[i][n + 1] / a[i][i];int cnt = 0;for (int i = 1 ; i <= n ; i++){for (auto v : e[i]){if (v < i) continue;ans[++cnt] = res[i] / du[i] + res[v] / du[v];}}sort(ans + 1 , ans + 1 + cnt);double gg = 0;// cout << "cnt = " << cnt << endl;for (int i = 1 ; i <= cnt ; i++){gg += (cnt - i + 1.0) * ans[i];}cout << fixed << setprecision(3);cout << gg << endl;return 0;
}

题目2:bzoj3270-博物馆

题目大意:

给出一个无向图,两个人初始在两个点上。当一个人在一个点i上的时候,每一次,他有 p [ i ] p[i] p[i]的概率留在原位,有 1 − p [ i ] 1−p[i] 1p[i]的概率等概率地选择直接连边的一个点走出去。当两个人在同一时刻走到同一个点,那么他们相遇,过程结束。现在求他们在每一个点相遇的概率。

题目思路:

跟题目1没本质区别,就是升维了。令 f ( i , j ) f(i,j) f(i,j)代表两个人从最开始到站在 i , j i,j i,j期望次数,然后大力转移即可.

题目3:2019HNCPC-H-有向图

题目大意:

给你一张图。 n + m n+m n+m个点。从1点开始随机游走。有一个概率矩阵 P i , j P_{i,j} Pi,j代表从 i 到 j i到j ij的概率.后 m m m个点走到后则只会原地踏步.问你无限次之后停在后m个点的概率.

题目思路:

E ( i ) E(i) E(i)为无限次之后经过 i i i点的期望次数。由于到 i , i ∈ [ n + 1 , n + m ] i ,\ i \in[n+1,n +m] i, i[n+1,n+m]后就会停止。所以求解出来的期望就是概率。

转移和上述问题无差别,列方程高斯消元即可.

题目4:HDU5955-AC自动机+概率dp+高斯消元

题目大意:

n个人,每个人有一个长度为 L L L的字符串。你随机生成字符串无限次直到最后 L L L个字符串为某个人的字符串.问每个人的概率.

题目思路:

建Tire图。在Tire图上跑概率dp.然后高斯消元即可.

问题结构和题目3一模一样。我们可以直接求期望,然后概率=期望.


http://chatgpt.dhexx.cn/article/RGcmsCfa.shtml

相关文章

ARIMA模型、随机游走模型RW模拟和预测时间序列趋势可视化

原文链接&#xff1a;http://tecdat.cn/?p25122 当一个序列遵循随机游走模型时&#xff0c;就说它是非平稳的。我们可以通过对时间序列进行一阶差分来对其进行平稳化&#xff0c;这将产生一个平稳序列&#xff0c;即零均值白噪声序列。例如&#xff0c;股票的股价遵循随机游走…

随机游走(Random Walk)模型

Random Walk Model 1 模型及性质简介 给定一随机变量 u ( i ) { 1 , − 1 } u(i){\{1, -1\}} u(i){1,−1} 随机游走模型可表示为随时间 t t t变化的函数 y ( t ) ∑ i 1 t u ( i ) y(t)\sum_{i1}^{t} u(i) y(t)i1∑t​u(i) 几条随机游走可视化路线如下 性质一&#xff1a;…

读《PROSOSPEECH: ENHANCING PROSODY WITH QUANTIZED VECTOR PRE-TRAINING IN TEXT-TO-SPEECH》

当下韵律建模存在的问题&#xff1a; 1 提取的基音pitch信息存在误差&#xff0c;导致韵律合成出现问题 2 对韵律生成的相关要素 如基频 时长 能量等相互依存(dependent on each other) 共同产生了韵律相关的特征 3 韵律信息较高的可变性和高质量数据数目较少 导致不能完全学习…

UE4官方文档_Light Propagation Volumes_LPV方案

光线传播体积&#xff08;Light Propagation Volumes&#xff09;功能仍在开发中&#xff0c;不适用于生产。 本页面的内容&#xff1a; 启用光线传播体积基础场景设置光线传播体积设置 调整外观和性能 定向光源设置查看全局照明显示光线传播体积GI 替换材质切换其他注意事项 启…

Ue4 使用lpv快速增强间接光照效果

LPV缩写Light Propagation VolumesUe4自带&#xff0c;效果还可以&#xff0c;能快速在项目中实现不需要烘焙的间接光照效果主要原理使用光照生成点云进行对物体表面间接光进行计算测试版本4.16.3如何开启把r.LightPropagation1 加入到 consolevariables.ini 文件最后 &#…

实时GI方案概述

LPV CryTek原创的&#xff0c;但是貌似因为漏光的问题&#xff0c;没有广泛应用起来。 SVO VXGI Enlighten Enlighten的实时GI解决方案用的时预计算实时全局照明 (Precomputed Realtime GI)&#xff0c;这是一种允许交互式更新场景照明的技术&#xff0c;采用的是辐射度算…

IPVLAN

IPVLAN 一、拓扑图二、实验内容三、配置信息 一、拓扑图 二、实验内容 假设S1交换机由于某种原因无法配置&#xff0c;利用IP地址划分在S3做相应配置使得PC能供与服务器正常通信 三、配置信息 1、接口信息配置 S1的0/0/1和0/0/2接口无任何配置&#xff0c;0/0/3接口配置了a…

LPI

概述 LPI全称是Locality-specific Peripheral Interrupts&#xff08;LPIs&#xff09;&#xff0c;GICv3有两种方式支持LPIs&#xff1a; 1&#xff09;使用ITS把从设备发送的EventID转换成LPI INTID 2&#xff09;直接转发LPI INTID到Redistributors&#xff08;GICR_SETL…

系统辨识和自适应控制

系统辨识知识要点 1.为什么采用负反馈技术 2.什么是自适应控制&#xff0c;为什么采用自适应控制&#xff0c;指出自适应控制的使用场合 3.学习了什么辨识方法&#xff0c;这些方法之间的联系 4.最小二乘中的无偏性和一致性指的是什么 5.什么是白噪声 白噪声是一种具有…

【状态估计】用于描述符 LTI 和 LPV 系统的分析、状态估计和故障检测的算法(Matlab代码实现)

&#x1f4a5; &#x1f4a5; &#x1f49e; &#x1f49e; 欢迎来到本博客 ❤️ ❤️ &#x1f4a5; &#x1f4a5; &#x1f3c6; 博主优势&#xff1a; &#x1f31e; &#x1f31e; &#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 …

Global Illumination_Light Propagation Volumes (LPV)

文章具体参照 https://ericpolman.com/ 本方法的思想就是把场景分成很多的小格子&#xff0c;然后计算每一个小格子里面的光照&#xff08;LPV&#xff09;。如果直接计算每个格子里面的光照那代价也是不可接受的&#xff0c;因此本算法用了一种很巧妙的方式来处理&#xff1…

LPV(Light Propagation Volumes)

lpv 测试了Light Propagation Volumes&#xff0c;全实时没有任何预处理的GI&#xff0c;而且可以适用任意场景。 文档很长&#xff0c;不过基本原理还是比较直白的&#xff1a; 生成reflect shadow map(rsm)。 将rsm信息用SH系数方式注入一个volumetexture中。 …

【GAMES-202实时渲染】4、3D空间全局光照(RSM、LPV、VXGI)

Lec7~8 1、Reflective Shadow Maps&#xff08;RSM&#xff09;2、Light Propagation Volumes&#xff08;LPV&#xff09;3、Voxel Global Illumination&#xff08;VXGI&#xff09; 1、Reflective Shadow Maps&#xff08;RSM&#xff09; RSM是一个特别经典的计算全局光照…

lpv

测试了Light Propagation Volumes&#xff0c;全实时没有任何预处理的GI&#xff0c;而且可以适用任意场景。 文档很长&#xff0c;不过基本原理还是比较直白的&#xff1a; 生成reflect shadow map(rsm)。 将rsm信息用SH系数方式注入一个volumetexture中。 在vol…

操作系统经典 pv过桥问题

Semophere bridge1; Semophere mutexNS1,mutexSN1;//用于保护countNS,countSN int countNS0,countSN0; Semophere s11,s20;//用于交替通过 StoN(){while(1){P(mutexSN);countSN;//来车了v(mutexSN);p(mutexSN);if(countNS0){//对面无车,则直接通过P(bridge);通过countSN--;V…

C语言解决四人/多人过桥问题

参加笔试的时候遇到一道经典的算法题&#xff0c;四人过桥问题。当时没写出来&#x1f605;。 四人过桥问题&#xff1a;在一个黑夜里&#xff0c;有四个人需要过桥&#xff0c;每次只能通过两人&#xff0c;其中一人必须拿着手电筒&#xff1b;但只有一个手电筒&#xff0c;所…

小明过桥问题

小明家必须要过一座桥。小明过桥最快要&#xff11;秒&#xff0c;小明的弟弟最快要&#xff13;秒&#xff0c;小明的爸爸最快要&#xff16;秒&#xff0c;小明的妈妈最快要&#xff18;秒&#xff0c;小明的爷爷最快要&#xff11;&#xff12;秒。每次此桥最多可过两人&…

过桥问题

在一个夜黑风高的晚上&#xff0c;有n&#xff08;n < 50&#xff09;个小朋友在桥的这边&#xff0c;现在他们需要过桥&#xff0c;但是由于桥很窄&#xff0c;每次只允许不大于两人通过&#xff0c;他们只有一个手电筒&#xff0c;所以每次过桥的两个人需要把手电筒带回来…

过桥问题的通解

问题一,一个典型过桥问题: 小明一家5口人在夜晚过一座桥,小明过桥要1分钟,小明的弟弟过桥要3分钟,小明的爸爸过桥要6分钟,小明的妈妈过桥要8分钟,小明的爷爷过桥要12分钟;这座桥每次只能过2个人,因是夜晚,过桥时必须提着灯,小明有一只灯,点燃后30分钟会熄灭,问怎…

如何打开tdms文件?

https://www.zhihu.com/question/305029962/answer/1203851780v 下载地址 http://www.ni.com/example/27944/en/ 还有一个综述&#xff0c;写的挺好&#xff01; https://wenku.baidu.com/view/c62700e4aa00b52acec7ca09.html