【bzoj 2257】瓶子和燃料(裴蜀定理)
2018-01-17 20:35
176 查看
传送门biu~
火星人鼓捣燃料的方式是不是很像数学课上老师讲的的更相减损术呢?
根据裴蜀定理,选出K个瓶子能得到的最少燃料是这些数的最大公约数。所以从大到小枚举每个数的约数,当有K个以上的数有相同的约数时,这个数即为最终答案。
火星人鼓捣燃料的方式是不是很像数学课上老师讲的的更相减损术呢?
根据裴蜀定理,选出K个瓶子能得到的最少燃料是这些数的最大公约数。所以从大到小枚举每个数的约数,当有K个以上的数有相同的约数时,这个数即为最终答案。
#include<bits/stdc++.h> using namespace std; int a[1000005],tp; inline void search(int x){ int to=sqrt(x); for(int i=1;i<=to;++i){ if(x%i==0){ a[++tp]=i; if(i!=x/i) a[++tp]=x/i; } } } int main(){ int n,k; scanf("%d%d",&n,&k); for(int i=1;i<=n;++i){ int x; scanf("%d",&x); search(x); } sort(a+1,a+tp+1); int num=1; for(int i=tp;i>=0;--i){ if(a[i]==a[i+1]) ++num; else{ if(num>=k){ printf("%d",a[i+1]); return 0; } num=1; } } }
相关文章推荐
- BZOJ-2257 瓶子和燃料 分解因数+数论方面乱搞(裴蜀定理)
- BZOJ-2257 瓶子和燃料 分解因数+数论方面乱搞(裴蜀定理)
- BZOJ 2257 [Jsoi2009]瓶子和燃料 裴蜀定理
- BZOJ-2257:瓶子和燃料(裴蜀定理)
- bzoj 2257: [Jsoi2009]瓶子和燃料 裴蜀定理
- 【bzoj2257】【jsoi2009】【瓶子和燃料】【裴蜀定理】
- bzoj 2257[Jsoi2009]瓶子和燃料 数论/裴蜀定理
- 【BZOJ 2257】【JSOI 2009】瓶子和燃料 【裴蜀定理】
- bzoj 2257: [Jsoi2009]瓶子和燃料(裴蜀定理)
- BZOJ 2257: [Jsoi2009]瓶子和燃料【数论:裴蜀定理】
- BZOJ 2257: [Jsoi2009]瓶子和燃料 裴蜀定理
- BZOJ 2257: [Jsoi2009]瓶子和燃料 裴蜀定理
- bzoj 2257: [Jsoi2009]瓶子和燃料
- [BZOJ2257][Jsoi2009]瓶子和燃料(数学)
- bzoj2257 [Jsoi2009]瓶子和燃料
- BZOJ 2257 瓶子与燃料
- BZOJ2257: [Jsoi2009]瓶子和燃料
- bzoj 2257: [Jsoi2009]瓶子和燃料
- 【bzoj 2257】瓶子和燃料
- [BZOJ2257][Jsoi2009]瓶子和燃料