原题链接

题面是英文的
总之可以用谷歌翻译糊弄一下

要解决这个题一共需要两个结论

结论一:
如果x是密码
那么GCD(x , n)也是密码

结论二:
如果x , y是密码
那么GCD(x , y)也是密码

具体推导过程可以参考一下vinci的博客

那么
设密码集合A
输入的密码为a[1…k]
A中所有数的GCD为x
如果A中有比x小的数y
那么GCD(x , y)< x
不符合设定
所以x是A中最小的数

则A中的数为x , 2x , 3x……

约束条件:

由结论一可得
A中有两个数为a[k] , GCD(n , a[k])
所以x%GCD( n , a[k] )=0

且由题意可得
对于任何1<=j< k
x % a[j] ! = 0

#include<algorithm>
#include<cstdio>
#define LL long long
using namespace std;LL n,k,i,a[500000],tot,q[1000005],f[1000005],ans,j;LL gcd(LL x,LL y)
{return y?gcd(y,x%y):x;
}int main()
{scanf("%lld%lld",&n,&k);for(i=1;i<=k;i++)scanf("%lld",&a[i]);a[k]=gcd(a[k],n);for(i=1;i<k;i++)a[i]=gcd(a[i],a[k]);for(i=1;i*i<=a[k];i++){if(a[k]%i==0){tot++;q[tot]=i;if(i*i!=a[k]) {tot++;q[tot]=a[k]/i;  }}}sort(q+1,q+tot+1);for(i=1;i<k;i++)f[lower_bound(q+1,q+tot+1,a[i])-q]=1;for(i=1;i<=tot;i++)if(f[i])for(j=1;j<i;j++)if(q[i]%q[j]==0) f[j]=1;for(ans=1;f[ans];ans++);printf("%lld",n/q[ans]);return 0;
}

[P3518]strongbox相关推荐

  1. P3518 [POI2011]strongbox

    https://www.luogu.org/problem/show?pid=3518 问题描述: 有一个密码箱,0 到 n-1中的某些整数是它的密码,且满足:如果a和b都是它的密码,那么(a+b)% ...

  2. Android Strongbox( Android Ready SE)

    Android Ready SE介绍 Android ready SE Alliance: 链接 GOOGLE成立 Android Ready SE Alliance 技术联盟,用于 SE 安全芯片标 ...

  3. BZOJ2277[Poi2011]Strongbox——数论

    题目描述 Byteasar is a famous safe-cracker, who renounced his criminal activity and got into testing and ...

  4. WebDAV之葫芦儿·派盘 + Strongbox

    Strongbox 支持WebDAV方式连接葫芦儿派盘. Strongbox 是一款用于安全存储所有密码并由一个主密码保护的应用程序.支持开源的 Password Safe 和 KeePass 格式. ...

  5. Strongbox和Weaver

    说在前面 本篇文章主要是介绍Strongbox和Weaver的技术架构,其中包含的一些技术细节只是实现方式中的一种,对于不同的硬件环境或者技术策略,还需要OEM和SE发行商之间协定具体的技术流程.这篇 ...

  6. 例1.1-2 Strongbox

    问题描述: 有一个密码箱,0到n-1中的某些整数是他的密码.条件:如果a b都是他的密码,则(a+b)%n也是他的密码. 某人试了k次密码均失败了,最后一次成功了. 问该密码箱最多有多少种不同的密码? ...

  7. 【BZOJ】2277: [Poi2011]Strongbox

    题意 有一个密码箱,\(0\)到\(n-1\)中的某些整数是它的密码.如果\(a\)和\(b\)都是它的密码,那么\((a+b)%n\)也是它的密码(\(a,b\)可以相等).某人试了\(k\)次密码 ...

  8. 解题:POI 2011 Strongbox

    首先洛谷的题面十分的劝退(至少对我这个菜鸡来说是这样),我来解释一下(原来的英文题面): 有一个有若干个密码(每个密码都可以开箱子)的密码箱,密码是在$0$到$n-1$的数中的,且所有的密码都满足一个 ...

  9. BZOJ 2277 Poi2011 Strongbox

    题目大意:一个集合A,包含了0~n-1这n个数.另有一个集合B,满足: 1.B是A的子集. 2.如果a.b均在B中,则(a+b)%n也在B中(a=b亦可) 给出k个数ai,前k-1个不在B中,第k个在 ...

最新文章

  1. Perfect Security (01字典树删除点)
  2. 今晚,圆桌讨论Transformer跨界CV任务
  3. SAP MM MIGO Cancellation可以用于冲销上次冲销而产生的物料凭证
  4. 【机器视觉】 gen_measure_rectangle2算子
  5. Linux下配置简单的图形桌面环境
  6. 特斯拉第四季度生产超30.5万台车 全年交付近百万台
  7. python bootstrap安装_python + django + bootstrap + uWSGI + nginx 环境搭建
  8. 《区块链原理、设计与应用》一3.8 本章小结
  9. Windows Server 2008 R2无密码共享设置
  10. BZOJ_2243 [SDOI2011]染色 【树链剖分+线段树】
  11. testlink界面优化_Testlink 太老了,测试用例管理有没有什么好工具推荐?
  12. 易筋SpringBoot 2.1 | 第九篇:SpringBoot使用Redis内存数据库
  13. delphi连接access数据库的步骤(详细教程)
  14. 湖南大学计算机与通信学院李燕,基于SVM的面部表情分析
  15. mysql 创建表指定时区_mysql解决时区相关问题
  16. 揭秘李佳琪直播带货绝招,学会它让你直播带货效益翻倍。
  17. 组件‘mscomctl.ocx‘或它的一个依赖项没有正确注册:一个文件丢失或无效
  18. 学习大数据要掌握哪些语言?哪些必备知识和技能呢?
  19. J2EE基础教程(4):struts框架(视频笔记)
  20. python随机森林变量重要性_利用随机森林对特征重要性进行评估

热门文章

  1. 略谈为学之道和未来之大学
  2. 传输层协议 —— UDP
  3. CSS用flex布局两端对齐,列不满左对齐
  4. Vue组件通信原理剖析(三)provide/inject原理分析
  5. python定义学生类和教师类_Python3 类的继承小练习
  6. 小陈学JS 遍历数组
  7. python的describe参数_Python Pandas Series.describe()用法及代码示例
  8. Ubuntu-第一次安装Ubuntu在笔记本及一些远程软件的安装
  9. 2.Java基础数据类型
  10. TransOMCS:从语言图提取常识知识