P1850-换教室【数学期望,dp,Floyd】

正题


题目大意

一张图,nnn次,每次在cic_ici上课,可以申请换课室到did_idi,成功概率kik_iki。求最短需要走的路径的期望长度


解题思路

FlodyFlodyFlody预处理多源最短路,然后考虑dpdpdp

fi,j,0/1f_{i,j,0/1}fi,j,0/1表示前iii次,已经申请了jjj次,这次是否申请了,的最短期望长度。

为了方便我们定义lc=ci−1,ld=di−1,nc=ci,nd=dilc=c_{i-1},ld=d_{i-1},nc=c_i,nd=d_ilc=ci1,ld=di1,nc=ci,nd=di

fi,j,0={fi−1,j,0+dislc,ncfi−1,j,1+ki−1∗disld,nc+(1−ki−1)∗dislc,ncf_{i,j,0}=\left\{\begin{matrix} f_{i-1,j,0}+dis_{lc,nc} & \\ f_{i-1,j,1}+k_{i-1}*dis_{ld,nc}+(1-k_{i-1})*dis_{lc,nc} \end{matrix}\right.fi,j,0={fi1,j,0+dislc,ncfi1,j,1+ki1disld,nc+(1ki1)dislc,nc


fi,j,1={fi−1,j−1,0+ki∗dislc,nd+(1−ki)∗dislc,ncfi−1,j−1,1+ki−1∗ki∗disld,nd+(1−ki−1)∗ki∗dislc,nd+ki−1∗(1−ki)∗disldnc+(1−ki−1)∗(1−ki)∗dislc,ncf_{i,j,1}=\left\{\begin{matrix} f_{i-1,j-1,0}+k_i*dis_{lc,nd}+(1-k_i)*dis_{lc,nc} & \\ f_{i-1,j-1,1}+k_{i-1}*k_i*dis_{ld,nd}+(1-k_{i-1})*k_i*dis_{lc,nd}+ k_{i-1}*(1-k_i)*dis{ld}{nc}+(1-k_{i-1})*(1-k_i)*dis_{lc,nc} \end{matrix}\right.fi,j,1={fi1,j1,0+kidislc,nd+(1ki)dislc,ncfi1,j1,1+ki1kidisld,nd+(1ki1)kidislc,nd+ki1(1ki)disldnc+(1ki1)(1ki)dislc,nc


codecodecode

#include<cstdio>
#include<algorithm>
using namespace std;
const int N=2010;
int n,m,v,e,c[N],d[N],dis[N][N];
double k[N],f[N][N][2],mins;
int main()
{freopen("testdata.in","r",stdin);scanf("%d%d%d%d",&n,&m,&v,&e);for(int i=1;i<=n;i++)scanf("%d",&c[i]);for(int i=1;i<=n;i++)scanf("%d",&d[i]);for(int i=1;i<=n;i++)scanf("%lf",&k[i]);for(int i=1;i<=v;i++)for(int j=1;j<=v;j++)dis[i][j]=2147483647/3;for(int i=1;i<=e;i++){int x,y,w;scanf("%d%d%d",&x,&y,&w);dis[x][y]=dis[y][x]=min(dis[x][y],w);}for(int ks=1;ks<=v;ks++){dis[ks][ks]=0;for(int i=1;i<=v;i++)for(int j=1;j<=v;j++)if(dis[i][ks]+dis[ks][j]<dis[i][j])dis[i][j]=dis[i][ks]+dis[ks][j];}for(int i=0;i<=n;i++)for(int j=0;j<=m;j++)f[i][j][0]=f[i][j][1]=2147483647/3;f[1][1][1]=f[1][0][0]=0;for(int i=2;i<=n;i++){for(int j=0;j<=min(i,m);j++){f[i][j][0]=min(f[i-1][j][0]+dis[c[i-1]][c[i]],f[i-1][j][1]+k[i-1]*dis[d[i-1]][c[i]]+(1-k[i-1])*dis[c[i-1]][c[i]]);if(j){f[i][j][1]=min(f[i-1][j-1][0]+k[i]*dis[c[i-1]][d[i]]+(1-k[i])*dis[c[i-1]][c[i]],f[i-1][j-1][1]+k[i-1]*k[i]*dis[d[i-1]][d[i]]+(1-k[i-1])*k[i]*dis[c[i-1]][d[i]]+k[i-1]*(1-k[i])*dis[d[i-1]][c[i]]+(1-k[i-1])*(1-k[i])*dis[c[i-1]][c[i]]);}}}mins=2147483647;if(n==1) mins=0;for(int j=0;j<=m;j++)mins=min(mins,min(f[n][j][0],f[n][j][1]));printf("%0.2lf",mins);
}

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

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

相关文章

uni-app打包h5

如果我们想打包成直接浏览的h5&#xff0c;我们需要配置manifest.json这个文件&#xff0c;在其中的h5配置中加入publicPath配置&#xff0c;配置如下&#xff1a; 代码为&#xff1a; "h5" : {"publicPath": "./"},配置好这个后&#xff0c;以后…

SpringBoot2.1.9 多MongoDB配置template

一、配置文件 pom.xml <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> application.yml spring:application:name: double-mongoprofiles:active…

[52ABP实战系列] .NET CORE实战入门视频课程出来啦

“ .NET CORE实战入门视频&#xff0c;要是有讲的不好的地方&#xff0c;还请留言。” 早安&#xff01; 各位道友好&#xff0c;.NET CORE入门视频的第一章已经录制完毕了。视频会放在传课网、网易云课堂及segment fault。 本来想的是第一章合计6个小节就可以播放完毕的&#…

P2473-[SCOI2008]奖励关【数学期望,状压dp】

正题 题目大意 kkk轮&#xff0c;每轮抛出随机一个宝物&#xff0c;若一个宝物的前提集合SiS_iSi​之前都拿到过&#xff0c;那么就可以拿这个并获得pip_ipi​分。 求最大期望分数 解题思路 考虑状态压缩dpdpdp&#xff0c;状态表示宝物是否拿过。 fi,jf_{i,j}fi,j​表示第iii…

vue项目总结

axios axios.defaults.baseURL "http://localhost/public/index/video/" axios.defaults.headers.post[Content-Type] application/json Vue.prototype.$http axios this.$http.post(dunmylist,this.form).then(res>{console.log(res.data);})表单验证 1、r…

SpringBoot2.1.9 多Redis Lettuce配置

一、配置文件 pom.xml <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> </dependency> application.yml spring:application:name: double-redis-lettuceprofiles:…

ASP.NET Core缓存静态资源

背景 缓存样式表&#xff0c;JavaScript或图像文件等静态资源可以提高您网站的性能。在客户端&#xff0c;总是从缓存中加载一个静态文件&#xff0c;这样可以减少对服务器的请求数量&#xff0c;从而减少获取页面及其资源的时间。在服务器端&#xff0c;由于它们的请求较少&am…

P3830-[SHOI2012]随机树【数学期望,dp】

正题 题目大意 开始的时候一个点&#xff0c;然后等概率随机选一个叶子节点展开成两个&#xff0c;求nnn个叶子节点的树的叶子节点平均深度和最大深度期望。 解题思路 平均深度很好求&#xff0c;因为每展开一个&#xff0c;叶子节点总深度就加上个2。 所以gigi−12ig_{i}g_…

【程序员】保持一颗虚心好学的心态去敲代码

最近&#xff0c;我感觉是自己突破最大的一段时间&#xff0c;为什么呢&#xff1f;主要是打通了接口这一块&#xff0c;就是用postman发送各种数据&#xff0c;我都能用后端接受到相关数据&#xff0c;并且解析出来。 在这之前我尝试过spring boot 和node&#xff0c;前者是太…

SpringBoot @Resource注入的坑

一、场景复现 双kafka消费者配置 &#xff08;1&#xff09;第一个kafka public class OneKafkaConfig {Beanpublic KafkaListenerContainerFactory oneKafkaFactory(Resource ConsumerFactory oneConsumerFactory) {ConcurrentKafkaListenerContainerFactory factory new …

跟着老桂学ASP.NET Core 2.0

.net core作为微软开发技术中跨平台的利器&#xff0c;2.0的发布已经有一段时间了&#xff0c;asp.net core是新一代微软的BS开发框架&#xff0c;同时兼容.net core和.net framework&#xff0c;它的出现&#xff0c;使基于微软体系的BS开发迎来新的契机&#xff0c;开源&…

jzoj4252-QYQ的图【dfs】

正题 题目大意 有nnn个点mmm条边&#xff0c;若一个点没选&#xff0c;那么连接到的点都得选择。求最小选择权值。 解题思路 对于每个联通块暴力dfsdfsdfs&#xff0c;若一个点不选那么就把别的点都选上。 因为每个点至少限制一个点&#xff0c;那么时间复杂度最坏为O(2n2)O…

如何安装并启动django

这里我用的是pip3&#xff0c;一般没装两个版本的用pip就行了 安装 pip3 install django如何检测 python3 -m django --version显示版本号即可 如何创建并启动项目 创建 django-admin startproject HelloWorld启动 然后cd到HelloWorld目录里 python manage.py runserver…

Hadoop生态hive(四)数据类型

转载自 Hive数据类型 一、列类型 列类型被用作Hive的列数据类型。它们如下&#xff1a; &#xff08;1&#xff09;整型 整型数据可以指定使用整型数据类型&#xff0c;INT。当数据范围超过INT的范围&#xff0c;需要使用BIGINT&#xff0c;如果数据范围比INT小&#xff0…

ASP.NET Core 认证与授权[6]:授权策略是怎么执行的?

在上一章中ASP.NET Core 认证与授权[5]:初识授权&#xff0c;详细介绍了 ASP.NET Core 中的授权策略&#xff0c;在需要授权时&#xff0c;只需要在对应的Controler或者Action上面打上[Authorize]特性&#xff0c;并指定要执行的策略名称即可&#xff0c;但是&#xff0c;授权策…

jzoj4248-n染色【数学,快速幂】

正题 题目大意 一个环&#xff0c;nnn个部分mmm个颜色求每段连续的都不同颜色的方案数。 解题思路 打表找一下规律发现 fifi−1∗(m−1)fi−2∗(m−1)f_if_{i-1}*(m-1)f_{i-2}*(m-1)fi​fi−1​∗(m−1)fi−2​∗(m−1) 然后特征根:fi(m−1)n(m−1)∗(−1)nf_i(m-1)^n(m-1)*…

SpringBoot2.1.9 多Redis Jedis配置

一、配置文件 pom.xml <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency><groupId>redis.clients</groupId><artifa…

.net core2.0下使用Identity改用dapper存储数据

前言、 已经好多天没写博客了&#xff0c;鉴于空闲无聊之时又兴起想写写博客&#xff0c;也当是给自己做个笔记。过了这么些天&#xff0c;我的文笔还是依然那么烂就请多多谅解了。今天主要是分享一下在使用.net core2.0下的实际遇到的情况。在使用webapi时用了identity做用户验…

如何解决vuepress部署出现样式问题

以前在安装hexo的时候出了样式问题&#xff0c;现在用vuepress也出现了相同的问题。 本地测试完全可以 然而打包之后就彻底乱了 即使是自己本地打包成dist之后也会出现相同的问题 有点困扰&#xff0c;应该是打包配置的问题 通过修改index.html里的内容。将/改为./ 发现部…

jzoj4249-游戏【贪心】

正题 题目大意 0∼n0\sim n0∼n的点&#xff0c;从iii移动到jjj获得aj∗(j−i)a_j*(j-i)aj​∗(j−i)的价值。求最大价值。 解题思路 考虑贪心&#xff0c;每次移动到往后aia_iai​最大的点。 证明: 反证明:我们假设有一种情况i<ji<ji<j且aj<aia_j<a_iaj​<…