「AGC027D」Modulo Matrix

传送门

神仙构造题。

首先考虑一个非常自然的思路,我们把棋盘黑白染色后会变成一个二分图,黑色棋子只会与白色棋子相邻。

也就是说,我们可以将二分图的一部随便填数,另一部分填上黑色数的乘积加上某个余数即可。

需要注意随便填数的一部的所有数必须大于这个选择的余数。

然后你发现过不了,这样的数的大小期望最大值大概是 \((\frac{n^2}{2})^4\)。

然后我们可以考虑给每一个对角线(每一行、每一列应该也行?)设一个权值 \(x\),然后随便填数的部分的值等于对应两条对角线上的值的乘积。

为了保证不重复,我们可以使用质数。

这样感觉就非常对了。

/*---Author:HenryHuang---*/
/*---Never Settle---*/
#include<bits/stdc++.h>
using namespace std;
const long long maxn=2e6+5;
long long pri[maxn],p[maxn],cnt;
void init(){
for(long long i=2;i<=2e6;++i){
if(!p[i]) pri[++cnt]=i;
for(long long j=1;j<=cnt&&i*pri[j]<=2e6;++j){
p[i*pri[j]]=1;
if(i%pri[j]==0) break;
}
}
}
long long a[505][505];
long long nx[]={0,0,1,-1};
long long ny[]={1,-1,0,0};
long long gcd(long long a,long long b){
if(!b) return a;
return gcd(b,a%b);
}
map<long long,int> s;
int main(){
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
long long n;cin>>n;
init();
for(int i=1;i<=n;++i){
for (int j=((i+1)&1)+1;j<=n;j+=2){
a[i][j]=pri[(i+j)/2]*pri[n+(i-j)/2+(n+1)/2];
}
}
for(long long i=1;i<=n;++i){
for(long long j=1;j<=n;++j){
if(((i+j)&1)==1){
long long lcm=0;
for(long long k=0;k<4;++k){
if((!lcm)&&a[i-nx[k]][j-ny[k]]){
lcm=a[i-nx[k]][j-ny[k]];
}
else if(a[i-nx[k]][j-ny[k]]){
lcm=1ll*lcm/gcd(lcm,a[i-nx[k]][j-ny[k]])*a[i-nx[k]][j-ny[k]];
}
}
long long tmp=lcm;
while(s[tmp+1]) tmp+=lcm;
a[i][j]=tmp+1; s[tmp+1]=1;
}
cout<<a[i][j]<<' ';
}
cout<<'\n';
}
return 0;
}

