UVA 1635 Irrelevant Elements (唯一分解定理 + 组合数)

13人阅读 评论(0) 收藏 举报
这题需要分解的m为1e9不能先打表后分解
直接分解外层循环为sqrt(m)

然后再利用组合数的递推式进行求解

#include <iostream>
#include <vector>
#include <cstring>
#include <cmath>

using namespace std;
const int maxn = 100000;

vector<int> primes;
bool flag[maxn];

void factors(int n) {
    int m = floor(sqrt(n) + 0.5);
    for(int i = 2; i <= m; ++i) {
        if(n % i == 0) {
            primes.push_back(i);
            while(n % i == 0) n /= i;
        }
    }
    if(n > 1) primes.push_back(n);
}

int main() {
    int n, m;
    while(cin >> n >> m) {
        memset(flag, 0, sizeof(flag));
        primes.clear();
        factors(m);
        n--;
        for(int i = 0; i < primes.size(); ++i) {
            int p = primes[i], e = 0;
            int min_e = 0, x = m;
            while(x % p == 0) { x /= p; min_e++; }
            for(int j = 1; j < n; ++j) {
                x = n - j + 1;
                while(x % p == 0) x /= p, e++;
                x = j;
                while(x % p == 0) x /= p, e--;
                if(e < min_e) flag[j] = true;
            }
        }
        vector<int> ans;
        for(int i = 1; i < n; ++i)
            if(!flag[i]) ans.push_back(i + 1);
        cout << ans.size() << endl;
        if(ans.size()) cout << ans.front();
        for(int i = 1; i < ans.size(); ++i)
            cout << ' ' << ans[i];
        cout << endl;
    }
    return 0;
}

查看评论

irrelevant Elements (组合数学)uva-1635

题目大意:   对于给定的n个数a1,a2,a3....an,一次求出相邻两个数之和,将得到一个新的数列。重复上述操作,最后结果将变成一个数。问这个数除以m的余数与那些数无关?例如n=3,m=2时,...
  • txgANG
  • txgANG
  • 2017-03-29 10:15:18
  • 205

uva1635 Irrelevant Elements(唯一分解定理)

题目链接:点击打开链接 题意:给定n个数a1,a2····an,依次求出相邻两个数值和,将得到一个新数列,重复上述操作,最后结果将变为一个数,问这个数除以m的余数与那些数无关?例如n=3,m=2时,...
  • mengxingyuanlove
  • mengxingyuanlove
  • 2015-08-10 11:06:00
  • 1525

uva 1635 唯一分解定理

#include using namespace std; const int maxn = 1E5 + 10; bool prim[maxn]; vector > Fta; vectorprime...
  • Tczxw
  • Tczxw
  • 2015-10-01 21:34:25
  • 271

uva1635(唯一分解定理,杨辉三角二项式递推公式)

/* translation: 题意见lrj,p320 solution: 唯一分解定理,杨辉三角迭代公式 根据杨辉三角的迭代公式即可很容易得出最后一项的每一项系数。根据是否能够整除m,就可以...
  • qq_29169749
  • qq_29169749
  • 2016-09-26 12:23:27
  • 674

UVa1635 - Irrelevant Elements(质因数分解)

Young cryptoanalyst Georgie is investigating different schemes of generating random integer numbers ...
  • mowayao
  • mowayao
  • 2014-08-29 20:46:22
  • 860

UVa1635 Irrelevant Elements

Young cryptoanalyst Georgie is investigating different schemes of generating random integer numbers ...
  • Megumin
  • Megumin
  • 2016-07-10 23:06:02
  • 233

Irrelevant Elements UVA - 1635(唯一分解定理,组合数递推)

#include&amp;lt;cstdio&amp;gt; #include&amp;lt;cstring&amp;gt; #include&amp;lt;algorithm&amp;gt; #in...
  • qq_36424540
  • qq_36424540
  • 2018-04-15 21:15:48
  • 4

uva 1635 Irrelevant Elements [组合数, 唯一分解定理]

uva1635 Irrelevant Elements; 唯一分解定理; 组合数; Young cryptoanalyst Georgie is investigating different sch...
  • Crazy_calf
  • Crazy_calf
  • 2017-07-19 13:26:24
  • 129

Irrelevant Elements UVA - 1635(组合数,唯一分解定理)

题目链接:点击打开链接 题目思路:对于这道题,我们容易知道各个参数对应着杨辉三角的系数,所以问题就是求某一层杨辉三角的系数是否能整除m,也就是c(n,k),那么如何去判断呢,如果直接算出 组合数,...
  • w571523631
  • w571523631
  • 2017-08-24 23:36:44
  • 96

UVA 1635 Irrelevant Elements——组合数+唯一分解定理

#include &amp;lt;cstdio&amp;gt; #include &amp;lt;cstring&amp;gt; #include &amp;lt;iostream&amp;gt; #...
  • hao_zong_yin
  • hao_zong_yin
  • 2018-03-05 09:27:34
  • 20
    个人资料
    持之以恒
    等级:
    访问量: 1万+
    积分: 2177
    排名: 2万+