Kingdom of Obsession HDU
来源:互联网 发布:逆战刷枪软件永久免费 编辑:程序博客网 时间:2024/06/07 13:16
题目传送门
题意:给你N和S,形成一个新的序列(S+1, S+2, ….., S+N)这些数字能不能一一对应1~N的数字将它们整除。
思路:这个题一开始在手推规律,然后推了发现没有什么规律,但是发现如果新的序列与1~N中不重复的地方存在两个素数就一定不满足了,然后发现两个素数之间的距离不会很远,然后将想把少于两个素数的情况用二分图匹配来做,但是考虑到数字可能会很大就用了map然后就超时了。后来看了别人的,发现n和s互换是对结果没有影响的(手推没发现啊),在题目所给的数据范围下,连续两个素数是不会超过600的,然后就可以特判掉一部分,剩下的用二分图匹配。
#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>#include <fstream>#include <iostream>#include <list>#include <map>#include <queue>#include <set>#include <sstream>#include <stack>#include <string>#include <vector>#define MAXN 1010#define MAXE 5#define INF 1000000000#define MOD 1000000007#define LL long long#define pi acos(-1.0)using namespace std;vector<int> vec[MAXN];bool is_primer(LL x) { if (x == 1) { return false; } if (x == 2) { return true; } for (LL i = 2; i <= sqrt(x) + 1; ++i) { if (x % i == 0) { return false; } } return true;}bool used[MAXN];int linker[MAXN];bool dfs(int u) { for (int i = 0; i < vec[u].size(); i++) { if (!used[vec[u][i]]) { used[vec[u][i]] = true; if (linker[vec[u][i]] == 0 || dfs(linker[vec[u][i]])) { linker[vec[u][i]] = u; return true; } } } return false;}int main() { std::ios::sync_with_stdio(false); LL n, s; int T; cin >> T; for (int kase = 1; kase <= T; ++kase) { memset(vec, 0, sizeof(vec)); cin >> n >> s; cout << "Case #" << kase << ": "; if (n > s) { swap(n, s); } if (n > 600) { cout << "No\n"; } else { for (int i = 1; i <= n; ++i) { LL temp = i + s; for (int j = 1; j <= n; ++j) { if (temp % j == 0) { vec[i].push_back(j); } } } memset(linker, 0, sizeof(linker)); int ans = 0; for (int i = 1; i <= n; ++i) { memset(used, false, sizeof(used)); if (dfs(i)) { ans++; } } if (ans == n) { cout << "Yes\n"; } else { cout << "No\n"; } } } return 0;}
阅读全文
0 0
- Kingdom of Obsession HDU
- Kingdom of Obsession HDU
- hdu 5943 Kingdom of Obsession
- HDU-5943 Kingdom of Obsession
- HDU 5943 Kingdom of Obsession (二分图)
- Kingdom of Obsession
- HDU5943-Kingdom of Obsession
- 2016ccpc杭州赛 hdu 5934 K.Kingdom of Obsession
- HDU 5943 - Kingdom of Obsession(二分图)
- HDU-5943 Kingdom of Obsession(数学+二分图匹配)
- HDU 5943 Kingdom of Obsession(二分图)
- Hdu 5943 Kingdom of Obsession【素数+二分匹配】
- HDU 5943 Kingdom of Obsession(二分图匹配+数论)
- hdu 5943 Kingdom of Obsession(二分匹配)
- HDU5943 Kingdom of Obsession(匹配问题)
- 【2016-CCPC-K】匈牙利算法,最大基数匹配(Kingdom of Obsession,hdu 5943)
- HDU-5943-Kingdom of Obsession(杭州CCPC K题)-数学推导+匈牙利算法优化
- HDU 5943 Kingdom of Obsession(2016年中国大学生程序设计竞赛(杭州)),好题
- decimal system
- java.lang.NoClassDefFoundError: org/apache/ibatis/io/Resources
- win7x64下的redis安装与使用
- Java学习第四天
- Android图片加载框架最全解析(二),从源码的角度理解Glide的执行流程
- Kingdom of Obsession HDU
- React-Redux 知识梳理
- Mysql学习整理(三)
- Beyond Compare对比相同文件仍显示红色
- 表空间的管理和创建
- 推荐几个Spring Cloud学习资料
- 继承和多态 1.0 -- 继承概念(is-a、has-a,赋值兼容规则,隐藏重定义)
- android常用Style的Theme汇总
- django邮件发送