摘要:
看上去像是一个最大权闭合子图裸题但是数据太大 我们可以先把守卫的视野转换到第二象限(每个守卫可以看到横坐标比他小 纵坐标比他大的宝物) 然后按X从小到大 再按Y从大到小排 这样我们就可以按SORT序遍历守卫 然后贪心地把每个守卫的流量流给离他最近的Y最小的宝物 易证这样是最优的 阅读全文
摘要:
先把所有的数异或起来 得到sum 然后sum有一些位是1一些位是0 是0的位表示所有数里面有这位的数是偶数个 则无论怎么划分数 这一位对最终的答案都是不会有贡献的 因为偶数=偶数+偶数/奇数+奇数 所以我们把所有数直接&sum不管那些没有贡献的位 再一个个插入作线性基 拿出一个最高位的1给A 那么我 阅读全文
摘要:
一个标准的NIM游戏 加上一条规则:每堆石子对于每个数目的石子只能被取一次 可以SG打表 dp[i][j]表示现在有i个石子 j是可以取的石子数的状压 第i位为1就表示i个石子没被取过 打表找到规律数X的SG值就是该数最多能被多少个整数划分 即找到最大的Y 使得sum(1~Y)<=X Y即为数X的S 阅读全文
摘要:
假设现在有一颗树A 我们在他非叶子节点上加一个点变成树B 则此时树B必为先手必胜 假设A为先手必胜 则先手直接把加入的点一同删去 假设A为先手必败 则先手可以只删加入的点 与后手位置互换 把必败态留给后手 所以只要有一个非叶子节点连着一个叶子节点(叶子节点父亲的度数>2) 此时的树为先手必胜 排除掉 阅读全文
摘要:
我们可以得到一个结论:没有两个机器人走过的路会重叠 所以题目就转变为了能不能让机器人的路径不重叠且每个机器人能到达终点 直接一个点朝他四连通方向的四个点连容量为1的边即可 阅读全文
摘要:
N堆石子 先手最多拿A个 后手最多拿B个 每次都至少要拿一个 谁先取完谁赢 如果A和B相等直接就是一个bash博弈 如果一个石堆的石子数少于min(A,B) 则是个nim游戏 我们先讨论只有N=1且A1>min(A,B)的情况 这种情况下无论谁先手 都是拿的多的人赢 因为假设X=A1%B 如果拿的多 阅读全文
摘要:
每个数的SG值之和他有多少个1相关 打表复杂度:找K个有序的<n的非负数的复杂度为nk/(k!) 则这题的SG打表复杂度为648/7! 为1e10左右 阅读全文
摘要:
给你N堆石子 两个人轮流进行操作 每个人可以先从一个石子堆里面拿至少一个 然后把这个石子堆的剩余石子分到任意堆中 拿完石子的人胜 问你谁胜 只有一堆肯定先手胜 如果有两堆的话 两堆数目相同则后手胜 不同则先手胜 因为先手可以把多的一堆拿到和另外一堆相同的数目 如果有奇数堆的话 先手可以拿走最大的然后 阅读全文