摘要: 普通nim游戏: n堆石子,每个人每次对着一堆拿若干个。不能拿者判输。 只有两种情况,先手必胜,先手必败。 先手必胜当且仅当:a1^a2^...^an!=0 证明: 设=x(x不为0),选择最高位和x一样的ai,显然有ai^x<ai 阶梯型nim游戏 阶梯型nim游戏:高度单调的阶梯。每次只能把a[ 阅读全文
posted @ 2018-10-22 16:56 *Miracle* 阅读(422) 评论(0) 推荐(1) 编辑
摘要: [POI2015]ODW 喵锟讲过。分块。 N>=blo,那就暴力倍增往上跳。O(N/blo*logN) N<blo,预处理,f[i][j]表示,i往上跳,每次跳j步,到根节点为止,权值和。O(N*blo)(预处理复杂度) 平衡一下:N/blo*logN=N*blo blo=sqrt(NlogN) 阅读全文
posted @ 2018-10-22 14:13 *Miracle* 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 爆栈指递归中,存储的信息量大于系统栈的内存。 信息量包括元素编号,每一层中开的变量。 和递归的层数正相关。 (虽然noip一般开栈) 1.手写栈 while(top){ int x=sta[top]; for(each son) if(has son){ //blablabla sta[++top] 阅读全文
posted @ 2018-10-22 11:02 *Miracle* 阅读(4045) 评论(0) 推荐(0) 编辑