hdu 1437 天气情况【概率DP】
天气情况
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 638 Accepted Submission(s): 257
首先是一个数字T表示数据的组数.
每组数据以9个数开始分别是P11,P12,P13,……,P32,P33,接着下一行是一个数字m,表示提问的次数。每次提问有3个数据,i,j,n,表示过了n天从i天气情况到j天气情况(1<=i,j<=3 1<=n<=1000)。
题解:对于每一种情况都用前一天的所有情况的概率来分别乘以今天的单个情况的概率,如求第一天到第三天雨转到雨的概率,就需要用前一天(第二天)的所有情况,(雨,晴,阴)的概率来分别乘以今天的变雨的概率 同理,第二天的由第一天的推得
vis[j][k][i]+=map[l][k]*vis[j][l][i-1];
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define MAX 1100
#include<math.h>
#define DD double
DD map[4][4];
DD vis[4][4][MAX];
using namespace std;
int main()
{
int n,m,j,i,t,k,l;
int a,b,c;
scanf("%d",&t);
while(t--)
{
memset(vis,0,sizeof(vis));
for(i=1;i<=3;i++)
for(j=1;j<=3;j++)
{
scanf("%lf",&map[i][j]);
vis[i][j][1]=map[i][j];
}
for(i=2;i<1010;i++)//天数
{
for(j=1;j<=3;j++)//由i天气
{
for(k=1;k<=3;k++)//转到k天气
{
for(l=1;l<=3;l++)//此循环用来循环天气的变化
{
vis[j][k][i]+=map[l][k]*vis[j][l][i-1];
//第i天的j变k的概率 //map当前天每种天气转到k的概率
// vis[j][l][i-1]前一天每种天气的概率
}
}
}
}
scanf("%d",&n);
while(n--)
{
scanf("%d%d%d",&a,&b,&c);
printf("%.3lf\n",vis[a][b][c]);
}
}
return 0;
}
hdu 1437 天气情况【概率DP】的更多相关文章
- HDU 4089 Activation(概率DP)(转)
11年北京现场赛的题目.概率DP. 公式化简起来比较困难....而且就算结果做出来了,没有考虑特殊情况照样会WA到死的.... 去参加区域赛一定要考虑到各种情况. 像概率dp,公式推出来就很容易写 ...
- HDU 4405 Aeroplane chess (概率DP)
题意:你从0开始,要跳到 n 这个位置,如果当前位置是一个飞行点,那么可以跳过去,要不然就只能掷骰子,问你要掷的次数数学期望,到达或者超过n. 析:概率DP,dp[i] 表示从 i 这个位置到达 n ...
- HDU - 5001 Walk(概率dp+记忆化搜索)
Walk I used to think I could be anything, but now I know that I couldn't do anything. So I started t ...
- HDU 4089 Activation:概率dp + 迭代【手动消元】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4089 题意: 有n个人在排队激活游戏,Tomato排在第m个. 每次队列中的第一个人去激活游戏,有可能 ...
- HDU 2955 Robberies 背包概率DP
A - Robberies Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submi ...
- HDU 4035Maze(树状+概率dp,绝对经典)
题意: 给你n个节点的树,从1节点开始走,到每个节点都有三种情况,被杀死回到1节点,找到隐藏的出口出去,沿着当前节点相邻的边走到下一个节点,给出每个节点三种情况发生的概率分别为ki,ei,1-ki-e ...
- HDU 3366 Passage (概率DP)
Passage Problem Description Bill is a millionaire. But unfortunately he was trapped in a castle. The ...
- HDU 5236 Article(概率DP)
http://acm.hdu.edu.cn/showproblem.php?pid=5236 题意:现在有人要在文本编辑器中输入n个字符,然而这个编辑器有点问题. 在i+0.1s(i>=0)的时 ...
- HDU 4576 Robot (概率DP)
暴力DP求解太卡时间了...........写挫一点就跪了 //hdu robot #include <cstdio> #include <iostream> #include ...
随机推荐
- appserv在哪修改服务器名
修改服务器名,需要修改httpd.conf文件中的第233行 ServerName 192.168.1.104:8080. 这个文件位于 AppServ\Apache2.2\conf\ 下.
- jquery.cookie.js使用介绍
Cookies概述: Cookies是一种能够让网站服务器把少量数据储存到客户端的硬盘或内存,或是从客户端的硬盘读取数据的一种技术.Cookies是当你浏览某网站时,由Web服务器置于你硬盘上的一个非 ...
- Nginx/Apache日志分析脚本
1,查看apache进程: ps aux | grep httpd | grep -v grep | wc -l 2,查看80端口的tcp连接: netstat -tan | grep "E ...
- Android:控件布局(单帧布局)FrameLayout
FrameLayout:所有控件位于左上角,并且直接覆盖前面的子元素. 在最上方显示的层加上: android:clickable="true" 可以避免点击上层触发底层. 实例: ...
- java去除重复的字符串和移除不想要的字符串
在java开发中碰到了有些字符串是重复的,如果在进行业务处理要全部遍历太对的数据就会重复,所以在进行业务处理前进行一个去重操作. 这里由于业务需要所以先将字符串转化为string数组,使用split分 ...
- centos安装异常解决方法
VMware系统安装Centos7后,第一次启动出现以下异常信息: Initial setup of CentOS Linux (core) ) [x] Creat user ) [!] Licens ...
- 关于C的一些理解
关于字符数组和字符指针 关于相互赋值问题一只有疑问,其实是自己搞不清指针和地址的关系.地址可以指向一块内存但是不一定存在于内存,比如字符数组名,数组名是地址,但是不实际存在于内存中,无法修改,而字符指 ...
- MySQL复制应用中继日志解析
前言:SQL线程应用中继日志,在binlog_format是row格式的时候,是居于主键更新,下面结合一张图来证明 1.从一个大神那边得到一张图片,SQL线程应用中继日志流程,下面就实验验证一下:(P ...
- ASCII码表详解
第一部分:ASCII非打印控制字符表 ASCII表上的数字0–31分配给了控制字符,用于控制像打印机等一些外围设备.例如,12代表换页/新页功能.此命令指示打印机跳到下一页的开头.(参详ASCII码表 ...
- WinCE设置多国语言支持
最近项目中需要支持中(简繁)日韩英多种语言,在网上找了很多解决办法,最后发现还是MSDN最好. [c-sharp] view plaincopy [HKEY_LOCAL_MACHINE/SYSTEM/ ...