HDU 4576
http://acm.hdu.edu.cn/showproblem.php?pid=4576
题意:给一个1-n的环,m次操作,每次操作顺时针或逆时针走w步,求最后落在[l,r]区间的概率
dp[i][j]表示第i步走到点j的概率,很裸的概率dp,i太大,需要滚动数组
时限4s,我的代码3984ms过的,有点悬
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <queue>
#include <map> using namespace std; double dp[][]; int main() {
int n, m, l, r;
while(~scanf("%d %d %d %d", &n, &m, &l, &r)) {
if(!n && !m && !l && !r) break;
memset(dp, , sizeof(dp) );
dp[][] = 1.0;
int f = ;
while(m--) {
int w;
scanf("%d", &w);
for(int i = ; i < n; i++)
dp[f ^ ][i] = 0.0;
for(int i = ; i < n; i++) {
dp[f ^ ][(i + w) % n] += 0.5 * dp[f][i];
dp[f ^ ][(i - w + n) % n] += 0.5 * dp[f][i];
}
f ^= ;
}
double ans = 0.0;
for(int i = l; i <= r; i++)
ans += dp[f][i-];
printf("%.4lf\n", ans);
}
return ;
}
HDU 4576的更多相关文章
- HDU 4576 简单概率 + 滚动数组DP(大坑)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4576 坑大发了,居然加 % 也会超时: #include <cstdio> #includ ...
- hdu 4576 (简单dp+滚动数组)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4576 题意:给出1~n的环,m个操作,每次能顺时针或逆时针走w步,询问最后在l~r这段区间内概率.(1 ...
- hdu 4576(概率dp+滚动数组)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4576 思路:由于每次从某一位置到达另一位置的概率为0.5,因此我们用dp[i][j]表示第i次操作落在 ...
- HDU 4576 Robot (概率DP)
暴力DP求解太卡时间了...........写挫一点就跪了 //hdu robot #include <cstdio> #include <iostream> #include ...
- hdu 4576 概率dp **
题意:Michael has a telecontrol robot. One day he put the robot on a loop with n cells. The cells are n ...
- HDU 4576 Robot(概率dp)
题目 /*********************复制来的大致题意********************** 有N个数字,M个操作, 区间L, R. 然后问经过M个操作后落在[L, R]的概率. * ...
- HDU 4576 Robot
思路 概率dp 既然是求概率,顺推 显然有转移\(dp[i][j]=dp[i-1][j-w]/2+dp[i-1][w]/2\) 然后是环,注意特判一下 环上不要用取模处理循环的情况,会被卡常 代码 # ...
- HDU 4576 Robot (概率 & 期望)
Robot Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 102400/102400 K (Java/Others)Total Sub ...
- HDU 4576 DP
Robot Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 102400/102400 K (Java/Others)Total Sub ...
随机推荐
- DataTable常用操作
添加列和行的三种方法(转载) 原文地址:http://www.cnblogs.com/jRoger/articles/1887581.html DataTable tblDatas =new Data ...
- 支持SQL Server数据库又支持MongoDB数据库的数据访问设计
网站整体架构建议采用工厂模式 分别包括:数据访问层DAL,数据访问接口层IDAL,工厂层DALFactory,业务逻辑层,显示层这样的架构方式 在WebConfig配置采用何种数据库的数据访问层 &l ...
- Tomcat数据库连接池的配置方法总结
Tomcat数据库连接池的配置方法总结 数据库连接是一种关键的有限的昂贵的资源,这在多用户网页应用程序中体现的尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标 ...
- js首字母大写--单个单词的处理方式
var operate2='OR'; for (var j = 0, len = operate1.length; j< len; j++) { //获得unicode码 var ch2 = o ...
- Tomcat配置虚拟主机的两种方式
1.基于主机名的虚拟主机配置 在随意盘符下建立一个目录作为虚拟地址的目录.例如:F:\virtualhost1,在其下建立 test1.html,写入内容例如:test 在tomcat/conf/se ...
- apache rewrite设置 禁止某个文件夹执行php文件
RewriteRule (data|templates)/(.*).(php)$ – [F]
- SQL逻辑读变成零
使用缓存HINT 让逻辑读变成0. create table t as select * from dba_objects; insert into t select * from t; commit ...
- [Js]拖拽
分析: 1.鼠标按下,拖拽开始,鼠标移动,拖拽进行,鼠标抬起,拖拽结束(三个事件) 2.被拖动元素与鼠标之间的位置在拖动过程中始终不变,利用这个原理,被拖动元素的位置就是鼠标的左(上)边距-鼠标与被拖 ...
- AngularJS recursive(递归)
工作中我们经常要遍历多层数据,如果数据是已知层级的话,用 ng-repeat 就搞定了,要是数据深度是无限的呢,或者我们要实现一个无限层级的 tree 的时候,该怎么办? 答案是使用 ng-inclu ...
- CentOS linux 下eclipse+cdt编译报undefined reffrece to *