【概率dp】【滚动数组】CDOJ1652 都市大飙车

转移方程很显然。
因为是多段图模型,所以可以滚动数组优化一维空间。
#include<cstdio>
#include<cstring>
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<m;++j){
for(int k=j-1;k<=j+1;++k){
if(!zaw[i-1][j]){
f[cur][k]+=f[cur^1][j]/3.0;
}
}
}
}
double ans=0;
for(int i=1;i<=m;++i){
if(!zaw[n][i]){
ans+=f[cur][i];
}
}
printf("%.6lf\n",ans);
return 0;
}
【概率dp】【滚动数组】CDOJ1652 都市大飙车的更多相关文章
- hdu 4576(概率dp+滚动数组)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4576 思路:由于每次从某一位置到达另一位置的概率为0.5,因此我们用dp[i][j]表示第i次操作落在 ...
- Hello 2019 D 素因子贡献法计算期望 + 概率dp + 滚动数组
https://codeforces.com/contest/1097/problem/D 题意 给你一个n和k,问n经过k次操作之后留下的n的期望,每次操作n随机变成一个n的因数 题解 概率dp计算 ...
- HDU - 4576 Robot(概率dp+滚动数组)
题意:所有的格子围成一个圈,标号为1~n,若从格子1出发,每次指令告知行走的步数,但可能逆时针也可能顺时针走,概率都是1/2,那么问走了m次指令后位于格子l~r(1≤l≤r≤n)的概率. 分析: 1. ...
- POJ3071-Football(概率DP+滚动数组)
Football Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 2769 Accepted: 1413 Descript ...
- USACO 2009 Open Grazing2 /// DP+滚动数组oj26223
题目大意: 输入n,s:n头牛 s个栅栏 输入n头牛的初始位置 改变他们的位置,满足 1.第一头与最后一头的距离尽量大 2.相邻两头牛之间的距离尽量满足 d=(s-1)/(n-1),偏差不超过1 3. ...
- HDU 1024 Max Sum Plus Plus --- dp+滚动数组
HDU 1024 题目大意:给定m和n以及n个数,求n个数的m个连续子系列的最大值,要求子序列不想交. 解题思路:<1>动态规划,定义状态dp[i][j]表示序列前j个数的i段子序列的值, ...
- POJ 3666 Making the Grade (DP滚动数组)
题意:农夫约翰想修一条尽量平缓的路,路的每一段海拔是A[i],修理后是B[i],花费|A[i] – B[i]|,求最小花费.(数据有问题,代码只是单调递增的情况) #include <stdio ...
- HDU 5119 Happy Matt Friends (背包DP + 滚动数组)
题目链接:HDU 5119 Problem Description Matt has N friends. They are playing a game together. Each of Matt ...
- hdu 4576 (简单dp+滚动数组)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4576 题意:给出1~n的环,m个操作,每次能顺时针或逆时针走w步,询问最后在l~r这段区间内概率.(1 ...
随机推荐
- perl6中的q/qq/qx/qqx
q不内插 qq内插 qx不内插 qqx内插
- Django rest framework 版本控制(源码分析)
基于上述分析 #2.处理版本信息 处理认证信息 处理权限信息 对用户的访问频率进行限制 self.initial(request, *args, **kwargs) #2.1处理版本信息 #versi ...
- 运维开发:python websocket网页实时显示远程服务器日志信息
功能:用websocket技术,在运维工具的浏览器上实时显示远程服务器上的日志信息 一般我们在运维工具部署环境的时候,需要实时展现部署过程中的信息,或者在浏览器中实时显示程序日志给开发人员看.你还在用 ...
- [Leetcode Week12]Unique Paths
Unique Paths 题解 原创文章,拒绝转载 题目来源:https://leetcode.com/problems/unique-paths/description/ Description A ...
- Redis缓存Mysql模拟用户登录Java实现实例[www]
Redis缓存Mysql模拟用户登录Java实现实例 https://jingyan.baidu.com/article/09ea3ede1dd0f0c0aede3938.html redis+mys ...
- c basic library framework - simplec 2.0.0
前言 - simplec 单元测试 流程介绍 一个关于C基础库 simplec 2.0.0 发布了. 详细的文档介绍请参照 README.md. 说的再多都无用, 抵不上 gdb 一个 b r n. ...
- 在Caffe中使用 DIGITS(Deep Learning GPU Training System)自定义Python层
注意:包含Python层的网络只支持单个GPU训练!!!!! Caffe 使得我们有了使用Python自定义层的能力,而不是通常的C++/CUDA.这是一个非常有用的特性,但它的文档记录不足,难以正确 ...
- Flask 通过扩展来实现登录验证
1. flask扩展 说明: flask的扩展类似于python中的装饰器,和Django中的process_request的方法也类似 测试代码 from flask import Flask,se ...
- layui文件单文件和多文件的上传、预览以及删除和修改
活不多说,直接上代码 单文件上传 1.HTML <blockquote class="layui-elem-quote layui-quote-nm" style=" ...
- AC日记——[SDOI2010]大陆争霸 洛谷 P3690
[SDOI2010]大陆争霸 思路: dijkstra模板: 代码: #include <bits/stdc++.h> using namespace std; #define maxn ...