Codeforces 455B A Lot of Games】的更多相关文章

题目连接: Codeforces 455B A Lot of Games 题目大意:给定n.表示字符串集合. 给定k,表示进行了k次游戏,然后是n个字符串.每局開始.字符串为空串,然后两人轮流在末尾追加字符.保证新的字符串为集合中某字符串的前缀.不能操作者输,新一轮由上一句输的人先手. 解题思路:首先对字符集合建立字典树.然后依据博弈的必胜必败性质搜索出先手的决策状态,可决定胜败3,仅仅能胜利2,仅仅能失败1.不可掌控(即对手可决定胜败)0. 对于状态3,为必胜.能够採用前K-1场败,然后保证第…
A Lot of Games 题目链接: http://acm.hust.edu.cn/vjudge/contest/121334#problem/J Description Andrew, Fedor and Alex are inventive guys. Now they invent the game with strings for two players. Given a group of n non-empty strings. During the game two player…
http://codeforces.com/contest/455/problem/B 题目大意: 给出n个字符串,进行k次游戏,每次游戏输家下次作为先手,游戏规则为每次放一个字母,导致当前构造的字符串是给定的任意一个字符串的前缀,不能操作时为输,赢得第k次比赛的人会取得最终的胜利,问两人都采取最优策略的情况下,谁会赢得比赛. 思路: 00代表无法控制,10代表胜,01代表必败,11代表能赢能输. 如果能赢能输,那么可以一直控制自己前k-1场输,最后赢. 如果先手输,那么一定输 如果只能赢,那么…
题目链接:http://codeforces.com/problemset/problem/455/B 题意: 给你n个字符串,然后进行k局游戏. 每局游戏开始有一个空串,然后双方轮流给这个串的末尾添加字符,并保证新字符串是n个字符串中至少一个串的前缀. 当一方不能添加字符时,这一方输,游戏结束. 每场游戏结束后,这场游戏输的人会成为下一句游戏的先手. 谁赢得了最后一场比赛,谁才会真正赢得比赛. 问你最终真正赢得比赛的人,是第一局游戏的先手还是后手(分别称为First和Second). 题解:…
题目 参考自博客:http://blog.csdn.net/keshuai19940722/article/details/38455269 //字典树,博弈 根据当前节点的后续来确定当前节点的状态,0是由对手决定,1是只有可能输,2是只有可能赢,3是可以决定自己的胜负.这些状态是要综合所有后续情况确定的. #include<stdio.h> #include<iostream> #include<string.h> #include<string> #in…
题目链接:点击打开链接 题意: 给定n个字符串,k局游戏 对于每局游戏,2个玩家轮流给一个空串加入一个小写字母使得加完后的字符串不是n个字符串的前缀. 输家下一轮先手 问是先手必胜还是后手必胜 思路: 对于第一局游戏,若先手能到达必败态和必胜态,则先手会一直输到倒数第二局然后最后一局必胜 所以此时是first 若先手是必胜态或者是必败态,则是轮流赢.跟k的奇偶有关 #include <cstdio> #include <cstring> #include<iostream&g…
[codeforces 325]B. Stadium and Games 试题描述 Daniel is organizing a football tournament. He has come up with the following tournament format: In the first several (possibly zero) stages, while the number of teams is even, they split in pairs and play on…
\(>Codeforces \space 980 E. The Number Games<\) 题目大意 : 有一棵点数为 \(n\) 的数,第 \(i\) 个点的点权是 \(2^i\) 你需要删掉 \(k\) 个点,使得删掉这些点后树依然联通,且剩下的点权之和最大,并输出方案 \(n , k \leq 10^6\) 解题思路 : 问题可以转化为选取 \(n - k\) 个点,使得选取的点联通且权值和最大 根据点权是 \(2^i\) 的性质,显然有选取编号为 \(x\) 的点比选取 \(i =…
题目链接 B. A Lot of Games time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Andrew, Fedor and Alex are inventive guys. Now they invent the game with strings for two players. Given a group of n n…
题目链接 题意: A和B轮流在建造一个字,每次添加一个字符,要求是给定的n个串的某一个的前缀,不能添加字符的人输掉游戏,输掉的人先手下一轮的游戏.问A先手,经过k轮游戏,最后胜利的人是谁. 思路: 很显然先将n个字符串插入到字典树上,因为字典树上有分叉,不能仅仅判断字符串长度奇偶性来判断.字典树看成无环的状态图,如果按照拓扑排序逆序进行排序,在判断每个节点的时候,它的后继都已经判断过了.定义两个数组can_win[u], can_lose[u],表示u节点走下去“可能赢吗?”以及u节点走下去”可…