博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【概率dp】【滚动数组】CDOJ1652 都市大飙车
阅读量:6764 次
发布时间:2019-06-26

本文共 726 字,大约阅读时间需要 2 分钟。

转移方程很显然。

因为是多段图模型,所以可以滚动数组优化一维空间。

#include
#include
using namespace std;int m,K,n,p;bool zaw[1010][30010];double f[2][30010];int main(){ int x,y; bool flag=1; scanf("%d%d%d%d",&m,&K,&n,&p); for(int i=1;i<=K;++i){ scanf("%d%d",&x,&y); if(y<=n){ zaw[y][x]=1; flag=0; } } if(m==1){ if(!flag){ puts("0.000000"); } else{ puts("1.000000"); } return 0; } bool cur=0; f[cur][p]=1; for(int i=1;i<=n;++i){ cur^=1; memset(f[cur],0,sizeof(f[cur])); for(int k=1;k<=2;++k){ if(!zaw[i-1][1]){ f[cur][k]+=f[cur^1][1]/2.0; } } for(int k=m-1;k<=m;++k){ if(!zaw[i-1][m]){ f[cur][k]+=f[cur^1][m]/2.0; } } for(int j=2;j

转载于:https://www.cnblogs.com/autsky-jadek/p/6935088.html

你可能感兴趣的文章
Linux查看CPU和内存使用情况
查看>>
css笔记二
查看>>
数组数据的排序sort
查看>>
如何更新你的电脑到win10 1903版本?
查看>>
xml 基础 学习
查看>>
python 模块
查看>>
20165306学习基础和C语言基础调查
查看>>
Android通过手势实现图像拖拽功能
查看>>
没有killall命令的解决方法
查看>>
Flask权限管理
查看>>
企业可视化报表工具选型经验分享
查看>>
长春理工大学第十四届程序设计竞赛(重现赛)F.Successione di Fixoracci
查看>>
牛客假日团队赛2 H.奶牛排序
查看>>
激活函数——sigmoid函数(理解)
查看>>
php ucwords 单词的首字母大写
查看>>
【爬虫】python 多线程知识
查看>>
由Cocos2dx的部分代码引出的对Lua元表的认识
查看>>
Spring Cloud构建微服务架构--服务网关
查看>>
hello oracle II
查看>>
vue2.0 仿手机新闻站(三)通过 vuex 进行状态管理
查看>>