首页 > 其他分享 >CF1838C题解

CF1838C题解

时间:2023-11-05 16:34:21浏览次数:34  
标签:bmatrix cdot 题解 cdots CF1838C && 增量 2m

显然 \(1\) 不是质数,除二外偶数不是质数。

然后分类讨论

对于 \(m\) 为偶数,构造

\[\begin{bmatrix} 1 & 2 & 3 & \cdots & m \\ m+1 & m+2 & m+3 & \cdots & 2m \\ &&\cdot\\ &&\cdot\\ &&\cdot\\ (n-1)m+1 & (n-1)m+2 & (n-1)m+3 & \cdots & nm \\ \end{bmatrix} \]

则列增量为 \(1\),行增量为 \(m\)。

对于 \(n\) 为偶数,构造

\[\begin{bmatrix} 1 & n+1 & 2n+1 & \cdots & (m-1)n+1 \\ 2 & n+2 & 2n+2 & \cdots & (m-1)n+2 \\ &&\cdot\\ &&\cdot\\ &&\cdot\\ n & 2n & 3n & \cdots & nm \\ \end{bmatrix} \]

则行增量为 \(1\),列增量为 \(n\)。

对于 \(n\)、\(m\) 均为奇数的情况,循环移位

\[\begin{bmatrix} 1 & 2 & 3 & \cdots & m-1 & m \\ m+2 & m+3 & m+4 & \cdots & 2m & m+1 \\ 2m+3 & 2m+4 & 2m+5 & \cdots & 2m+1 & 2m+2 \\ &&\cdot\\ &&\cdot\\ &&\cdot\\ \end{bmatrix} \]

行增量为 \(1\) 或 \(m-1\),列增量为 \(m+1\) 或 \(1\)。

无了。

#include<bits/stdc++.h>
using namespace std;
int n,m;
int T;
signed main()
{
    cin>>T;
    while(T--)
    {
        cin>>n>>m;
        if(m % 2 == 0)
        {
            for(int i=1;i<=n;i++)
            {
                for(int j=1;j<=m;j++)
                {
                    cout<<((i-1)*m+j)<<" ";
                }
                cout<<'\n';
            }
        }
        else if(n % 2 == 0)
        {
            for(int i=1;i<=n;i++)
            {
                for(int j=1;j<=m;j++)
                {
                    cout<<(i + (j-1) * n)<< " ";
                }
                cout<<'\n';
            }
        }
        else
        {
            for(int i=1;i<=n;i++)
            {
                int op = (i-1) % m + 1;
                for(int j=op;j<=m;j++)
                {
                    cout<<((i-1) * m + j)<<" ";
                }
                for(int j=1;j<op;j++)
                {
                    cout<<((i-1) * m + j)<<" ";
                }
                cout<<'\n';
            }
        }
        cout<<'\n';
    }
}

标签:bmatrix,cdot,题解,cdots,CF1838C,&&,增量,2m
From: https://www.cnblogs.com/2021cjx-akioi/p/17810665.html

相关文章

  • CF859G 题解
    总结题意显然可以转化为序列问题嘛。给出序列\(A\{a_i\}\),你需要通过若干次操作使其归零。操作:选定\(d|n\)、\(k\)、\(r\),对于序列中所有满足\(i\bmodd=r\)的位置加上\(k\)。题解很明显,加减相互抵消,对于所有\(d\)、\(r\)相同的位置可以视作一次操作。如何表示......
  • CF773A 题解
    真的是蓝题?这真的不是小学数学题?我们是要求满足(其中\(a\)为正确数,\(b\)为总数)\[\frac{x+a}{y+b}=\frac{p}{q}\]的最小\(b\)。我们可以先把右式的分子分母变化到与\(\frac{x}{y}\)类似的大小。intbs1=x/p+(x%p!=0);intbs2=y/q+(y%q!=0);i......
  • 【洛谷 P1909】[NOIP2016 普及组] 买铅笔 题解(打擂台法)
    [NOIP2016普及组]买铅笔题目背景NOIP2016普及组T1题目描述P老师需要去商店买支铅笔作为小朋友们参加NOIP的礼物。她发现商店一共有种包装的铅笔,不同包装内的铅笔数量有可能不同,价格也有可能不同。为了公平起见,P老师决定只买同一种包装的铅笔。商店不允许将铅笔的包装......
  • USACO铂金题解
    USACO铂金题解USACO2018PlatiumB.SortItOut很巧妙的转换注意到操作并不会影响没有被选中的牛的相对顺序所以没有被选中的一定单调递增要使得选中的尽可能少,就要选尽可能长的没有被选中的序列,即原序列的\(LIS\)所以原题等价于求原序列第\(k\)大\(LIS\)用树状数组......
  • [ARC140B] Shorten ARC 题解
    分析自然,我们可以想到利用贪心去解题。我们可以证明,$\texttt{ARC}$左右两边$\texttt{A}$和$\texttt{C}$个数多的比少的变为$\texttt{R}$贡献能更多,第奇数次操作比第偶数次能使操作次数更多。于是,我们可以得出这样的一个算法:若为奇数次操作那我们将现有的$\texttt{ARC......
  • 哈理工新生赛题解
    A小亮的睡眠时间思路:求一下一共花了多少时间思考,注意思考时间大于睡觉时间上限的特殊情况。#include<iostream>usingnamespacestd;intmain(){intn;scanf("%d",&n);intsum=0;intcur;inttotal=450;inth=0;ints=0;......
  • CF1089K King Kog's Reception 题解
    题目传送门前置知识线段树解法第一眼感觉和luoguP1083[NOIP2012提高组]借教室很像。本题同样采用线段树维护,\(sum_{l,r}(1\lel\ler\le10^6)\)表示从\(l\simr\)时刻内骑士拜访的总时间,\(maxx_{l,r}(1\lel\ler\le10^6)\)表示从\(l\simr\)时刻内骑士......
  • [ABC327G] Many Good Tuple Problems 题解
    题意对于一对长度均为\(M\)且元素值在\(\left[1,N\right]\)之间的序列\((S,T)\),定义其为好的当且仅当:存在一个长度为\(N\)的\(01\)序列\(X\),使得其满足如下条件:对于任意\(i\in\left[1,M\right]\),有\(X_{S_i}\neqX_{T_i}\)。给定\(N,M\),求在所有可......
  • CF1721A Image题解
    转裁自我的洛谷博客:https://www.luogu.com.cn/blog/653832/Code-of-CF1721A-Image题意简述给你一个2×2的矩阵,每次可以将一个或两个字母变成任意的其他字母,问最少用几步能将矩阵中的字母变成一样的。思路可以先分类讨论可能会出现的情况(如下表)。根据1,2,3列可得出暴力做法,即......
  • VM安装RedHat7虚机ens33网络不显示IP问题解决
    1、今天在VMware中安装RedHat7.4虚拟机,网络连接使用的是NAT连接方式,刚开始安装成功之后输入ifconfig还能看到ens33自动分配的IP地址,但是当虚机关机重启后,再查看IP发现原来的ens33网络已经没有了,只变成了这两个:然后输入ipa查看网卡信息发现出现了下面的信息:ens33:<BROADCA......