暴力的求SG函数会超时,正解是先处理出10^6以内的SG值,对于更大的,开根号之后计算出。

小数据观察可以发现sg函数值成段出现,而且增长速度很快,因此可以计算出来每一段的范围,只需打表即可。

Nim游戏:

Nim和:L.Bouton给出了一个定理,状态(X1, X2, ..., Xn)为必败态当且仅当X1 xor X2 xor .... xor Xn = 0,xor是二进制的按位异或操作。

#include <iostream>
#include <algorithm>
using namespace std;
typedef long long ll;
ll x, a[] = {3, 15, 81, 6723, 50625, 2562991875LL};
int sg[] = {0, 1, 2, 0, 3, 1, 2}, n, ans = 0; int main() { cin >> n;
while (n--) {
cin >> x;
ans ^= sg[lower_bound(a, a+6, x)-a];
}
cout << (ans ? "Furlo" : "Rublo") << endl; return 0;
}

最新文章

  1. AngularJs之六(服务)
  2. Linux安装卸载Mysql数据库
  3. rsync实现同步
  4. CentOS6.4 安装SSDB
  5. 【Avalon源码】dateGetter
  6. C#实现一个最简单的HTTP服务器
  7. ArcGIS.Server.9.3和ArcGIS API for JavaScript地图实现Toorbar功能(四)
  8. 【自然语言处理篇】--以NLTK为基础讲解自然语⾔处理的原理和基础知识
  9. 【Android】用Cubism 2制作自己的Live2D——初见!
  10. Spring及SpringBoot @Async配置步骤及注意事项
  11. bzoj4710 [Jsoi2011]分特产(容斥)
  12. 马凯军201771010116《面向对象与程序设计Java》第十六周知识学习总结
  13. 在vue中使用Autoprefixed
  14. dubbo源码分析9——ServiceBean的afterPropertiesSet方法分析
  15. 为什么c++中,有时可以用类名直接访问非静态成员函数?
  16. Spoon新建repository的时候
  17. 不要62 hdu 2089 dfs记忆化搜索
  18. Faster R-CNN论文详解 - CSDN博客
  19. Druid SqlParser理解及使用入门
  20. JS中实现字符串和数组的相互转化

热门文章

  1. Linux内核通知链机制的原理及实现【转】
  2. Shell脚本中引用、调用另一个脚本文件的2种方法
  3. HDU 4305 Lightning Matrix Tree定理
  4. eclipse 配置jsp
  5. php设计模式五----适配器模式
  6. javascript 实现图片轮播和点击切换功能
  7. Google Guice 之绑定1
  8. Centos6.9下安装OpenOffice 4.1.4
  9. 事务管理配置与@Transactional注解使用
  10. css3之nth-child和nth-of-type的区别