1.涉及负数时同时维护最大和最小,互相转移。

2.考场上最大最小混搭转移WA,赛后发现如果是小的搭小的,大的搭大的就可过,类似这种:

db a = (C[i] - W[i]) * dp1[i - 1][j - 1] - (1 - C[i] - W[i]) * dp1[i - 1][j - 1];
db b = (C[i] - W[i]) * dp2[i - 1][j - 1] - (1 - C[i] - W[i]) * dp2[i - 1][j - 1];

于是猜测原因的话可能是:最大和最小的不一定是同一种方案,而P1、P2、P3这三种情况转移到现态必须是同一种方案转移过来?

 1 const int maxn = 2e3 + 5;
 2 int n, m, T;
 3 db dp1[maxn][maxn], dp2[maxn][maxn], C[maxn], W[maxn];
 4
 5 int main() {
 6     scanf("%d", &T);
 7     for (int kase = 1; kase <= T; kase++) {
 8         scanf("%d %d", &n, &m);
 9         rep(i, 1, n) {
10             scanf("%lf", &C[i]);
11             C[i] /= 100;
12         }
13         rep(i, 1, n) {
14             scanf("%lf", &W[i]);
15             W[i] /= 100;
16         }
17         init(dp1, 0);
18         init(dp2, 0);
19         dp1[0][0] = dp2[0][0] = 15000;
20         for (int i = 1; i <= n; i++) {
21             for (int j = 0; j <= m; j++) {
22                 if (j > i)    break;
23                 dp1[i][j] = 15001, dp2[i][j] = -15001;
24                 if (j < i) {
25                     db a = (1 - 2.0*W[i]) * dp1[i - 1][j];
26                     db b = (1 - 2.0*W[i]) * dp2[i - 1][j];
27                     dp1[i][j] = min(a, b);
28                     dp2[i][j] = max(a, b);
29                 }
30                 if (j) {
31                     db a = (C[i] - W[i]) * dp1[i - 1][j - 1] - (1 - C[i] - W[i]) * dp1[i - 1][j - 1];
32                     db b = (C[i] - W[i]) * dp2[i - 1][j - 1] - (1 - C[i] - W[i]) * dp2[i - 1][j - 1];
33                     dp1[i][j] = min(dp1[i][j], min(a, b));
34                     dp2[i][j] = max(dp2[i][j], max(a, b));
35                 }
36             }
37         }
38         db ans = 15001;
39         for (int j = 0; j <= m; j++)    ans = min(ans, dp1[n][j]);
40         printf("Case #%d: %.3lf\n", kase, ans);
41     }
42     return 0;
43 }

转载于:https://www.cnblogs.com/AlphaWA/p/10585672.html

UvaLive6441(期望概率dp)相关推荐

  1. 期望/概率dp 学习报告

    期望dp 期望的基本性质 离散型随机变量和连续型随机变量 例题1:红包发红包 期望的基本运算性质 例题2:Little Pony and Expected Maximum 期望的一些经典题型 图上期望 ...

  2. LightOJ - 1038 Race to 1 Again 基础期望概率 dp

    传送门 刚刚学习期望&概率 我们设数X的期望改变次数为P[X] 如果要求X的期望,很容易想到找x的因子; 可以得到下式  ,cnt为X因子个数,ai为X的因子 可以这么理解,当因子ai为1时, ...

  3. bzoj3470 Freda's Walk (期望概率DP)

    bzoj3470 Freda's Walk 原题地址:http://www.lydsy.com/JudgeOnline/problem.php?id=3470 题意: 有向无环图,求从点0出发,走到一 ...

  4. 【BZOJ 4832】 [Lydsy2017年4月月赛] 抵制克苏恩 期望概率dp

    打记录的题打多了,忘了用开维记录信息了......我们用f[i][j][l][k]表示已经完成了i次攻击,随从3血剩j个,2血剩l个,1血剩k个,这样我们求出每个状态的概率,从而求出他们对答案的贡献并 ...

  5. 【LOJ6178】 「美团 CodeM 初赛 Round B」景区路线规划 期望概率DP

    题目链接 LOJ 题解 考虑进行Dp,我们设 f[i][j] f [ i ] [ j ] f[i][j]表示到达节点 i i i消耗了j" role="presentation&q ...

  6. luoguP4206 [NOI2005]聪聪与可可 期望概率DP

    首先,分析一下这个猫和鼠 猫每局都可以追老鼠一步或者两步,但是除了最后的一步,肯定走两步快些.... 既然猫走的步数总是比老鼠多,那么它们的距离在逐渐缩小(如果这题只能走一步反而不能做了...) 猫不 ...

  7. [USACO Hol10] 臭气弹 图上期望概率dp 高斯

    记住一开始和后来的经过是两个事件因此概率可以大于一 #include<cstdio> #include<iostream> #include<cstdlib> #i ...

  8. BZOJ4008. [HNOI2015]亚瑟王 期望概率dp

    看到这道题想什么? 一个好转移的状态由于T最多444所以把每个点控制在O(400000)以内,所以对于n和r最多乘一次因此猜f[n][r],f[r][n],首先一轮一轮的搞不好转移,那么先想一想f[n ...

  9. LightOJ 1030 【概率DP求期望】

    借鉴自:https://www.cnblogs.com/keyboarder-zsq/p/6216762.html 题意:n个格子,每个格子有一个值.从1开始,每次扔6个面的骰子,扔出几点就往前几步, ...

最新文章

  1. ubuntu16.04安装ROS
  2. 在64位Windows中使用64位版本ASP.NET 2.0的问题
  3. Django Bootstrap开发笔记01 - 添加简单网页
  4. 备忘::我所用的第三方软件的源
  5. mysql 无法创建用户_无法在MySQL 5.6中创建用户
  6. 2019刚开年全球天气已“爆表” 多国极端天气打破历史纪录
  7. 《java程序设计基础》 抽象类
  8. 2018年结婚大数据来了:深圳离婚率高居第三,原因竟然是……
  9. Unity动画系统学习
  10. 在Raspberry PI上搭建LMS服务器/Squeeze lite 播放器
  11. 猜拳游戏(基于python面向对象2)
  12. 2022年G3锅炉水处理国家题库及在线模拟考试
  13. git subtree pull 错误 Working tree has modifications
  14. 超静音服务器性能强,超静音办公室专用 戴尔T20微服务器评测
  15. 解决阿里云存在未支付订单请支付或作废后再下单
  16. css----层叠样式表详细知识点大全
  17. 中彩双色球彩票软件 红球预测专家 多特软件
  18. “ZAO”在中国会遇到GDPR监管吗?
  19. 1MB等于多少BYTE?8086/8088寻址段地址与偏移地址解释
  20. 测试人员的绩效考核应该如何开展?

热门文章

  1. iOS使用CoreLocation实现指南针
  2. 来这里,找业务场景!巴比特今日上线产业区块链对接平台
  3. C++学生类和成绩排序
  4. Android 5.1 AppOps总结
  5. python:机器学习(五):(TensorFlow)
  6. 2020蓝桥杯省赛B组
  7. 这-96到底是个什么东西?
  8. AngularJS 控制器
  9. Linux shell脚本入门到实战详解(一)
  10. ROS机器人SLAM学习:Gazebo定位与导航自主仿真