HDU 5001 概率DP || 记忆化搜索
2014 ACM/ICPC Asia Regional Anshan Online
给N个点,M条边组成的图,每一步能够从一个点走到相邻任一点,概率同样,问D步后没走到过每一个点的概率
概率DP 測试数据太水了。。。。10000*50*50*50都能过
加个vector优化到
#include "stdio.h"
#include "string.h"
#include "vector"
using namespace std;double dp[10][101][101];
double ans[101];
vector<int>map[101];
int cnt[101];
int main()
{int n,m,d,Case,a,b,i,j,k,l;scanf("%d",&Case);while (Case--){scanf("%d%d%d",&n,&m,&d);memset(cnt,0,sizeof(cnt));while (m--){scanf("%d%d",&a,&b);cnt[a]++;cnt[b]++;map[a].push_back(b);map[b].push_back(a);}memset(dp,0,sizeof(dp));for (i=1;i<=n;i++)for (j=1;j<=n;j++)if (i!=j)dp[0][i][j]+=1.0/n; // dp[d][i][j] 第d步,终点为i,中途不经过j的概率for (i=1;i<=d;i++){memset(dp[i%2],0,sizeof(dp[i%2]));for (j=1;j<=n;j++)for (k=0;k<map[j].size();k++)for (l=1;l<=n;l++)if (j!=l && j!=map[j][k])dp[i%2][map[j][k]][l]+=dp[1-i%2][j][l]*1.0/cnt[j];}memset(ans,0,sizeof(ans));for (i=1;i<=n;i++)for (j=1;j<=n;j++)if (i!=j)ans[i]+=dp[d%2][j][i];for (i=1;i<=n;i++){printf("%.10lf\n",ans[i]);map[i].clear();}}return 0;
}
记忆化搜索: 每次去掉一个点,然后对剩下的点进行记忆化搜索
#include "stdio.h"
#include "string.h"
#include "vector"
using namespace std;int vis[101][10011],cnt[101];
double dp[101][10011];
int d;
vector<int>map[101];
double dfs(int a,int b,int c) //当前在a点,已经走了b步,不经过c点
{int i;double ans;if (vis[a][b]) return dp[a][b];vis[a][b]=1;ans=0;if (b>d) return dp[a][b]=1;for (i=0;i<map[a].size();i++)if (map[a][i]!=c)ans+=1.0/cnt[a]*dfs(map[a][i],b+1,c);return dp[a][b]=ans;}int main()
{int Case,n,m,i,a,b;scanf("%d",&Case);while (Case--){scanf("%d%d%d",&n,&m,&d);memset(cnt,0,sizeof(cnt));for (i=0;i<=n;i++)map[i].clear();while (m--){scanf("%d%d",&a,&b);cnt[a]++;cnt[b]++;map[a].push_back(b);map[b].push_back(a);}memset(dp,0,sizeof(dp));for (i=1;i<=n;i++)map[0].push_back(i);cnt[0]=n;for (i=1;i<=n;i++){memset(vis,0,sizeof(vis));printf("%.10lf\n",dfs(0,0,i));}}return 0;
}
转载于:https://www.cnblogs.com/mfrbuaa/p/4294540.html
HDU 5001 概率DP || 记忆化搜索相关推荐
- Palindrome subsequence HDU - 4632 区间dp|记忆化搜索
// 区间dp import java.util.Scanner;/**** @author CN*/ public class main {static int mod = 10007;static ...
- 【BZOJ2246】【codevs2135】迷宫探险,概率DP+记忆化搜索+状态压缩+运气
Time:2016.08.24 Author:xiaoyimi 转载注明出处谢谢 传送门1 传送门2 思路: 毒瘤题目 考虑f[i][x][y][h]f[i][x][y][h]表示走到(x,y),血量 ...
- BZOJ.2246.[SDOI2011]迷宫探险(DP 记忆化搜索 概率)
题目链接 求最大的存活概率,DP+记忆化. 用f[s][x][y][hp]表示在s状态,(x,y)点,血量为hp时的存活概率. s是个三进制数,记录每个陷阱无害/有害/未知. 转移时比较容易,主要是在 ...
- BZOJ1415 [Noi2005]聪聪和可可 【SPFA + 期望dp记忆化搜索】
题目 输入格式 数据的第1行为两个整数N和E,以空格分隔,分别表示森林中的景点数和连接相邻景点的路的条数. 第2行包含两个整数C和M,以空格分隔,分别表示初始时聪聪和可可所在的景点的编号. 接下来E行 ...
- hdu 4597 Play Game(记忆化搜索)
题目链接:hdu 4597 Play Game 题目大意:给出两堆牌,仅仅能从最上和最下取,然后两个人轮流取,都依照自己最优的策略.问说第一个人对多的分值. 解题思路:记忆化搜索,状态出来就很水,dp ...
- 思维dp ---- Codeforces Round #711 (Div. 2) - C. Planar Reflections[dp/记忆化搜索]
题目链接 题目大意: 就是给你n个平面和一个寿命为k的衰变粒子.开始粒子从左向右飞行,粒子每经过一个平面就会产生一个副本粒子,这个副本粒子比原粒子的寿命少1,即为k-1,并且飞行方向是原粒子的反方向. ...
- 数位dp 记忆化搜索java_hdu 5787 数位dp,记忆化搜索
题意:求区间[l,r]内有多少个数符合,这个数的任意的相邻k位数(digits),这k个数都两两不相等 l,r范围是1~1e18,k是2~5 思路:数位DP,因为K<=5,我们最多需要保存下来当 ...
- pku 1191 棋盘分割 DP / 记忆化搜索
http://poj.org/problem?id=1191 题意:中文省略. 思路:黑说p116有讲解, 主要的状态转移方程为 横着切: dp[k][x1][y1][x2][y2] = min(d ...
- bzoj1833: [ZJOI2010]count 数字计数(数位DP+记忆化搜索)
1833: [ZJOI2010]count 数字计数 题目:传送门 题解: 今天是躲不开各种恶心DP了??? %爆靖大佬啊!!! 据说是数位DP裸题...emmm学吧学吧 感觉记忆化搜索特别强: 定义 ...
最新文章
- [JZOJ4786]小a的强迫症
- Hadoop学习13--zookeeper相关
- MRI原理谁都看得懂版
- mybatis 分页需要的jar包下载_064、MyBatis
- python二十:内置函数
- 最简单的基于FFmpeg的AVDevice例子(读取摄像头)
- RocketMQ角色介绍
- 在Packet Tracer中路由器静态路由配置
- 二分法的应用:POJ1064 Cable master
- 东北大学c语言真题及答案,东北大学C语言总测试题(含答案).pdf
- Android 自定义View绘制的基本开发流程 Android自定义View(二)
- LeetCode 187. 重复的DNA序列
- gb2312编码表_程序员趣味读物:谈谈Unicode编码
- [转载] python中 堆heapq以及 队列queue的使用
- android intent json,如何从android中的Intent服务中的服务器获取Json响应?
- Android Toast 总结
- 两招快速教会你们PDF怎么转图片jpg格式
- 【RuoYi-Vue-Plus】学习笔记 02 - OSS模块(二)之文件上传(使用MinIO基于Win10环境)
- Raspberry Pi 4B SSH、VNC及串口连接配置
- 钢铁侠或漫威中有哪些黑科技?
热门文章
- 用步进正弦激励法测量计算机声卡输出输入幅值频响函数
- 在Kmplayer中设置多字幕
- 【linux回炉 档案权限与目录配置】
- 第四周实践项目3单链表:逆置、连接与递增判断(包含三个程序)
- MATLAB双纵坐标绘图(重要)
- 握手失败_拜托了,看完这篇别再问我什么是TCP三次握手和四次挥手
- access四舍五入取整round_轻松办公|你一点儿也不懂“四舍五入”
- 防盗链测试01 - Jwplayer+Tengine2.3.1 mp4模块打造流媒体测试服务器
- ACM_变形课(并查集)
- 【计算机视觉】Objectness算法(一)---总体理解,整理及总结