博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ 3576 江南乐
阅读量:6842 次
发布时间:2019-06-26

本文共 734 字,大约阅读时间需要 2 分钟。

http://www.lydsy.com/JudgeOnline/problem.php?id=3576

思路:由于数字巨大,因此N^2异或做法是过不了的,我们考虑将n个石子分成i堆,那么会有n%i堆n/i+1的石子,i-n%i堆n/i的石子。如果两个堆的石子数相同,那么他们异或起来就为0,因此,这两种石子堆,我们可以看做:每种至多只有1堆。这样就可以枚举n/i,然后可以避免计算很多重复的部分,时间复杂度为N^1.5

1 #include
2 #include
3 #include
4 #include
5 #include
6 #define M 100100 7 int T,F,n,sg[2000005],v[2000005],ans; 8 int read(){ 9 int t=0,f=1;10 char ch=getchar();11 while (ch<'0'||ch>'9') {
if (ch=='-') ch=-1;ch=getchar();}12 while ('0'<=ch&&ch<='9'){t=t*10+ch-'0';ch=getchar();}13 return t*f;14 }15 void init(){16 for (int i=0;i

 

转载于:https://www.cnblogs.com/qzqzgfy/p/5592057.html

你可能感兴趣的文章
搜素框架
查看>>
使用Xtrabackup对MySQL做主从复制
查看>>
HTML 元素和有效的 DTD文档类型
查看>>
navigator.userAgent.indexOf来判断浏览器类型
查看>>
opencv 配置
查看>>
python re group()
查看>>
你听说过PHP 的面向方面编程吗?
查看>>
MYSQL开启慢查询日志实施
查看>>
&lt;备份&gt;LVM总结
查看>>
cygwin 163源获取失败
查看>>
openvas 配置更新
查看>>
Linux上Samba服务的详细配置
查看>>
MyEclipse中的报表工具(上)
查看>>
复数类的实现
查看>>
mac 系统下 php生成目录,移动保存文件问题
查看>>
我的友情链接
查看>>
关于Java的相关基础信息
查看>>
如何Json序列化对象的部分属性
查看>>
java第七天(this关键字、构造器、static静态关键字、单例模式)
查看>>
Apache静态编译和动态编译详解
查看>>