题目:https://www.luogu.org/problemnew/show/P1850

状态里记录的是”上一回有没有申请“,而不是”上一回申请成功否“,不然“申请 j 次”就没法转移了。

double不能memset,所以手动。

别忘了dis[ i ][ i ]=0。

有重边!!!所以读入边的时候取一下min!

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define db double
using namespace std;
const int N=,V=,M=;
const db INF=0x3f3f3f3f;
int n,K,num,ent,c[N],d[N],dis[V][V];
db p[N],dp[][N][],ans=INF;
void mmst(db a[N][])
{
for(int j=;j<=K;j++)a[j][]=a[j][]=INF;
}
int main()
{
scanf("%d%d%d%d",&n,&K,&num,&ent);
int x,y,z;
for(int i=;i<=n;i++)scanf("%d",&c[i]);
for(int i=;i<=n;i++)scanf("%d",&d[i]);
for(int i=;i<=n;i++)scanf("%lf",&p[i]);
memset(dis,0x3f,sizeof dis);
while(ent--)
{
scanf("%d%d%d",&x,&y,&z);
dis[x][y]=min(dis[x][y],z);dis[y][x]=dis[x][y];//?!////////
// dis[x][y]=dis[y][x]=z;
}
for(int i=;i<=num;i++)dis[i][i]=;//
for(int k=;k<=num;k++)
for(int i=;i<=num;i++)
for(int j=;j<=num;j++)
dis[i][j]=min(dis[i][j],dis[i][k]+dis[k][j]);
mmst(dp[]);
dp[][][]=dp[][][]=;
for(int i=;i<=n;i++)
{
int x=c[i-],y=c[i],u=d[i-],v=d[i],fx=(i&);
mmst(dp[fx]);
for(int j=;j<=K;j++)
{
dp[fx][j][]=min(dp[!fx][j][]+dis[x][y]
,dp[!fx][j][]+p[i-]*dis[u][y]+(-p[i-])*dis[x][y]);
if(j)dp[fx][j][]=min(dp[!fx][j-][]+p[i]*dis[x][v]+(-p[i])*dis[x][y]
,dp[!fx][j-][]+p[i]*p[i-]*dis[u][v]+p[i]*(-p[i-])*dis[x][v]
+(-p[i])*p[i-]*dis[u][y]+(-p[i])*(-p[i-])*dis[x][y]);
}
}
int fx=(n&);
for(int j=;j<=K;j++)ans=min(ans,min(dp[fx][j][],dp[fx][j][]));
printf("%.2lf\n",ans);
return ;
}

最新文章

  1. editor does not contain a main type的解决方案
  2. Vijos1680距离/openjudge2988计算字符串的距离[DP]
  3. php7安装及配置
  4. [ActionScript 3.0] AS3中Loader无法彻底卸载
  5. ORA-01653:表空间扩展失败的问题(开启表空间自动扩展)
  6. Linux 关于解压
  7. history.js 一个无刷新就可改变浏览器栏地址的插件(不依赖jquery)
  8. “聊天剽窃手”--ptrace进程注入型病毒
  9. C# HttpClient Cookie验证解决方法
  10. Ruby Rose动态壁纸制作记录
  11. webpack——devtool里的7种SourceMap模式
  12. Ubuntu16.04安装vim8
  13. jstat命令详解
  14. 去掉Tomcat的管理页面
  15. centos7.2部署vnc服务记录
  16. 算法入门及其C++实现
  17. docker 系列之 docker安装
  18. C#时间操作总结
  19. Windows:服务已经标记为删除
  20. Zabbix部署-LNMP环境

热门文章

  1. vagrant生成多台虚拟机
  2. 纵览轻量化卷积神经网络:SqueezeNet、MobileNet、ShuffleNet、Xception
  3. differential related impedance and termination
  4. springboot实现转发和重定向
  5. 密码学笔记(4)——RSA的其他攻击
  6. hibernate抓取策略
  7. PAT甲级——A1090 Highest Price in Supply Chain
  8. Activiti流程定义语言
  9. elasticsearch 中文API bulk(六)
  10. 转载:Jsoup常用方法功能介绍(html解析器)