HDU 5943 Kingdom of Obsession 【二分图匹配 匈牙利算法】 (2016年中国大学生程序设计竞赛(杭州))
来源:互联网 发布:淘宝达人5篇帖子 编辑:程序博客网 时间:2024/06/05 03:34
Kingdom of Obsession
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 49 Accepted Submission(s): 14
Problem Description
There is a kindom of obsession, so people in this kingdom do things very strictly.
They name themselves in integer, and there aren people with their id continuous (s+1,s+2,⋯,s+n) standing in a line in arbitrary order, be more obsessively, people with id x wants to stand at yth position which satisfy
xmody=0
Is there any way to satisfy everyone's requirement?
They name themselves in integer, and there are
Is there any way to satisfy everyone's requirement?
Input
First line contains an integer T , which indicates the number of test cases.
Every test case contains one line with two integersn , s .
Limits
1≤T≤100 .
1≤n≤109 .
0≤s≤109 .
Every test case contains one line with two integers
Limits
Output
For every test case, you should output 'Case #x: y', where x indicates the case number and counts from 1 and y is the result string.
If there is any way to satisfy everyone's requirement, y equals 'Yes', otherwise y equals 'No'.
If there is any way to satisfy everyone's requirement, y equals 'Yes', otherwise y equals 'No'.
Sample Input
25 144 11
Sample Output
Case #1: NoCase #2: Yes
Source
2016年中国大学生程序设计竞赛(杭州)
Recommend
liuyiding | We have carefully selected several similar problems for you: 5943 5942 5941 5940 5939
题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=5943
题目大意:
给定S,N,把S+1,S+2,...S+N这N个数填到1,2,...,N里,要求X只能填到X的因子的位置。(即X%Y=0,那么X才能放在Y位置)
问是否能够放满。
题目思路:
【二分图匹配 匈牙利算法】
首先,如果S<N,那么S+1,S+2...N这些数直接放在S+1,S+2...N的位置上
(如果其他数x放在这些位置上面,这些数不放在对应位置,那么x一定能放在这些数放的位置,所以直接交换即可)
所以可以直接将S和N调换,缩小N。
接着看N个连续的数,如果出现2个素数。那么必然无解(都只能放1)
所以可以估算一下素数的最大间隔(我取504),N超过必然无解。
N小于504的情况下,直接暴力建边(能整除就连边),然后跑二分图匹配即可。
////by coolxxx//#include<bits/stdc++.h>#include<iostream>#include<algorithm>#include<string>#include<iomanip>#include<map>#include<stack>#include<queue>#include<set>#include<bitset>#include<memory.h>#include<time.h>#include<stdio.h>#include<stdlib.h>#include<string.h>//#include<stdbool.h>#include<math.h>#pragma comment(linker,"/STACK:1024000000,1024000000")#define min(a,b) ((a)<(b)?(a):(b))#define max(a,b) ((a)>(b)?(a):(b))#define abs(a) ((a)>0?(a):(-(a)))#define lowbit(a) (a&(-a))#define sqr(a) ((a)*(a))#define swap(a,b) ((a)^=(b),(b)^=(a),(a)^=(b))#define mem(a,b) memset(a,b,sizeof(a))#define eps (1e-8)#define J 10000#define mod 1000000007#define MAX 0x7f7f7f7f#define PI 3.14159265358979323#define N 1004#define M 504using namespace std;typedef long long LL;double anss;LL aans;int cas,cass;int n,m,lll,ans;int s;int last[N],mark[N];bool u[N];struct xxx{int next,to;}a[M*M];void add(int x,int y){a[++lll].next=last[x];a[lll].to=y;last[x]=lll;}bool dfs(int now){int i,to;for(i=last[now];i;i=a[i].next){to=a[i].to;if(!u[to]){u[to]=1;if(!mark[to] || dfs(mark[to])){mark[to]=now;return 1;}}}return 0;}int main(){#ifndef ONLINE_JUDGEW//freopen("1.txt","r",stdin);//freopen("2.txt","w",stdout);#endifint i,j,k;int x,y,z;//init();//for(scanf("%d",&cass);cass;cass--)for(scanf("%d",&cas),cass=1;cass<=cas;cass++)//while(~scanf("%s",s))//while(~scanf("%d%d",&n,&m)){lll=0;ans=0;mem(last,0);mem(mark,0);printf("Case #%d: ",cass);scanf("%d%d",&s,&n);if(s<n)swap(n,s);if(n>M){puts("No");continue;}for(i=1;i<=n;i++){for(j=1;j<=n;j++)if((s+i)%j==0){add(j,i+n);}}for(i=1;i<=n;i++){mem(u,0);if(dfs(i))ans++;}if(ans==n)puts("Yes");else puts("No");}return 0;}/*////*/
0 0
- HDU 5943 Kingdom of Obsession 【二分图匹配 匈牙利算法】 (2016年中国大学生程序设计竞赛(杭州))
- (2016年中国大学生程序设计竞赛(杭州) )HDU 5943 Kingdom of Obsession 素数间距 + 匈牙利算法
- HDU 5943 Kingdom of Obsession(2016年中国大学生程序设计竞赛(杭州)),好题
- HDU 5943 && 2016CCPC杭州 K: Kingdom of Obsession(二分匹配)
- 【2016-CCPC-K】匈牙利算法,最大基数匹配(Kingdom of Obsession,hdu 5943)
- HDU-5943 Kingdom of Obsession(数学+二分图匹配)
- HDU 5943 Kingdom of Obsession(二分图匹配+数论)
- hdu 5936 二分好题 2016年中国大学生程序设计竞赛(杭州)
- HDU 5936 Difference(思维+二分)——2016年中国大学生程序设计竞赛(杭州)
- hdu 5943 Kingdom of Obsession(二分匹配)
- HDOJ 5943 Kingdom of Obsession【2016杭州现场赛】【二分图匹配暴力】
- 2016年中国大学生程序设计竞赛(杭州)-重现赛
- 2016年中国大学生程序设计竞赛(杭州)-重现赛
- 2016年中国大学生程序设计竞赛(杭州)
- 2016年中国大学生程序设计竞赛(杭州) 部分题解
- HDU5938+贪心+(2016年中国大学生程序设计竞赛(杭州))
- HDU-5943-Kingdom of Obsession(杭州CCPC K题)-数学推导+匈牙利算法优化
- HDU 5943 - Kingdom of Obsession(二分图匹配+三素数定理)
- 公式求解
- node中全局对象二 --- console
- AfxMessageBox字符集问题
- jquery高级编程的最佳实践详解
- 1051. Pop Sequence (25)解题报告
- HDU 5943 Kingdom of Obsession 【二分图匹配 匈牙利算法】 (2016年中国大学生程序设计竞赛(杭州))
- 使用 Python 的 jsonschema 对 json 做验证
- Spring+Quartz配置定时任务
- 【NOIP 2012】借教室 括号法
- tomcat结合nginx使用小结
- 第九周切面条
- 从0开始学习 GITHUB 系列之「加入 GITHUB」
- 学习日记--桶排序
- 理解 Linux 的硬链接与软链接