HDU4576 Robot(概率)
2018-08-26 17:15:54来源:博客园 阅读 ()
题意
抄袭自https://www.cnblogs.com/Paul-Guderian/p/7624039.html
多组输入n,m,l,r。表示在一个环上有n个格子。接下来输入m个w表示连续的一段命令,每个w表示机器人沿顺时针或者逆时针方向前进w格,已知机器人是从1号点出发的,输出最后机器人停在环上[l,r]区间的概率。n(1≤n≤200) ,m(0≤m≤1,000,000)。
Sol
无脑概率dp
$f[i][j]$表示第$i$轮,在$j$位置的概率
转移的时候枚举下一轮往哪儿走
最后把$(l, r)$内的加起来即可
#include<cstdio> #include<cstring> using namespace std; const int MAXN = 201; int N, M, l, r; double f[2][MAXN]; int get(int x) { if(x <= 0) x += N; if(x > N) x -= N; return x; } int main() { while(scanf("%d %d %d %d", &N, &M, &l, &r)) { memset(f, 0, sizeof(f)); if(!N && !M && !l && !r) break; int o = 0; f[o][1] = 1; for(int i = 1; i <= M; i++) { o ^= 1; int x; scanf("%d", &x); x %= N; for(int j = 1; j <= N; j++) f[o][j] = (f[o ^ 1][get(j - x)] + f[o ^ 1][get(j + x)]) / 2; } double ans = 0; for(int i = l; i <= r; i++) ans += f[o][i]; printf("%.4lf\n", ans); } return 0; }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Codeforces 1156F Card Bag(概率DP) 2019-05-08
- cf540D. Bad Luck Island(概率dp) 2018-09-05
- UVALive 6916---Punching Robot(卢卡斯+容斥) 2018-06-17
- 「模拟赛20180406」膜树 prufer编码+概率 2018-06-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash