给一个无向联通图,边有边权,求从$1$到$n$异或和最大的路径。
$yyb$的做法和我的一样,然而我不会证明。
$dfs$的过程中,分别考虑简单单位环(返祖边所在的环)的贡献和路的贡献。环的贡献扔到线性基里,然后把$1~n$的路径的贡献丢到线性基里求最大就行了。
神仙操作:合并线性基。暴力,复杂度两个$log$
然后用$ST$表搭配$LCA$查询。(注意,不要在$LCA$的过程中跑,因为可以重叠的,这样会多个$log$)。
我连$Nim$游戏都不会,还给我出新$Nim$游戏。
先$yy$一下$Nim$游戏:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴数量可以不同)。两个游戏者轮流操作,每次可以选一个火柴堆拿走若干根火柴。可以只拿一根,也可以拿走整堆火柴,但不能同时从超过一堆火柴中拿。拿走最后一根火柴的游戏者胜利。
当火柴堆的异或和为$0$时,后手必胜,反之,先手必胜。
那这道题就是很显然,就是让你选择和尽可能小的数,使得剩下的数的任意子集的异或和不为$0$,从大到小排序之后,依次插入线性基中贪心的选即可。
原文:https://www.cnblogs.com/shxnb666/p/11517055.html