理解错题意了....导致考场上直接爆零TAT

正解就是期望dp啊,dp[i][j][0/1]表示前i节课用了j次机会,这一次用没用的期望代价

看代码吧

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
using namespace std;
const int Mx=310;
int n,m,d,v,C[2010],D[2010];
double dp[2010][2010][2],map[Mx][Mx];
double p[2010],ans=100000007;
int main()
{
  scanf("%d%d%d%d",&n,&m,&d,&v);
  for(int i=0;i<Mx;i++) for(int j=0;j<Mx;j++) map[i][j]=1073741823;
  for(int i=0;i<Mx;i++) map[i][i]=0;
  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++) cin>>p[i];
  for(int i=1;i<=v;i++)
  {
    int x,y;double z;scanf("%d%d%lf",&x,&y,&z);
    map[x][y]=min(map[x][y],z);
    map[y][x]=min(map[y][x],z);
  }
  for(int k=1;k<=d;k++)
    for(int i=1;i<=d;i++)
      for(int j=1;j<=d;j++)
        map[i][j]=min(map[i][j],map[i][k]+map[k][j]);
  for(int i=0;i<2010;i++) for(int j=0;j<2010;j++) dp[i][j][0]=1073741823,dp[i][j][1]=1073741823;
  dp[0][0][0]=0;dp[1][0][0]=0;dp[1][1][1]=0;
  for(int i=2;i<=n;i++) dp[i][0][0]=dp[i-1][0][0]+map[C[i-1]][C[i]];
  for(int i=2;i<=n;i++) for(int j=1;j<=i&&j<=m;j++)

  {
    /*这一位不翻*/dp[i][j][0]=min(dp[i-1][j][0]+map[C[i-1]][C[i]]/*上一位不翻*/,
                     ((dp[i-1][j][1]+map[D[i-1]][C[i]])*p[i-1])+((dp[i-1][j][1]+map[C[i-1]][C[i]])*(1-p[i-1]))/*上一位翻转*/);
    /*这一位翻转*/dp[i][j][1]=min(/*上一位翻转*/

                  ((((dp[i-1][j-1][1]+map[D[i-1]][D[i]])*p[i-1])+((dp[i-1][j-1][1]+map[C[i-1]][D[i]])*(1-p[i-1])))*p[i])//这一位翻转成功
                  +((((dp[i-1][j-1][1]+map[D[i-1]][C[i]])*p[i-1])+((dp[i-1][j-1][1]+map[C[i-1]][C[i]])*(1-p[i-1])))*(1-p[i])),//这一位翻转失败,
              /*上一位不翻*/((dp[i-1][j-1][0]+map[C[i-1]][D[i]])*p[i])+((dp[i-1][j-1][0]+map[C[i-1]][C[i]])*(1-p[i])));
  }
  for(int i=0;i<=m;i++) ans=min(ans,min(dp[n][i][0],dp[n][i][1]));
  printf("%.2lf",ans);
  return 0;
}