「AGC027D」Modulo Matrix的更多相关文章

  1. 「AGC032E」 Modulo Pairing

    「AGC032E」 Modulo Pairing 传送门 如果所有数都 \(<\lfloor \frac m 2\rfloor\),一个自然的想法是对所有数排序过后大小搭配,这样显然是最优秀的. ...

  2. Loj 3058. 「HNOI2019」白兔之舞

    Loj 3058. 「HNOI2019」白兔之舞 题目描述 有一张顶点数为 \((L+1)\times n\) 的有向图.这张图的每个顶点由一个二元组 \((u,v)\) 表示 \((0\le u\l ...

  3. 「CSA49」Bunny on Number Line

    「CSA49」Bunny on Number Line 题目大意:有一个人从0开始走,每次可以向前走一步或者回到1,那么会产生一个位置序列,其中给出 \(k\) 个位置是好的.定义一个位置序列是好的, ...

  4. 「Luogu4321」随机游走

    「Luogu4321」随机游走 题目描述 有一张 \(n\) 个点 \(m\) 条边的无向图,\(Q\) 组询问,每次询问给出一个出发点和一个点集 \(S\) ,求从出发点出发随机游走走遍这个点集的期 ...

  5. LOJ3044. 「ZJOI2019」Minimax 搜索

    LOJ3044. 「ZJOI2019」Minimax 搜索 https://loj.ac/problem/3044 分析: 假设\(w(1)=W\),那么使得这个值变化只会有两三种可能,比\(W\)小 ...

  6. 「HNOI2013」游走

    「HNOI2013」游走 题目描述 一个无向连通图,顶点从 \(1\) 编号到 \(N\) ,边从 \(1\) 编号到 \(M\) .小 \(Z\) 在该图上进行随机游走,初始时小 \(Z\) 在 \ ...

  7. loj #2143. 「SHOI2017」组合数问题

    #2143. 「SHOI2017」组合数问题   题目描述 组合数 Cnm\mathrm{C}_n^mC​n​m​​ 表示的是从 nnn 个互不相同的物品中选出 mmm 个物品的方案数.举个例子, 从 ...

  8. Loj #3044. 「ZJOI2019」Minimax 搜索

    Loj #3044. 「ZJOI2019」Minimax 搜索 题目描述 九条可怜是一个喜欢玩游戏的女孩子.为了增强自己的游戏水平,她想要用理论的武器武装自己.这道题和著名的 Minimax 搜索有关 ...

  9. 【LOJ】#3098. 「SNOI2019」纸牌

    LOJ#3098. 「SNOI2019」纸牌 显然选三个以上的连续牌可以把他们拆分成三个三张相等的 于是可以压\((j,k)\)为有\(j\)个连续两个的,有\(k\)个连续一个的 如果当前有\(i\ ...

随机推荐

  1. 程序员与年龄:四十岁普通开发、三十五岁首席架构、三十岁基层Leader

    最近,有一个词儿特别热门--躺平.有没有人跟你说过:"躺平说起来容易,做起来更容易." 和躺平相对的是另外一个词--内卷,群聊的时候,已经很多次看过草卷起来了.jpg表情包.某些节 ...

  2. openresty 学习笔记一:环境安装

    openresty 学习笔记一:环境安装 openresty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库.第三方模块以及大多数的依赖项.用于方便地搭 ...

  3. selenium模拟不同浏览器的方式

    from selenium import webdriver # 使用Firefox手机浏览器 user_agent = "Mozilla/5.0 (iPad; CPU OS 12_1 li ...

  4. Selenium click不生效 报错selenium.common.exceptions.InvalidArgumentException

    记录在使用selenium过程中踩的坑------ 在使用selenium时,用click点击网站弹出的文件上传框的"上传文件"按钮不生效,报错selenium.common.ex ...

  5. PointRCNN: 点云的3D目标生成与检测

    PointRCNN: 点云的3D目标生成与检测 PointRCNN: 3D Object Proposal Generation and Detection from Point Cloud 论文地址 ...

  6. CVPR2020:三维点云无监督表示学习的全局局部双向推理

    CVPR2020:三维点云无监督表示学习的全局局部双向推理 Global-Local Bidirectional Reasoning for Unsupervised Representation L ...

  7. 狂神说redis笔记(二)

    四.三种特殊数据类型 Geospatial(地理位置) 使用经纬度定位地理坐标并用一个有序集合zset保存,所以zset命令也可以使用 geoadd key longitud(经度) latitude ...

  8. 尚硅谷Java——宋红康笔记【day6-day10】

    day6 一.数组的概述 1.数组的理解:数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理. 2.数组相关的概念: 数组名 元素 ...

  9. 四、配置及使用Zabbix监控系统

    要求: 沿用练习- - -,使用Zabbix监控平台监控Linux服务器,实现以下目标:1.监控CPU2.监控内存3.监控进程4.监控网络流量5.监控硬盘 方案:通过Zabbix监控平台,添加被监控z ...

  10. Linux CentOS 配置Yaf框架

    简介 Yaf框架想必大家都有所了解,它是一个开源的高性能的PHP框架 官网地址:https://www.php.net/manual/zh/book.yaf.php Yaf开发文档:https://w ...