VC Is All You Need
题意:
n
n
n个点,每个点可以是红、蓝颜色之一(共有
2
n
2^{n}
2n种情况),如果
k
−
1
k-1
k−1维的超平面可以将所有情况下的红和蓝分开,则输出
y
e
s
yes
yes,否则输出
n
o
no
no
对于
k
−
1
=
k-1=
k−1=二维的超平面,可以证明n最多为三,且保证为不共线,对于任何一种情况,才能通过移动超平面使得点的划分满足要求。以此类推
#include<iostream>
#include<cstdio>
#include<string>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<map>
#include<vector>
using namespace std;
#define ll long long
//#define lowbit(x) x&-x
//#define N 200005
//typedef __int128 ll;
//typedef pair<int,int>pll;
signed main()
{
int t; cin>>t;
while(t--){
ll n,k; cin>>n>>k;
if(n-k <= 1) cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
}