BZOJ 4720 [Noip2016]换教室
4720: [Noip2016]换教室
Description
Input
Output
Sample Input
2 1 2
1 2 1
0.8 0.2 0.5
1 2 5
1 3 3
2 3 1
Sample Output
1 /************************************************************** 2 Problem: 4720 3 User: Doggu 4 Language: C++ 5 Result: Accepted 6 Time:1960 ms 7 Memory:1292 kb 8 ****************************************************************/ 9 10 #define PN "classroom" 11 #include <cstdio> 12 #include <cstring> 13 #include <algorithm> 14 #define smin(x,y) x=std::min(x,y) 15 const int N = 2000+50; 16 const int M = 2000+50; 17 const int V = 300+10; 18 int n, m, v, e, c[N], d[N], dis[V][V], cur=0; 19 double k[N], f[2][2][M]; 20 21 int main() { 22 scanf("%d%d%d%d",&n,&m,&v,&e); 23 for( int i = 1; i <= n; i++ ) scanf("%d",&c[i]); 24 for( int i = 1; i <= n; i++ ) scanf("%d",&d[i]); 25 for( int i = 1; i <= n; i++ ) scanf("%lf",&k[i]); 26 memset(dis,63,sizeof(dis)); 27 for( int i = 1,a,b,w; i <= e; i++ ) { 28 scanf("%d%d%d",&a,&b,&w); 29 if(dis[a][b]>w) dis[a][b]=dis[b][a]=w; 30 } 31 for( int i = 1; i <= v; i++ ) dis[i][i]=0; 32 for( int p = 1; p <= v; p++ ) 33 for( int i = 1; i <= v; i++ ) 34 for( int j = 1; j <= v; j++ ) 35 if (dis[i][j]>dis[i][p]+dis[p][j]) 36 dis[i][j]=dis[i][p]+dis[p][j], 37 dis[j][i]=dis[i][j]; 38 memset(f[cur],127,sizeof(f[cur]));f[cur][0][0]=f[cur][1][1]=0; 39 for( int i = 2; i <= n; i++ ) { 40 cur^=1;memset(f[cur],127,sizeof(f[cur])); 41 for( int p = 0; p <= m; p++ ) { 42 smin(f[cur][0][p],f[cur^1][1][p]+k[i-1]*dis[c[i]][d[i-1]]+(1-k[i-1])*dis[c[i]][c[i-1]]); 43 smin(f[cur][0][p],f[cur^1][0][p]+dis[c[i]][c[i-1]]); 44 smin(f[cur][1][p+1],f[cur^1][1][p]+k[i]*k[i-1]*dis[d[i]][d[i-1]]+(1-k[i])*k[i-1]*dis[c[i]][d[i-1]]+k[i]*(1-k[i-1])*dis[d[i]][c[i-1]]+(1-k[i])*(1-k[i-1])*dis[c[i]][c[i-1]]); 45 smin(f[cur][1][p+1],f[cur^1][0][p]+k[i]*dis[d[i]][c[i-1]]+(1-k[i])*dis[c[i]][c[i-1]]); 46 } 47 } 48 double ans=2000000000; 49 for( int j = 0; j <= 1; j++ ) 50 for( int p = 0; p <= m; p++ ) 51 ans=std::min(ans,f[cur][j][p]); 52 printf("%.2lf\n",ans); 53 return 0; 54 } 55
NOIP第一道期望DP
转载于:https://www.cnblogs.com/Doggu/p/bzoj4720.html
BZOJ 4720 [Noip2016]换教室相关推荐
- BZOJ 4720: [Noip2016]换教室
错是被学长挑出来的...QWQ@Monster_Yi f[i][j][0/1] 为 第i天,换j次,换1/没换0 然后大力DP #include<cstdio> #include<i ...
- [NOIP2016]换教室(概率期望$DP$)
其实吧我老早就把这题切了--因为说实话,这道题确实不难啊--李云龙:比他娘的状压DP简单多了 今天我翻以前在Luogu上写的题解时,突然发现放错代码了,然后被一堆人\(hack\)--蓝瘦啊\(ORZ ...
- noip2016 换教室
题目描述 对于刚上大学的牛牛来说, 他面临的第一个问题是如何根据实际情况中情合适的课程. 在可以选择的课程中,有2n节课程安排在n个时间段上.在第 i ( 1≤ i≤n)个时同段上, 两节内容相同的课 ...
- Noip2016换教室
传送门! Simple Description: 牛牛有$n$节课要上,每个时段都有$2$个教室在上课(具体来说是第$c[i]$与第$d[i]$个教室),牛牛在其中的一个教室上课,牛牛起初每节课分别被 ...
- luogu1850 [NOIp2016]换教室 (floyd+dp)
首先floyd求出每两点间的距离(注意自己到自己的距离要设成0) 然后就是dp了 一开始照着Lifeguards的样子,钦定了一下i这个点一定要选,然后发现复杂度不对,还想了好长时间优化 然后一翻题解 ...
- 洛谷1850(NOIp2016) 换教室——期望dp
题目:https://www.luogu.org/problemnew/show/P1850 状态里记录的是"上一回有没有申请",而不是"上一回申请成功否",不 ...
- P1850 [NOIP2016 提高组] 换教室
P1850 [NOIP2016 提高组] 换教室 题意: 有2n个课安排在n个时间段上,每个时间段上都有两个一样的课同时在不同地方上,起初牛牛被所有课都被安排在Ci上课,另一节课在Di上课.牛牛现在想 ...
- 【NOIp2016 day1t3】换教室
NOIP第一次考期望,着实吓一跳... 读入之后, 由于 n<=200 n <= 200 n,给我们建立了天然的 floyd f l o y d floyd的机会, 建完图之后,能够顺利的 ...
- 【DP】【期望】$P1850$换教室
[DP][期望]\(P1850\)换教室 链接 题目描述 有 \(2n\) 节课程安排在$ n$ 个时间段上.在第 \(i\)(\(1 \leq i \leq n\))个时间段上,两节内容相同的课程同 ...
最新文章
- hdu 1251 统计难题
- vs2008调试c#网页时出现“加载配置文件时出错: 未能映射路径'/' 错误 .
- Photoshop脚本指南——Hello World
- spark之5:配置文件
- 一个使用numpy.ones()的矩阵| 使用Python的线性代数
- PS命令总结-实战经验
- mysql 优化器_深入解析:从源码窥探MySQL优化器
- php 转通达信数据格式,[转载]通达信数据接口及日线数据格式
- 图像处理—灰度图像转为伪彩色图像
- python数据分析项目经验简历-Python开发工程师岗位项目经历怎么写
- cout输出中加入双引号
- Google Drive 转存别人分享的文件到自己的网盘
- 微信图片怎么添加竖排文字_怎样在手机上给微信图片上添加文字?
- 设计模式之禅【中介者模式】
- Caused by: liquibase.exception.ValidationFailedException: Validation Failed:1 change sets check sum
- 第14期《成长之路》2017年8月刊
- 使用Spring JPA中Page、Pageable接口和Sort类完成分页排序
- 小猫爪:i.MX RT1050学习笔记4-IO系统
- 【数据库技术】2PL(两阶段锁)下的死锁与饥饿处理手段
- android视频动态壁纸app,视频动态壁纸app下载-视频动态壁纸app安卓版下载V1.0安卓版 - 非凡软件站...
热门文章
- c语言创建链表存储10个数,C语言编写的建立单向int链表,连续输入10个结点创建链表,并实现在原链表中插入数字、删除数字、查找数字的功能...
- ubuntu检查端口是否开启_Ubuntu默认防火墙安装、启用、配置、端口、查看状态相关信息...
- html自动刷新 idea_IDEA设置热部署
- java只有高跟很高_女明星们为了合影不输,练就踩高跷本领,鞋跟一个比一个高!...
- 密度图的密度估计_基于核密度的宝鸡地名文化特征与时空分布研究
- 视觉错觉模型_有才!将立体模型涂改伪装成平面二次元,视觉错觉玩法在日本风靡...
- 输出nc数据_气象数据处理的火箭加速器—CDO
- 动态添加html元素
- 设计费收费标准2002修订_酒店装修设计费收费标准,酒店装修设计效果图
- php mssql 新 id,MSSQL获取当前插入数据的id