Irrelevant Elements UVA
来源:互联网 发布:企业数据接口 编辑:程序博客网 时间:2024/05/16 11:42
题目传送门
题意:给你n个数字,一次求出相邻的两个数字的和,会得到一个新的数列,重复这个操作,最后会变成一个数字,问这个数字的余数和哪些数字无关?
思路:这个题如果直接计算组合数的话要用到高精度算法,所以我们可以将这个问题转换为用唯一分解定理来做,求出来m的所有素因子,然后再求组合数的所有素因子判断即可。
#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <list>#include <map>#include <queue>#include <set>#include <stack>#include <string>#include <vector>#define MAXN 100010#define MAXE 400#define INF 100000000#define MOD 10001#define LL long long#define pi 3.14159using namespace std;bool prime[MAXN];int p[MAXN];int cnt = 0;bool vis[MAXN];void is_prime() { memset(prime, true, sizeof(prime)); for (int i = 2; i <= 100000; ++i) { if (prime[i]) { p[cnt++] = i; for (int j = i + i; j <= 100000; j += i) { prime[j] = false; } } }}int main() { std::ios::sync_with_stdio(false); int n, m; is_prime(); while (cin >> n >> m) { n--; memset(vis, false, sizeof(vis)); vector<int> primes; int tmp = m; for (int i = 0; i < cnt; ++i) { int ans = 0; while (tmp % p[i] == 0) { tmp /= p[i]; ans++; } if (ans > 0) { primes.push_back(p[i]); } } if (tmp > 1) { primes.push_back(tmp); } for (int i = 0; i < primes.size(); ++i) { int temp = m; int ans = 0; int num = 0; while (temp % primes[i] == 0) { temp /= primes[i]; ans++; } for (int j = 1; j < n; ++j) { int up = n - j + 1; while (up % primes[i] == 0) { up /= primes[i]; num++; } int down = j; while (down % primes[i] == 0) { down /= primes[i]; num--; } if (num < ans) { vis[j] = true; } } } vector<int> vec; for (int i = 1; i < n; ++i) { if (!vis[i]) vec.push_back(i + 1); } cout << vec.size() << endl; for (int i = 0; i < vec.size(); ++i) { if (i == vec.size() - 1) cout << vec[i]; else cout << vec[i] << " "; } cout << endl; } return 0;}
阅读全文
0 0
- UVa 1635 - Irrelevant Elements
- UVA 1635Irrelevant Elements
- uva 1635 - Irrelevant Elements
- uva 1635 Irrelevant Elements
- UVa 1635 Irrelevant Elements
- UVA 1635 Irrelevant Elements
- UVA 1635 Irrelevant Elements
- Irrelevant Elements UVA
- Irrelevant Elements UVA
- Irrelevant Elements UVA
- Irrelevant Elements UVA
- Irrelevant Elements UVA
- UVA 1635(p320)----Irrelevant Elements
- UVa 1635 - Irrelevant Elements(唯一分解)
- UVA 1635 Irrelevant Elements [唯一分解定理]
- UVA 1635 Irrelevant Elements 唯一分解定律
- uva-1635-Irrelevant Elements-唯一分解定理,组合数
- UVA 1635-Irrelevant Elements(唯一分解定理)
- mysql 存储过程中使用动态sql
- uvalive 3268 二分图匹配 或者 最大流
- 翻页勾选复选框(jq cookie实现)
- jAmbiguous @ExceptionHandler method mapped for [class java.lang.Throwable]:
- 三种方法使图片变成灰色(前端技术)
- Irrelevant Elements UVA
- Jvm运行机制原理
- 租车系统框架
- 第一章—操作系统引论
- APP底部导航
- 第16章 多线程
- 海量用户积分排名算法
- 解决vsftp无法上传文件及文件夹的问题
- 数据库事务的四大特性以及事务的隔离级别