bzoj2257

裴蜀定理

有这样一个定理,ax+by能凑出最小的正整数=gcd(a,b),那么这里正好符合我们要求的东西,先开始我还想不明白6和4是怎么配出2的

然后我们就把每个数质因数分解,最多sqrt(n)个,放到一个map里统计次数,如果一个因子出现次数大于等于k就和他取max,最后就是答案

#include<bits/stdc++.h>
using namespace std;
int n, k, ans;
map<int, int> mp;
int main()
{
    cin >> n >> k;
    for(int i = 1; i <= n; ++i)
    {
        int x;
        scanf("%d", &x);
        for(int j = 1; j * j <= x; ++j) if(x % j == 0)
        {
            ++mp[j];
            if(mp[j] == k) ans = max(ans, j);
            if(j * j != x)
            {
                ++mp[x / j];
                if(mp[x / j] == k) ans = max(ans, x / j);
            }
        }
    }
    printf("%d\n", ans);
    return 0;
}

时间: 2024-08-04 17:07:58

bzoj2257的相关文章

[BZOJ1441&amp;BZOJ2257&amp;BZOJ2299]裴蜀定理

裴蜀定理 对于整系数方程ax+by=m,设d =(a,b) 方程有整数解当且仅当d|m 这个定理实际上在之前学习拓展欧几里得解不定方程的时候就已经运用到 拓展到多元的方程一样适用 BZOJ1441 给出n个数(A1...An)现求一组整数序列(X1...Xn)使得S=A1*X1+...An*Xn>0,且S的值最小 该方程有解当且仅当gcd(A1...AN)|s 要求s的值最小,那么答案就是gcd(A1..AN) BZOJ2257 jyy就一直想着尽快回地球,可惜他飞船的燃料不够了.有一天他又去向

[BZOJ2257][Jsoi2009]瓶子和燃料(数学)

题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=2257 分析: 1.先考虑确定的瓶子下的最小体积是多少 ①假设只有两个瓶子v1,v2,易得最小体积是它们的最大公约数 ②同理可推得,n个瓶子的最小体积就是这n个瓶子的最大公约数 2.于是题目就变成了在n个数字中选取k个数字,使得这k个数字的最大公约数最大 至于这个可以从大到小枚举所有的因数,知道枚举到第一个因数使得这个因数出现的次数>=k

BZOJ2257: [Jsoi2009]瓶子和燃料

题目大意: 有n个数,选择k个数,最大化这些数通过加减能得到的最小的正整数. 题解: 这些数通过加减能得到的最小的数为他们的最大公约数. 题目要求n个数字中选择k个使得他们的最大公约数最大. 枚举所有约数,找出最大的且出现次数大于k的约数. 代码: #include<cstdio> #include<algorithm> #include<cmath> using namespace std; int cnt,a[1000005]; void find(int x){

大神刷题表

9月27日 后缀数组:[wikioi3160]最长公共子串 dp:NOIP2001统计单词个数 后缀自动机:[spoj1812]Longest Common Substring II [wikioi3160]最长公共子串 [spoj7258]Lexicographical Substring Search 扫描线+set:[poj2932]Coneology 扫描线+set+树上删边游戏:[FJOI2013]圆形游戏 结论:[bzoj3706][FJ2014集训]反色刷 最小环:[poj1734

[转载]hzwer的bzoj题单

counter: 664BZOJ1601 BZOJ1003 BZOJ1002 BZOJ1192 BZOJ1303 BZOJ1270 BZOJ3039 BZOJ1191 BZOJ1059 BZOJ1202 BZOJ1051 BZOJ1001 BZOJ1588 BZOJ1208 BZOJ1491 BZOJ1084 BZOJ1295 BZOJ3109 BZOJ1085 BZOJ1041 BZOJ1087 BZOJ3038 BZOJ1821 BZOJ1076 BZOJ2321 BZOJ1934 BZOJ