首页 > 其他分享 >[ARC140E]Not Equal Rectangle

[ARC140E]Not Equal Rectangle

时间:2022-09-29 12:01:11浏览次数:49  
标签:矩阵 Equal times leq cdots pmatrix ARC140E Rectangle vdots

[ARC140E]Not Equal Rectangle

做题时间:2022.8.11

\(【题目描述】\)

给定 \(N,M(2\leq N,M\leq 500)\),构造一个大小为 \(N\times M\) 的矩阵 \(a_{i,j}\),满足 \(1\leq a_{i,j}\leq 25\) ,且对于任意 \(1\leq x1,x_2\leq N\) 和 \(1\leq y_1,y_2\leq M\),不存在 \(a_{x_1,y_1}=a_{x_1,y_2}=a_{x_2,y_1}=a_{x_2,y_2}\)

\(【输入格式】\)

一行两个整数表示 \(N,M\)

\(【输出格式】\)

一个 \(N\times M\) 的矩阵

\(【考点】\)

数学

\(【做法】\)

发现 \(\sqrt n\approx 25\) 启发我们用分块思想。

若我们将一个 \(p^2\times p^2\) 的大矩阵分割成 \(p^2\) 个 \(p\times p\) 的小矩阵,并且对于每一个小矩阵,从第一行开始,用 \([1,2,...,p]\) 循环放置,得到:

\[P_1= \begin{pmatrix} 1 & 2 & \cdots & p-1 & p \\ 2 & 3 & \cdots & p & 1 \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ p-1 & p & \cdots & p-3 & p-2 \\ p & 1 & \cdots & p-2 & p-1 \\ \end{pmatrix} \\ P_2= \begin{pmatrix} 2 & 3 & \cdots & p & 1 \\ 3 & 4 & \cdots & 1 & 2 \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ p & 1 & \cdots & p-2 & p-1 \\ 1 & 2 & \cdots & p-1 & p \\ \end{pmatrix} \\ \vdots \\ P_p= \begin{pmatrix} p & 1 & \cdots & p-2 & p-1 \\ 1 & 2 & \cdots & p-1 & p \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ p-2 & p-1 & \cdots & p-4 & p-3 \\ p-1 & p & \cdots & p-3 & p-2 \\ \end{pmatrix} \\ \]

\[A= \begin{pmatrix} P_1 & P_1 & \cdots & P_1 & P_1 \\ P_1 & P_2 & \cdots & P_{p-1} & P_p \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ P_1 & P_{p-1} & \cdots & P_{p-4} & P_{p-3} \\ P_1 & P_p & \cdots & P_{p-3} & P_{p-2} \\ \end{pmatrix} \]

这个方法同样可以扩展到 \(N\times M\) 的矩阵,即找到一个 \(p\) ,满足 \(p^2\geq\max(n,m)\) 且 \(p\) 是质数。 \(23\) 是最合适的选择。

可以得到:

\[A_{i,j}=((\lfloor i/p \rfloor \cdot \lfloor j/p \rfloor+i+j) \mod p)+1$$ ,其中 $p=23$ $【代码】$ ```cpp #include<cstdio> #include<iomanip> #include<cmath> using namespace std; int n,m; int main() { scanf("%d%d",&n,&m); int p=23; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ printf("%d ",((i/p)*(j/p)+i+j)%p+1); } printf("\n"); } return 0; } ```\]

标签:矩阵,Equal,times,leq,cdots,pmatrix,ARC140E,Rectangle,vdots
From: https://www.cnblogs.com/Unlimited-Chan/p/16740959.html

相关文章

  • 990. Satisfiability of Equality Equations
    Youaregivenanarrayofstrings equations thatrepresentrelationshipsbetweenvariableswhereeachstring equations[i] isoflength 4 andtakesoneof......
  • 对equals的使用,完成对输入对象的选择
    今天也算是有纪念意义的一天——自己敲出来一个代码。本来昨天下午的时候就想把这个代码给敲出来,但是奈何基础不牢,地动山摇。搞了一下午还是没有一个满意的结果,今天重新刷......
  • 84. Largest Rectangle in Histogram
    Givennnon-negativeintegersrepresentingthehistogram'sbarheightwherethewidthofeachbaris1,findtheareaoflargestrectangleinthehistogram. A......
  • CF1188D Make Equal
    假设\(a\)数组有序,记\(\text{cnt}(x)\)表示\(x\)的二进制表示中\(1\)的个数。那么我们就是要找一个\(x\)使得\(\sum_{i=1}^{n}\text{cnt}(x+a_n-a_i)\)最小。......
  • ==和equals的对比
    ==是一个比较运算符1、==:既可以判断基本类型(判值),又可以判断引用类型(判相等)。2、==:如果判断基本类型,判断的是值是否相等。3、==:如果判断引用类型,判断的是地址是否相等,既......
  • CF522D Closest Equals
    CF522DClosestEquals题目大意现在有一个序列\(a_1,a_2,...,a_n\),还有\(m\)个查询\(l_j,r_j\)\((1≤l_j≤r_j≤n)\)。对于每一个查询,请找出距离最近的两......
  • Java基础(四)—— HashCode和Equals
    正如标题所言,今天我们来讲讲hashCode和equals。或许有些人会奇怪了,这两个东西为什么要放在一起来讲呢?这是因为按照JDK规范:如果两个对象根据equals方法比较是相等的,那么调......
  • 主从复制报错Fatal error:The slave I/O thread stops because master and slave have
    异常在MySQL中开启主从复制失败:原因先确定主机和从机的server-id是否不一样,如果一样也会导致主从复制失败。主机和从机的server-id在/etc/my.cnf配置文件中配置的,下面......
  • Collection集合中的 contains 和 remove 使用深入——要重写equals
    参考引用:http://t.csdn.cn/8z6sC 使用Collection集合中的contains,remove,removeall的时候,元素一定要重写equals方法,不然它里面的判断会容易出现“预期错误”。......
  • [Typescript] 11. Medium - Equal
    ImplementtheEqual<T,U>Forexample:typeisEqual=Equal<1,1>//trueIdea: Parametertype: <P>(x:P)=>anyCheckPextendsT?1:2ThencheckPexte......