其他分享
首页 > 其他分享> > Codeforces Round #701 (Div. 2) D. Multiples and Power Differences

Codeforces Round #701 (Div. 2) D. Multiples and Power Differences

作者:互联网

[D. Multiples and Power Differences](https://codeforces.com/contest/1485/problem/D)

题意:

给定一个\(n*m\)的矩阵\(A\),要求构造出一个\(n*m\)的矩阵\(B\)。要求满足以下条件:

\(1≤n,m≤500\)
\(1\le a_{i,j}\le 16\)

思路:

考虑条件\(1\)和\(2\)。求出\(lcm(1,2,..,15,16)=720720\),令\(B\)矩阵中所有元素都为\(lcm\),则可以满足。

考虑条件\(3\)。需要将矩阵想象成国际象棋棋盘似的(本质上是个二分图),一部分黑,一部分白。

黑块的四周都是白块,白块的四周都是黑块。

所以在黑块上填上\(lcm\),在白块上填上\(lcm+(a_{i,j})^4\),反过来也无所谓。

最后检查一下\(lcm+(a_{i,j})^4 \leq 786256\),满足条件\(1\)和\(2\)。

Code:

#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <vector>
#include <string>
#include <map>
#include <set>
#include <cassert>
#include<bits/stdc++.h>
#define debug(x) cout<<#x<<" :"<<x<<endl
using namespace std;
#define rep(i,a,n) for (int i=a;i<=n;i++)
#define per(i,a,n) for (int i=n;i>=a;i--)
#define pb push_back
#define all(x) (x).begin(),(x).end()
#define fi first
#define eps 1e-6
#define SZ(x) ((int)(x).size())
typedef vector<int> VI;
typedef long long ll;
typedef pair<int,int> PII;
const ll mod=1e4+7;
ll powmod(ll a,ll b,ll mod1) {ll res=1;a%=mod1; assert(b>=0); for(;b;b>>=1){if(b&1)res=res*a%mod1;a=a*a%mod1;}return res;}
const int maxn=2e5+10;
const int MAXN=2e5+10;
ll q[maxn];
ll n,m;
ll qpow(ll a,ll b){
    ll ans=1;
    while(b){
        if(b&1)ans=ans*a;
        a=a*a;
        b>>=1;
    }
    return ans;
}

/*
构造

*/
ll a[501][501];
ll cnt[maxn];
int main(){
    int t;
    srand(time(NULL));
    //scanf("%d",&t);
    t=1;
    while(t--){
        cin>>n>>m;
        rep(i,1,n)
        rep(j,1,m){
            cin>>a[i][j];
        }
        ll jc=1;
        ll lcm=2;
        rep(i,3,16)lcm=(lcm*i)/__gcd(lcm,i*1ll);
        rep(i,1,n){
            rep(j,1,m){
                if((i+j)&1){
                    printf("%lld ",lcm+qpow(a[i][j],4));
                }
                else printf("%lld ",lcm);
            }  
            puts("");
        }
    }
    return 0;
}

标签:lcm,Power,int,ll,Differences,701,include,rep,define
来源: https://www.cnblogs.com/quuns/p/14402559.html