还是比赛里出了QAQ,抱了cf群大爷的大腿...交错代码扣了好多分啊QAQ
Q巨说暴力...想了一下真的可行。。。
推一推...
对于n,假设有f(n)使他刚好No,而$f(n)-1$是Yes,则$>=f(n)$的都为No...所以我们只要找出这个f(n)就可以了。。。
假设$n%(1~k)$都不重复的话,则膜数只会是$0-->k-1$
开个map存下余数...QAQ
1 #include<cstdio> 2 #include<iostream> 3 #include<algorithm> 4 #include<cmath> 5 #include<map> 6 #include<set> 7 #include<vector> 8 #include<cstring> 9 using namespace std; 10 #define ll long long 11 #define inf 0x7fffffff 12 inline int read() 13 { 14 int x=0,f=1;char c=getchar(); 15 while(c<‘0‘||c>‘9‘){if(c==‘-‘)f=-1;c=getchar();} 16 while(c>=‘0‘&&c<=‘9‘){x=x*10+c-‘0‘;c=getchar();} 17 return x*f; 18 } 19 inline ll readl() 20 { 21 ll x=0,f=1;char c=getchar(); 22 while(c<‘0‘||c>‘9‘){if(c==‘-‘)f=-1;c=getchar();} 23 while(c>=‘0‘&&c<=‘9‘){x=x*10+c-‘0‘;c=getchar();} 24 return x*f; 25 } 26 inline int power(int a,int b) 27 { 28 int ans=1; 29 while(b) 30 { 31 if(b&1){ans=ans*a;--b;} 32 b>>=1;a=a*a; 33 } 34 return ans; 35 } 36 inline int power_mod(int a,int b,int mod) 37 { 38 a%=mod; 39 int ans=1; 40 while(b) 41 { 42 if(b&1){ans=ans*a%mod;--b;} 43 b>>=1;a=a*a%mod; 44 } 45 return ans; 46 } 47 inline int max(int a,int b){return a>b?a:b;} 48 inline int min(int a,int b){return a<b?a:b;} 49 ll n,k; 50 map<ll,ll>a; 51 int main() 52 { 53 n=readl();k=readl(); 54 for(ll i=1;i<=k;i++) 55 { 56 ++a[n%i]; 57 if(a[n%i]==2){ 58 puts("No");return 0; 59 } 60 } 61 puts("Yes"); 62 }