Consider a game with three players where each player starts with $100$ tokens and a (possibly unfair) coin. In turns, a player decides how many of her tokens she puts on Heads. Her other tokens will be put on Tails. Her coin is then flipped and she loses the tokens that were put on the wrong outcome. When a player has no more tokens, the game ends. The game also ends when some large maximum number of flips has been reached. Players cannot see how many tokens an opponent has. Players base their decisions on their previous decisions and toss results and (A) on the toss-results of their opponents (but not on the decisions of their opponents, as they don't know).
My question is not about optimal strategies, but about how efficiently potential strategies can be described. Describing for each possible situation how many tokens to put on an outcome leads to a tree that has exponential size in the number of tosses. However, we can prune the tree when 0 tokens are put on a certain outcome. A related idea, we can write for each token the H/T-sequence it will follow leading to an efficient "$100$ times the number of flips" size datastructure, if it weren't for (A).
My objective is to create an efficient datastructure that describes (the "relevant parts" of the) three strategies combined. This can hopefully be done more efficiently than describing one of the strategies alone, since we can prune the strategies in branches where the game ends. I'm afraid it can be done no more efficient than a "$100^3$ times the number of flips" size datastructure, but I don't even see how to do that.