BZOJ2632: [neerc2011]Gcd guessing game
2016-06-30 14:26
513 查看
题目大意:一个人在1~n中想一个数,每次你可以在1~n中猜一个,猜对了游戏结束,否则他告诉你gcd(x,y),x,y是他想的和你猜的数,问最差情况最少多少次能猜中
首先我们想,当你猜了一个数之后他告诉你gcd不为1时,这时数的范围少了至少一半,感性来说这样更便于我们猜...
所以所谓的最差情况应该就是你在确定之前一次也猜不对并且他永远告诉你gcd=1
这样的话我们可以将n以内的素数挑出来,把小数和大数两两配对,这样是最优的...
首先我们想,当你猜了一个数之后他告诉你gcd不为1时,这时数的范围少了至少一半,感性来说这样更便于我们猜...
所以所谓的最差情况应该就是你在确定之前一次也猜不对并且他永远告诉你gcd=1
这样的话我们可以将n以内的素数挑出来,把小数和大数两两配对,这样是最优的...
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define N 10010 using namespace std; int n; int p ,cnt; bool he ; void getp() { int i,j; for(i=2;i<=n;i++) { if(!he[i]) cnt++,p[cnt]=i; for(j=1;j<=cnt&&i*p[j]<=n;j++) { he[i*p[j]]=true; if(i%p[j]==0) break; } } } int main() { scanf("%d",&n); getp(); int i=1,j=cnt; int ans=0; while(i<=j) { ans++; if(p[i]*p[j]<=n) i++,j--; else j--; } printf("%d",ans); }
相关文章推荐
- 修复 Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:build-helper-maven-plugin:1.8:add-source (execution: add-source, phase: generate-sources)
- 并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue用法
- MiniUI - 专业WebUI控件库
- easyui textBox的点击事件
- newlisp quick sort增强
- easyui-combobox的取值问题
- UI design principles
- UISearchBar自定义右侧取消按钮
- Data truncation: Truncated incorrect DOUBLE value: 'xiaodi'
- Java学习笔记(20) Lists, Stacks, Queues, and Priority Queues
- 编写函数 unsigned int reverse_bit(unsigned int value); 这个函数的返回值吧value的二进制位模式从左到右翻转后的值。
- CEPH经常出现slow request的排查解决
- 在map中根据value获取key
- mui使用注意事项
- CSS3动画那么强,requestAnimationFrame还有毛线用?
- 【APIO2014】序列分割(sequence)
- codeforces 687C - The Values You Can Make 简单dp
- 关于Hibernate中创建ServiceRegistry对象时找不到ServiceRegistryBuilder对象的问题
- Android之IPC通信中的UID和PID识别
- NSValue的详解