問每乙個人在約瑟夫問題勝出的概率。
一開始我想了個三維的dp。
然後被tybd。
其實不難發現,真正有價值的是當前計算的人與當前莊家的距離。
所以設f[i
][j]
表示剩下i個人,離莊家距離為j的人勝出的期望。
隨便轉移下就好了。
code:
#include
#include
#include
#include
using
namespace
std;
double f[55][55];
int n,m,a[55];
int dis(int x,int y,int num) //在num個人的情況下,y裡x的距離
double dfs(int x,int y)//x個人,距離莊家y的人贏的期望。
return f[x][y];
}int main()
bzoj3191 JLOI2013 卡牌遊戲
time limit 10 sec memory limit 128 mb submit 410 solved 275 submit status discuss n個人坐成一圈玩遊戲。一開始我們把所有玩家按順時針從1到n編號。首先第一回合是玩家1作為莊家。每個回合莊家都會隨機 即按相等的概率 從卡...
bzoj3191 JLOI2013 卡牌遊戲
time limit 10 sec memory limit 128 mb submit 451 solved 308 submit status discuss n個人坐成一圈玩遊戲。一開始我們把所有玩家按順時針從1到n編號。首先第一回合是玩家1作為莊家。每個回合莊家都會隨機 即按相等的概率 從卡...
BZOJ3191 JLOI2013 卡牌遊戲
time limit 10 sec memory limit 128 mb submit 642 solved 433 submit status discuss n個人坐成一圈玩遊戲。一開始我們把所有玩家按順時針從1到n編號。首先第一回合是玩家1作為莊家。每個回合莊家都會隨機 即按相等的概率 從卡...