设$f[x]$表示为了保证自己可以取到质数$x$,第一步在$[0,n]$中可以选的数是多少。

这个数是唯一的,因为如果存在两个$f[x]=a,b(a<b)$,那么如果先手取了$a$,后手就能取$b$来让先手取不到$x$,矛盾。

如果$x$与下一个质数之间的差值大于$n$,那么$f[x]$就是结果,当$f[x]=0$时先手必败。

对于不超过$n$的$x$,$f[x]=x$。

对于大于$n$的$x,f[x]=f[y]$,其中$y$是$x$前面最近的与它差值大于$n$的质数,可以双指针得到。

如果没有找到终止态,取一定范围内的所有大质数的$f[x]$的众数,极有可能就是精确解。

#include<cstdio>
const int N=3000010,M=N/10,E=1010;
int T,n,t,i,j,tot,p[M],f[M],c[E],ans[E];bool v[N];
inline int cal(int n){if(~ans[n])return ans[n];int i,j;for(i=0;i<=n;i++)c[i]=0;for(i=j=0;i<=tot;i++){if(p[i]<=n)f[i]=p[i];else{while(j+1<i&&p[i]-p[j+1]>n)j++;f[i]=f[j];}if(i<tot&&p[i]+n<p[i+1])return ans[n]=f[i];if(i>tot/10*9)c[f[i]]++;}for(i=j=0;i<=n;i++)if(c[i]>c[j])j=i;for(i=0;i<=n;i++)if(i!=j&&c[i]*2>c[j])return ans[n]=0;return ans[n]=j;
}
int main(){for(v[1]=1,i=2;i<N;i++){if(!v[i])p[++tot]=i;for(j=1;j<=tot&&i*p[j]<N;j++){v[i*p[j]]=1;if(i%p[j]==0)break;}}for(i=0;i<E;i++)ans[i]=-1;scanf("%d",&T);while(T--){scanf("%d",&n);if(t=cal(n))printf("A %d\n",t);else puts("B");}return 0;
}

  

转载于:https://www.cnblogs.com/clrs97/p/7470001.html

BZOJ1423 : Optimus Prime相关推荐

  1. 关于 DRM 中 DUMB 和 PRIME 名字的由来

    前言 在上一篇<DRM驱动程序开发(VKMS)>文章里,我们学习了如何编写一个最简单的 KMS 驱动.而本篇,我将以叙述的形式为大家讲解 DRM GEM 的相关概念,代码留到下一篇进行讲解 ...

  2. BERT大火却不懂Transformer?读这一篇就够了 原版 可视化机器学习 可视化神经网络 可视化深度学习...20201107

    20211016 调节因子 20211004 [NLP]Transformer模型原理详解 - 知乎 论文所用 20210703 GPT模型与Transformer进行对比_znevegiveup1的 ...

  3. 这么多年,终于有人讲清楚Transformer了

    作者 | Jay Alammar 译者 | 香槟超新星,责编 | 夕颜 来源 | CSDN(ID:CSDNnews) 注意力机制是一种在现代深度学习模型中无处不在的方法,它有助于提高神经机器翻译应用程 ...

  4. JDK/Dubbo/Spring 三种 SPI 机制,谁更好?

    点击关注公众号,Java干货及时送达 来源:juejin.cn/post/6950266942875779108 SPI 全称为 Service Provider Interface,是一种服务发现机 ...

  5. oracle数据库多表嵌套,sql – 在oracle中更新多个嵌套表中的多个记录

    也许避免在数据库中使用嵌套表的最佳原因是它们难以使用,并且语法文档未被记录且难以理解. 继续! 这是一个带有嵌套表的表. SQL> select f.force_name, t.id, t.na ...

  6. 京东数据驱动下的个性化推荐

    刘尚堃 京东数据驱动下的个性化推荐系统(PPT附下载) Optimus Prime 2015-11-12 7:09:10 人物观点 评论(0) 刘尚堃·京东推荐搜索部技术总监 刘尚堃,京东推荐搜索部技 ...

  7. The Illustrated Transformer:中英文(看原文,很多翻译是错误的)

    在上一篇文章中(previous post),我们研究了注意力机制 - 一种在现代深度学习模型中无处不在的(ubiquitous)方法. 注意力是一个有助于提高神经机器翻译(neural machin ...

  8. The Illustrated Transformer 翻译

    In the previous post, we looked at Attention – a ubiquitous method in modern deep learning models. A ...

  9. 这么多年,终于有人讲清楚 Transformer 了!

    注意力机制是一种在现代深度学习模型中无处不在的方法,它有助于提高神经机器翻译应用程序性能的概念.在本文中,我们将介绍Transformer这种模型,它可以通过注意力机制来提高训练模型的速度.在特定任务 ...

最新文章

  1. iphone如何信任软件_你还在用大众点评吗?评价软件失去信任还如何活下去
  2. 解决:geom_path: Each group consists of only one observation. Do you need to adjust the group aesthetic
  3. 使用Hexo在Github搭建静态博客
  4. 第十一集VLAN原理和VTP协议理论讲解
  5. Redhat7.4安装Oracle11g详细步骤
  6. Class类是什么? Class.forName()是干什么的?
  7. 成功解决numpy.linalg.LinAlgError: singular matrix
  8. java学习(106):字符串tocharArray,tolowercase,touppercase方法
  9. 实例38:python
  10. Hive-分区分桶操作
  11. SSH远程登录VWware上的LFS
  12. 企业风险定价中的Expected loss估计
  13. 查看Ubuntu系统的版本
  14. 一个数学公式求解的优化
  15. 数据库入门(SQL SEVER)之SQL语句删除单行数据,所有行数据,表和数据库
  16. Android pdfviewer的公章注释问题
  17. Labview软件、NI数据采集卡、汽车发动机数据采集学习总结(一)
  18. 奇迹虚拟服务器登录软件,奇迹mu 远程云服务器挂机
  19. left函数未定义_access中LEFT函数未定义的解决方案\表达式中'left'函数未定义。
  20. 【机器学习】初学理论知识

热门文章

  1. 【资源】《可解释的机器学习》,让机器学习不再神秘!
  2. 逻辑回归(LR)个人学习总结篇
  3. 用于金融时序预测的神经网络:可改善经典的移动平均线策略
  4. Ubuntu16.04+Cuda8.0+cuDNN6配置py-faster rcnn(转)
  5. linux 内核模块开发,linux内核模块开发(示例代码)
  6. linux里面vim自动显示行号,linux中vim永久显示行号、开启语法高亮
  7. matlab生成随机粗糙表面_随机粗糙面建模
  8. java 防止js注入_在WebView中如何让JS与Java安全地互相调用
  9. mavros 基于体轴坐标系下的无人机行人跟踪
  10. 潭州课堂25班:Ph201805201 爬虫高级 第三课 sclapy 框架 腾讯 招聘案例 (课堂笔记)...