POJ 2315:Football Game(博弈论)】的更多相关文章

[题目链接] http://poj.org/problem?id=2315 [题目大意] 两名球员轮流从N个球中挑出不多于M个射门,每个球半径都是R,离球门S. 每次只能踢出L以内的距离.进最后一个球者胜,求谁有必胜策略? [题解] 我们发现对数据进行处理之后,题目等价于给出n堆石子, 每堆石子中每次最多取k个石子,每次最多选取m个石子堆做操作的博弈问题 首先我们将每堆石子堆对k+1取模简化运算, 对于只能取一堆石子上的石子的做法我们是对所有的石子堆的sg值进行xor运算得到sg值 xor又称为…
很久以前就见过的...最基本的概率DP...除法配合位运算可以很容易的判断下一场要和谁比.    from——Dinic算法                         Football Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2499   Accepted: 1258 Description Consider a single-elimination football tournament involving…
思路:首先用Tarjan算法找出树中的环,环为奇数变为边,为偶数变为点. 之后用博弈论的知识:某点的SG值等于子节点+1后的异或和. 代码如下: #include<iostream> #include<cstdio> #include<cmath> #include<algorithm> #include<vector> #include<cstring> using namespace std; int ans; vector<…
id=3071">http://poj.org/problem? id=3071 大致题意:有2^n个足球队分成n组打比赛.给出一个矩阵a[][],a[i][j]表示i队赢得j队的概率.n次比赛的流程像这样action=showproblem&problemid=2304">France \'98. 问最后哪个队最可能得冠军. 思路:概率dp问题.ans[i][j]表示第i轮中j队获胜的概率. #include <stdio.h> #include &l…
[题目链接] http://poj.org/problem?id=2975 [题目大意] 问在传统的nim游戏中先手必胜策略的数量 [题解] 设sg=a1^a1^a3^a4^………^an,当sg为0时为必败态, 因此先手只需改变一个aj,让其减少m,使得sg^aj^(aj-m)=0即可让对手处于必败态, 即先手必胜策略,因为异或为0的两个数相同,所以sg^aj=aj-m, 即m=aj-sg^aj,因为m大于0,所以aj>sg^aj,至此我们就得到了必胜策略的重要条件 [代码] #include…
[题目链接] http://poj.org/problem?id=2068 [题目大意] 给出两队人,交叉放置围成一圈,每个人能取的石子数有个上限,各不相同 轮流取石头,取到最后一块石头的队伍算输,问哪个队伍能赢 [题解] 用dp[i][j]记录第i个人取石头时候还有j个石头的状态, 显然j==0时候为必胜态,我们对每个状态搜索后继状态,如果能导向必败态则为必胜态, 否则必败,记忆化搜索即可. [代码] #include <cstdio> #include <cstring> us…
Football Football Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3734   Accepted: 1908 Description Consider a single-elimination football tournament involving 2n teams, denoted 1, 2, -, 2n. In each round of the tournament, all teams sti…
G - Football Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Status Description Consider a single-elimination football tournament involving 2n teams, denoted 1, 2, …, 2n. In each round of the tournament, all teams…
链接:http://poj.org/problem?id=3071 题意: 有 2^n 支足球队,编号 1~2^n,现在给出每支球队打败其他球队的概率,问哪只球队取得冠军的概率最大? 思路: 设dp[i][j] 为第 i 轮, 第 j  支球队胜的概率~ 那么dp[i][j]=dp[i-1][j] * ∑dp[i-1][k]*p[j][k] , k  为相应轮 j 可能面对的对手~ 那么在第 i 轮, 第 j 队的对手怎样尽快求得呢, (j从0开始)~ 对于第一轮,其可能的对手只有一个 为 j^…
题目链接:http://poj.org/problem?id=3071 题意: 给定n,有2^n支队伍参加足球赛. 给你所有的p[i][j],表示队伍i打败队伍j的概率. 淘汰赛制.第一轮(1,2)两队比.(3,4)比.(5,6)比...共进行n轮比赛后产生冠军. 问你冠军最有可能是哪支队伍. 题解: 表示状态: dp[i][j] = probability to win 第i支队伍能够参加第j轮比赛的概率. 找出答案: i of max dp[i][n+1] n轮比赛后,冠军该参加第n+1轮比…