首页 > 其他分享 >CF1719B Mathematical Circus

CF1719B Mathematical Circus

时间:2022-08-17 14:23:04浏览次数:58  
标签:Mathematical typedef Circus long 分组 CF1719B equiv include mod

 题意简述:

对于给定的 $n,k$ , 能否将 $1,2,3,...,n$ ( $n$ 为偶数),两两分组.

求对于每个分组 ( $x_i$ , $y_i$ ) , 是否全部满足 $4 \mid (x_i+k)*y_i $ , 如果分组全部满足输出 $YES$ ,如果有一分组不符合输出 $NO$ .

 分析:

如果 $k \equiv 1 \mod 2 $ , 那么总有一种合法情况为 $x_i$ 全部为奇数 , $y_i$ 全部为偶数.

如果 $k \equiv 0 \mod 4$ , 说明每个奇数只能与 $4$ 的倍数配对,而奇数有 $\frac{n}{2}$ 个 , $4$ 的倍数小于 $\frac{n}{4}$ 个 . 所以该情况无解

对于剩下的情况 (即 $k \equiv 0 \mod 2$ 且 $k \equiv 2 \mod 4$)

从 $3$ 开始正序输出两个数 , 接着间隔 $3$ 个数 , 重复执行.

再从 $2$ 开始倒序输出两个数 , 接着间隔 $4$ 个数 , 重复执行.

 代码如下:

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<vector>
#include<set>
#include<stack>
#include<map>
#include<queue>
#include<cstdlib>
#include<iomanip>
#include<utility>
#define mid (l+r>>1)
#define endl '\n'
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int,int> pai;
const double eps = 1e-10;
const int base = 13331;
const long long mod = 998242353;
long long maxn = -2147483647-1,minn = 0x7f7f7f7f;
ll t,n,k;
int main(){
    //freopen("filename.in","r",stdin);
    //freopen("filename.out","w",stdout);
    ios::sync_with_stdio(false);
    cin.tie(0),cout.tie(0);
    cin>>t;
    while(t--){
        cin>>n>>k;
        if(k%4==0){
            cout<<"NO"<<endl;
            continue;
        }
        if(k%2==1){
            cout<<"YES"<<endl;
            for(int i=1;i<=n;++i){
                cout<<i<<" ";
                if(!(i%2)){
                    cout<<endl;
                }
            } 
        }
        else{
            cout<<"YES"<<endl;
            for(int i=3;i<=n;i+=4){
                cout<<i<<" "<<i+1<<endl;
            }
            for(int i=2;i<=n;i+=4){
                cout<<i<<" "<<i-1<<endl;
            }
        }
    }
    //fclose(stdin);
    //fclose(stdout);
    return 0;
}

 

 总结:

一道简单的数论题 , 可以从样例得出解法 , 需要略加思考.

标签:Mathematical,typedef,Circus,long,分组,CF1719B,equiv,include,mod
From: https://www.cnblogs.com/Lib-Zhang/p/16595034.html

相关文章