1 条题解

  • 2
    @ 2024-7-16 9:49:14

    考完了,来水8篇题解

    这道题我们分奇数和偶数的情况讨论

    nn 能被写成 kk 个奇数和的形式,那么 nn 就可以化成 (2a1+1)+(2a2+1)+......+(2ak+1)=2(a1+a2+....+ak)+k(2a_1+1)+(2a_2+1)+......+(2a_k+1)=2(a_1+a_2+....+a_k)+k, 也就是说,当 (nk)mod2=0(n-k) \mod 2 = 0 并且 nkn \ge k 时,nn 能被写成 kk 个奇数和的形式

    再看偶数的情况下,nn 就可以化成 2a1+2a2+......+2ak=2(a1+a2+....+ak)2a_1+2a_2+......+2a_k=2(a_1+a_2+....+a_k),也就是说,当 nmod2=0n \mod 2 =0 并且 n÷2kn \div 2 \ge k 时,nn 能被写成 kk 个偶数和的形式

    如果两个都不满足,输出NO即可

    #include<bits/stdc++.h>
    using namespace std;
    int main(){
    	int t;
    	cin>>t;
    	for(int i=1;i<=t;i++){
    		int n,k;
    		cin>>n>>k;
    		if((n-k)%2==0) cout<<"YES"<<endl;
    		else if(n%2==0&&n/2>=k) cout<<"YES"<<endl;
    		else cout<<"NO"<<endl;
    	}
    }
    
    • 1

    信息

    ID
    754
    时间
    1000ms
    内存
    256MiB
    难度
    5
    标签
    递交数
    67
    已通过
    26
    上传者