传送门 题意: 有N 个局部联通的图.Harry 和Sally 轮流从图中删边,删去一条边后,不与根节点相连的部分将被移走.Sally 为先手.图是通过从基础树中加一些边得到的.所有形成的环保证不共用边,且只与基础树有一个公共点.谁无路可走谁输 卡读题啊...$WA$了一节课了才发现是多组输入 树上删边游戏:叶子节点的SG值为0:中间节点的SG值为它的所有子节点的SG值加1 后的异或和. 一些节点多出去一个环?好像是Multi-SG唉! 奇环的后继状态,两条奇偶性相同的链,异或和一定没有1 偶环…
题目链接 \(Description\) 给定n棵"树",每棵"树"的节点可能"挂着"一个环,保证没有环相交,且与树只有一个公共点. 两人轮流从树上删边,删去一条边后,不与根相连的一部分会被移除.最后无法移动的人输.问谁能赢. \(Solution\) 如果没有环,那就是典型的树上删边游戏 考虑环,没有共用边且与树只有一个交点,那这是一个从树上某点\(x\)连出最后又连回这个点的简单环. 删除环上一边后会形成两条链 -> Multi-SG…
PP and QQ Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 510    Accepted Submission(s): 256 Problem Description PP and QQ were playing games at Christmas Eve. They drew some Christmas trees on…
题目链接: http://codeforces.com/gym/101161/attachments 题意: 给一个可以变化的字典树 在字典树上删边 如果某条边和根节点不连通那么这条边也删除 谁没得删就输了 数据范围: $1\leq n \leq 100000$ $1\leq q \leq 100000$ $1\leq |s| \leq 40$ 分析: 先对当前字符串建立字典树 每个玩家的操作其实就是删除字典树的一个子树,相当于树上删边游戏 结论: 叶子节点:$sg=0$ 其他节点:sg=(所有…
基本的树上删边游戏 写过很多遍了 /** @Date : 2017-10-13 18:19:37 * @FileName: HDU 3094 树上删边 NIM变形.cpp * @Platform: Windows * @Author : Lweleth (SoungEarlf@gmail.com) * @Link : https://github.com/ * @Version : $Id$ */ #include <bits/stdc++.h> #define LL long long #d…
2688: Green Hackenbush Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 42  Solved: 16 Description   有一个古老的游戏叫做Green Hackenbush,游戏是这样进行的:两个人轮流在一棵树上删边,每次删边后不与根联通的子树直接被ignore,不能删边的游戏者输.Alice和Bob也在玩这个游戏,不过他们面对的是n棵树,第i棵树是含有a[i]个节点的二叉树.先手的Alice想知道自己有多大的概率获…
Christmas Game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 1967   Accepted: 613 Description Harry and Sally were playing games at Christmas Eve. They drew some Christmas trees on a paper: Then they took turns to cut a branch of a tre…
结论题,这题关键在于如何转换环,可以用tarjan求出连通分量后再进行标记,也可以DFS直接找到环后把点的SG值变掉就行了 /** @Date : 2017-10-23 19:47:47 * @FileName: POJ 3710 简单环 树上删边 DFS.cpp * @Platform: Windows * @Author : Lweleth (SoungEarlf@gmail.com) * @Link : https://github.com/ * @Version : $Id$ */ #i…
http://poj.org/problem?id=3710 叶子节点的 SG 值为0:中间节点的SG值为它的所有子节点的SG值加1后的异或和. 偶环可以视作一个点,奇环视为一条边(连了两个点). 这道题有两个需要注意的地方,这道题是多样例测试和这道题中两点之间形成的环要特判. #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #include<iostream…
几何+博弈的简单组合技 给出n个圆,有包含关系,以这个关系做游戏,每次操作可以选择把一个圆及它内部的圆全部删除,不能操作者输. 圆的包含关系显然可以看做是树型结构,所以也就是树上删边的游戏. 而找圆的包含关系,这题数据不大可用n^2复杂度找.也可以用扫描线,实时记录其节点父亲的情况.3种情况分类讨论一下就可以了. /** @Date : 2017-10-18 20:21:54 * @FileName: HDU 5299 圆扫描线+树上删边.cpp * @Platform: Windows * @…