noip2016 Day1T3的更多相关文章

  1. NOIp2016 Day1&Day2 解题报告

    Day1 T1 toy 本题考查你会不会编程. //toy //by Cydiater //2016.11.19 #include <iostream> #include <cstd ...

  2. NOIp2016 游记

    DAY -2 不要问我为什么现在就开了一篇博客. 本来想起个NOIp2016爆零记或者NOIp2016退役记之类的,但是感觉现在不能乱立flag了.所以就叫游记算了. 前几场模拟赛崩了一场又一场,RP ...

  3. [Noip2016]蚯蚓 D2 T2 队列

    [Noip2016]蚯蚓 D2 T2 Description 本题中,我们将用符号[c]表示对c向下取整,例如:[3.0」= [3.1」=[3.9」=3.蛐蛐国最近蚯蚓成灾了!隔壁跳 蚤国的跳蚤也拿蚯 ...

  4. [NOIP2016]愤怒的小鸟 D2 T3 状压DP

    [NOIP2016]愤怒的小鸟 D2 T3 Description Kiana最近沉迷于一款神奇的游戏无法自拔. 简单来说,这款游戏是在一个平面上进行的. 有一架弹弓位于(0,0)处,每次Kiana可 ...

  5. NOIP2016普及总结

    ---恢复内容开始--- 当时我说如果不出意外有385,结果就这么跪在了第二题,惨啊 本来以为发挥算正常,结果这发挥太不正常了 [T1] 水题啊[趴 注意下细节就好考你会不会写代码. [T2] 这题大 ...

  6. Noip2016

    <这篇是以前的,不开新的了,借版面来换了个标题> 高二了 开学一周,每天被文化课作业碾压... 但是仍然阻挡不了想刷题的心情... 对付noip2016的几块:(有点少,以后补) 高精度( ...

  7. [NOIP2016]换教室 D1 T3 Floyed+期望DP

    [NOIP2016]换教室 D1 T3 Description 对于刚上大学的牛牛来说, 他面临的第一个问题是如何根据实际情况中情合适的课程. 在可以选择的课程中,有2n节课程安排在n个时间段上.在第 ...

  8. 游记——noip2016

    2016.11.18 (day 0) 呆在家. 悠闲地呆在家.. 明后天可能出现的错误: 1)没打freopen.打了ctime: 2)对拍程序忘记怎么写了...忘记随机化种子怎么写了: 3)不知道厕 ...

  9. NOIP2016报零记

    其实,NOIP2016已经于10天之前就结束了,但是由于种种原因,没有写总结. 现在就来填上这个坑吧. DAY1: T1:一道简(kun)单(nan)的模拟,虽然ac,但是考试的时候总觉得怪怪的.并且 ...

随机推荐

  1. SQL Server 2008 R2 Service Pack 3 已经发布

    微软SQL Server Product Team在9月26号官方博客宣布,Microsoft SQL Server 2008 R2 Service Pack 3 (SP3)正式发布了 .具体信息可以 ...

  2. 0025 Java学习笔记-面向对象-final修饰符、不可变类

    final关键字可以用于何处 修饰类:该类不可被继承 修饰变量:该变量一经初始化就不能被重新赋值,即使该值跟初始化的值相同或者指向同一个对象,也不可以 类变量: 实例变量: 形参: 注意可以修饰形参 ...

  3. 关于xml的使用。

    使用的常用类: XmlSerializer ParaMapping StreamReader DirectionaryInfo FileInfo using as object 例子: public ...

  4. MySQL server has gone away报错原因分析/

    在平时和开发的交流 以及 在论坛回答问题的或称中会发现这个问题被问及的频率非常高. 程序中报错: MySQL server has gone away 是什么意思? 如何避免? 因此,感觉有必要总结一 ...

  5. 数据处理之PostgreSQL过程语言学习

    前段时间,公司更换新的PostgreSQL数据集市的系统过程中,自己下载了postgresqlAPI的pdf文件研究了一下PostgreSQL数据集市.发现使用PostgreSQL过程语言可以大大加快 ...

  6. 【2016-10-20】【坚持学习】【Day10】【反射2】

    Type类的属性:        Name 数据类型名        FullName 数据类型的完全限定名(包括命名空间名)        Namespace 定义数据类型的命名空间名        ...

  7. Maven配置详见

    CSDN 2016博客之星评选结果公布    [系列直播]零基础学习微信小程序!      "我的2016"主题征文活动   博客的神秘功能 maven 配置详解 标签: mave ...

  8. RFID考试背诵

    简答题: 简述RFID标准多元化的原因: 由不同的技术因素.利益因素导致: 工作频率分布在低频至微波的多个频段中,频率不同,技术差异大. 作用距离的差异导致标准不同:因为应答器分为有源.无源两种工作方 ...

  9. Map接口,Map.Entry,hashMap类,TreeMap类,WeakHashMap。

    Collection接口之前接触过,每次保存的对象是一个对象,但是在map中保存的是一对对象,是以key->value形式保存的. 定义: public interface Map<K,V ...

  10. tfs2012迁移,只用到源代码管理

    背景:在虚拟机里面安装的tfs,后来发觉C盘空间太少了,运行卡,准备重新配置一台虚拟机当做tfs服务器.安装相同版本的tfs.数据库(至少比原来的版本一样或者更高版本,要不附加不了数据库). 1.确保 ...