SDOI 2009 E&D

小E与小W进行一项名为 EDE DED 游戏。
游戏的规则如下:桌子上有 2n2n2n堆石子,编号为 1∼2n1 \sim 2n1∼2n。其中,为了方便起见,我们将第 2k−12k-12k−1堆与第 2k2k2k 堆(1≤k≤n1≤k≤n)(1 \le k \le n1≤k≤n)(1≤k≤n1≤k≤n)视为同一组。第iii 堆的石子个数用一个正整数SiS_iSi​表示。
一次分割操作指的是,从桌子上任取一堆石子,将其移走。然后分割它同一组的另一堆石子,从中取出若干个石子放在被移走的位置,组成新的一堆。操作完成后,所有堆的石子数必须保证大于0。显然,被分割的一堆的石子数至少要为2。两个人轮流进行分割操作。如果轮到某人进行操作时,所有堆的石子数均为1,则此时没有石子可以操作,判此人输掉比赛。
小 E 进行第一次分割。他想知道,是否存在某种策略使得他一定能战胜小 W。因此,他求助于小 F,也就是你,请你告诉他是否存在必胜策略。例如,假设初始时桌子上有4堆石子,数量分别为 1,2,3,1。小 E 可以选择移走第1 堆,然后将第2 堆分割(只能分出1个石子)。接下来,小 W 只能选择移走第4堆,然后将第3堆分割为1和2。最后轮到小 E,他只能移走后两堆中数量为1的一堆,将另一堆分割为1和1。这样,轮到小 W 时,所有堆的数量均为1,则他输掉了比赛。故小 E 存在必胜策略。

对于相邻的两个数,我们将其视为一组,那么(1,1)(1, 1)(1,1)的SG函数值为0,然后进行列举:

1: 0 1 0 2 0 1 0 3 0
2: 1 1 2 2 1 1 3 3
3: 0 2 0 2 0 3 0
4: 2 2 2 2 3 3
5: 0 1 0 3 0
6: 1 1 3 3
7: 0 3 0
8: 3 3
9: 0

如果我们斜着看,也就是将一个数分解成两个数之和后,可以得到的后续状态的SG函数:

2: 0
3: 1
4: 0 1
5: 2
6: 0 2
7: 1 2
8: 0 1 2
9: 3

这看起来很像二进制的表示方法,实际上就是二进制来表示,当我们遇到一个局面的时候,其SG函数就可以直接这样得到了。

const int N = 100010;
int head[N], num, sg[N];int main()
{int T;scanf ("%d", &T);while(T --){int n, ans = 0;scanf ("%d", &n);n >>= 1;for (int i = 1; i <= n; i ++){int a, b;scanf ("%d %d", &a, &b);a --; b --;a |= b;int temp = 0;while (a & 1){++ temp;a >>= 1;}ans ^= temp;}if (ans)printf ("YES\n");elseprintf ("NO\n");}return 0;
}

SDOI 2009 ED相关推荐

  1. [BZOJ 1879][SDOI 2009]Bill的挑战 题解(状压DP)

    [BZOJ 1879][SDOI 2009]Bill的挑战 Description Solution 1.考虑状压的方式. 方案1:如果我们把每一个字符串压起来,用一个布尔数组表示与每一个字母的匹配关 ...

  2. SDOI 2009 BIll的挑战

    题目描述 Description Sheng bill不仅有惊人的心算能力,还可以轻松地完成各种统计.在昨天的比赛中,你凭借优秀的程序与他打成了平局,这导致Sheng bill极度的不满.于是他再次挑 ...

  3. SDOI 2009 学校食堂(好难的状压QAQ

    题目描述 小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭.学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜肴.当然,不同的人口味也不一定相同,但每个人的口味都可以用一个非负整数 ...

  4. SDOI 2009 学校食堂

    P1546学校食堂 描述 小F的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭.学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜肴.当然,不同的人口味也不一定相同,但每个人的口味都可以 ...

  5. [bzoj 2768][bzoj 1877]

    传送门1 传送门1 Solution 两道比较裸的题... 复习一下最大流和费用流的模板. Code[bzoj 2768][JLOI 2010] 冠军调查 #include<bits/stdc+ ...

  6. 3C认证---强制性产品认证制度

    中国质量认证中心:http://www.cqc.com.cn/www/chinese/cprz/CCCcprz/rzfw/ 3C认证 编辑 3C认证的全称为"强制性产品认证制度", ...

  7. Tech.ED 2009特别奉献:Windows 7解读

    6000名IT精英齐聚一堂,与来自微软产品核心研发团队及各个领域数百位顶级专家面对面交流,Tech.Ed 2009盛典召开在即!IT168带您一起体验丰富多彩的活动和内容安排,更加深入.专注的互动讨论 ...

  8. Tech·Ed 2009

    今年是我第一次以讲师身份参加TechEd,碰巧TechEd所在的周末我们要搬家到百度大厦,所以我星期四早上搞掂打包工作后就赶到了会场.凭着<讲师指南>进入会场后,我直奔讲师休息室领取证件和 ...

  9. Tech.ED 2009前瞻:认识System Center

    Microsoft System Center 在实现Microsoft的MOF&ITIL的IT管理理念的过程中发挥了很重要的作用,在MOF的每一个运维象限中都有对应的System Cente ...

最新文章

  1. 如何让滚动条出现在左边
  2. CCS(Code Composer Studio) 10.2.0的下载和安装(最新教程)
  3. Mysql 练习 总结
  4. 全球最大保险公司之一Ace推出一亿美元网络安全险
  5. 13.3的MacBook air 8g内存还是有点吃力
  6. Redis作者摊上事了:多人要求修改Redis主从复制术语master/slave
  7. CSS3实现烟花特效 --web前端
  8. 科学地花钱:基于端智能的在线红包分配方案
  9. 如何入门CTF夺旗赛
  10. matplotlib数据可视化实战——饼状图+雷达图+三维图
  11. 8-1 数据库分库分表的几种方式
  12. 手写一些js方法收集:
  13. springmvc07 Json处理
  14. Linux驱动调试i2c设备从地址的确定
  15. 转载——关于bp神经网络
  16. Android视频直播推流的实现
  17. EC20 和 Air724 4G模组连接OneNet平台笔记
  18. 优秀工程师应该具备哪些素质_优秀的工程师具有什么品质
  19. 操作系统的概念、四个特征以及os的发展和分类
  20. 关于MySQL联合索引和优化军规

热门文章

  1. android学习笔记53——自动朗读TTS
  2. EDP项目结构规范心得
  3. bzoj3551: [ONTAK2010]Peaks加强版
  4. 爬虫工具——Selenium和PhantomJS
  5. 软件测试作业1 -- 关于c++项目中类相互调用的问题与解决
  6. 学习string,stringBuffer时遇到的问题
  7. Python+selenium环境搭建
  8. js中对于字符串非空判断的总结
  9. 网络通信:单播、广播、组播
  10. Linux Oracle服务启动停止脚本与开机自启动[转]