[算法]博弈论+记忆化搜索 [题意]给定n堆石子,两人轮流操作,每个人可以合并两堆石子或拿走一个石子,不能操作者输,问是否先手必胜 [题解] 首先,若所有石子堆的石子数>1,显然总操作数为(石子数+石子堆数-1),奇数先手必胜,偶数先手必败. 若有部分石子堆的石子数=1,情况较复杂,考虑一下五种情形: 1. 拿走石子数=1的石子堆 2.减少操作次数(拿走石子或合并石子堆) 3.操作数减至1时,视为多一堆石子数=1的石子堆(若操作数不为1,即使出现也会被再次操作抵消) 4.合并两个石子数=1的石子…