bzoj3191卡牌游戏
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3191
原本想模拟过程,从t个人推到1个人;
但是怎么转移呢?想状压,可是50位压不到角标里。
那就随便转移吧,把当前人的生存方案数加给所有有可能成为下一轮中自己的人。
#include<iostream>
#include<cstdio>
#include<cstring>
#define ll long long
using namespace std;
const int N=;
int n,m,a[N];
ll dp[N][N],sum;
int main()
{
scanf("%d%d",&n,&m);
for(int i=;i<=m;i++)scanf("%d",&a[i]);
dp[n][]=;
for(int t=n;t>;t--)
for(int i=;i<=n;i++)
if(dp[t][i])
{
// printf("t=%d i=%d dp=%d\n",t,i,dp[t][i]);
for(int j=;j<=m;j++)
{
int c=a[j]%t,l=i+c+,r=i-(t-c-);
// printf("i=%d aj=%d l=%d r=%d\n",i,a[j],l,r);
if(l>r)for(int k=;k<=n;k++)if(k>=r||k<=l)dp[t-][k]+=dp[t][i];
else for(int k=l;k<=r;k++)
dp[t-][k]+=dp[t][i];
}
}
for(int i=;i<=n;i++)sum+=dp[][i];
for(int i=;i<=n;i++)
printf("%.2lf",(double)dp[][i]*/(double)sum),cout<<"% ";
return ;
}
这当然是不对的。那个“有可能成为下一轮中自己的人”不能保证就是下一轮中的自己。
那怎么办?看看TJ,发现大家是用相对编号来记录下一轮中的自己是哪个人的。
用记忆化搜索可以想得更灵活一点。以后尝试用这个角度思考。不然自己容易想不出来……
概率不用每一步都算好。可以之前一直算的是方案数,最后再换算成概率。有时候这样比较方便。
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int N=;
int n,m,a[N];
bool vis[N][N];
double dp[N][N],sum;
double sol(int i,int j)
{
if(vis[i][j])return dp[i][j];vis[i][j]=;
if(i==)return dp[i][j]=;
for(int k=;k<=m;k++)
if(a[k]%i!=j%i)//j%i,不是j (j==i)
dp[i][j]+=sol(i-,(j-(a[k]%i)+i)%i);
// dp[i][j]/=m;
return dp[i][j];
}
int main()
{
scanf("%d%d",&n,&m);
for(int i=;i<=m;i++)scanf("%d",&a[i]);
for(int i=;i<=n;i++)sum+=sol(n,i);
for(int i=;i<=n;i++)
{
printf("%.2lf%%",sol(n,i)/sum*);
if(i!=n)printf(" ");
}
return ;
}
bzoj3191卡牌游戏的更多相关文章
- bzoj3191卡牌游戏——概率DP
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3191 不用在意每个人的编号,只需看他们相对于庄家的位置即可: 所以设计状态f[i][j]为还 ...
- bzoj千题计划202:bzoj3191: [JLOI2013]卡牌游戏
http://www.lydsy.com/JudgeOnline/problem.php?id=3191 每个人获胜的概率只与其在排列中与庄家的相对位置有关 dp[i][j] 还剩i个人时,从庄家数第 ...
- 【BZOJ3191】【JLOI2013】卡牌游戏 [DP]
卡牌游戏 Time Limit: 10 Sec Memory Limit: 128 MB[Submit][Status][Discuss] Description N个人坐成一圈玩游戏.一开始我 ...
- [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计
源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...
- BZOJ_3191_[JLOI2013]卡牌游戏_概率DP
BZOJ_3191_[JLOI2013]卡牌游戏_概率DP Description N个人坐成一圈玩游戏.一开始我们把所有玩家按顺时针从1到N编号.首先第一回合是玩家1作为庄家.每个回合庄家都会随 ...
- 洛谷 P2059 [JLOI2013]卡牌游戏 解题报告
P2059 [JLOI2013]卡牌游戏 题意 有\(n\)个人玩约瑟夫游戏,有\(m\)张卡,每张卡上有一个正整数,每次庄家有放回的抽一张卡,干掉从庄家起顺时针的第\(k\)个人(计算庄家),干掉的 ...
- TCG卡牌游戏研究:《炉石战记:魔兽英雄传》所做的改变
转自:http://www.gameres.com/665306.html TCG演进史 说到卡牌游戏,大家会联想到什么呢? 是历史悠久的扑克牌.风靡全球的<MTG 魔法风云会>与< ...
- BZOJ 4392 卡牌游戏
Description 奶牛贝茜是卡牌游戏的狂热爱好者, 但是令人吃惊的, 她缺乏对手. 不幸的是, 任何牧 群里的其他牛都不是好对手. 他们实在是太差了 , 实际上, 他们玩卡牌游戏时会遵循一种完全 ...
- [JLOI2013]卡牌游戏 概率DP
[JLOI2013]卡牌游戏 概率DP 题面 \(dfs\)复杂度爆炸,考虑DP.发现决策时,我们只用关心当前玩家是从庄家数第几个玩家与当前抽到的牌是啥.于是设计状态\(f[i][j]\)表示有\(i ...
随机推荐
- java 的异常处理
一.异常的概念: java 中的异常通常指的是在运行期出现的错误,这样的错误也是比较难以调试的,解决问题的时候注意观察出现错误的名字和行号最重要 下面看这个例子: import java.io.*; ...
- Element-UI中Upload上传文件前端缓存处理
Element-UI对于文件上传组件的功能点着重于文件传递到后台处理,所以要求action为必填属性.但是如果需要读取本地文件并在前端直接处理,文件就没有必要传递到后台,比如在本地打开一个JSON文件 ...
- 20145333 《网络对抗技术》 PC平台逆向破解
20145333 <网络对抗技术> PC平台逆向破解 20145333 <网络对抗技术> PC平台逆向破解 Shellcode注入 基础知识 Shellcode实际是一段代码, ...
- linux及安全《Linux内核设计与实现》第二章——20135227黄晓妍
第二章:从内核出发 2.1获取源代码 2.1.1使用git Git:内核开发者们用来管理Linux内核源代码的控制系统. 我们使用git来下载和管理Linux源代码. 2.1.2安装内核源代码(如果使 ...
- 20159212杨翔实验一(熟悉Java开发环境)实验报告
实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验步骤与体会 一.命令行下Java程序开发 1.操作过程 在虚拟环境中 ...
- libcurl开源库在Win7 + VS2012环境下编译、配置详解 以及下载文件并显示下载进度 demo(转载)
转载:http://blog.csdn.net/fengshuiyue/article/details/39530093(基本教程) 转载:https://my.oschina.net/u/14207 ...
- ExtJS错误解决 Cannot read property 'on' of undefined
背景 用ExtJS新写了一个功能,运行时控制台打印错误Cannot read property 'on' of undefined,出错代码位置是Ext.define.bindStoreListene ...
- [SpringBoot] - 配置文件的多种形式及JSR303数据校验
Springboot配置文件: application.yml application.properties(自带) yml的格式写起来稍微舒服一点 在application.properties ...
- Python网络编程(Sockets)
一个简单的服务器 #!/usr/bin/python3 # This is server.py file import socket # create a socket object serverso ...
- python 字符串的反转
def string_reverse(str1): rstr1 = '' index = len(str1) : rstr1 += str1[ index - ] index = index - re ...