bzoj3191卡牌游戏——概率DP
2024-09-07 17:32:06
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3191
不用在意每个人的编号,只需看他们相对于庄家的位置即可;
所以设计状态f[i][j]为还剩i人时j人获胜的概率,并且默认庄家是1号;
这样就可以转移了,每次被淘汰的人是tmp,淘汰后所有人的编号都-=tmp,对应到下一层的状态。
代码如下:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int n,m,a[];
double f[][];
int main()
{
scanf("%d%d",&n,&m);
for(int i=;i<=m;i++)scanf("%d",&a[i]);
f[][]=;
for(int i=;i<=n;i++)
for(int j=;j<=i;j++)
for(int k=;k<=m;k++)
{
int tmp=a[k]%i;
if(tmp==)tmp=i;
f[i][j]+=1.0/m*f[i-][(j-tmp+i)%i];
}
for(int i=;i<n;i++)
printf("%.2lf%% ",f[n][i]*);
printf("%.2lf%%",f[n][n]*);
return ;
}
最新文章
- 利用SSH Filesystem实现远程文件系统
- C#多任务并行阶段控制—— Threading.Barrier
- 用实例讲解Spark Sreaming--转
- Android权限安全(1)自定义,检查,使用权限
- DOS系统功能调用表(INT 21H)
- 广义线性模型 GLM
- Oracle数据库中truncate命令和delete命令的区别
- iOS开发之详解正则表达式
- MyBatis之传入参数——parameterType(转)
- sql必知必会(第四版) 学习笔记二 视图
- (转载)开源ckplayer 网页播放器, 跨平台(html5, mobile),flv, f4v, mp4, rtmp协议. webm, ogg, m3u8 !
- hdu 1166 线段树(sum+单点修改)
- Android Studio精彩案例(二)《仿微信动态点击底部tab切换Fragment》
- [C++项目]2048控制台游戏
- thinkphp5使用空模块
- Vue2.5笔记:Vue的实例与生命周期
- SQL Server 2005 企业版没有 Microsoft SQL Server Management
- 非常全面的SQL Server巡检脚本来自sqlskills团队的Glenn Berry
- 关于var time = +new Date;
- socket之基础
热门文章
- TreeView 与 ListView
- html页面中拍照和上传照片那些事儿(二)
- 10分钟学会前端工程化(webpack4.0)
- iOS开发之计算两个日期的时间间隔
- 生活娱乐 360安全卫士和QQ大战
- WPF MVVM UI分离之《交互与数据分离》 基础才是重中之重~delegate里的Invoke和BeginInvoke 将不确定变为确定系列~目录(“机器最能证明一切”) 爱上MVC3系列~全局异常处理与异常日志 基础才是重中之重~lock和monitor的区别 将不确定变成确定~我想监视我的对象,如果是某个值,就叫另一些方法自动运行 将不确定变成确定~LINQ DBML模型可以对
- C# json反序列化 对象中嵌套数组 (转载) 可能会导致循环或多重级联路径。请指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。
- Android 特别大的Activity和Fragment的生命周期图
- Development of Intel chipsets interconnection
- HDU 3420 Bus Fair [补]