首页 > 其他分享 >AT_arc115_b [ARC115B] Plus Matrix 题解

AT_arc115_b [ARC115B] Plus Matrix 题解

时间:2024-01-19 14:22:20浏览次数:24  
标签:arc115 题解 rep ARC115B Plus 一列 printf Matrix

AT_arc115_b [ARC115B] Plus Matrix 题解

题意

给定矩阵 \(C_{n \times n}\),求两个数列 \(A_n,B_n\),使得 \(C_{i,j}=A_i+B_j\)。

分析

画出一个表格来:

2 1 3
2 4 3 5
0 2 1 3
1 3 2 4

可以看出来,对于任意一列 \(j\),\(C_{*,j}\) 都存在有 \(B_j\) 的贡献。

那么我们可以贪心的考虑。如果有解的话,将每列的最小值作为 \(B_j\)。

也就是就是 \(C_{*,j}\) 减去 \(\min_{k=1}^n C_{k,j}\)。

然后考虑 \(A_i\) 是什么。

我们画出来现在的矩阵:

2 1 3
2 2 2 2
0 0 0 0
1 1 1 1

可以看出 \(A_i\) 就是剩下的 \(C_{i,*}\) 了。

无解判断

什么时候无解。有矛盾的时候无解。

看任意一列,都是 \(A\) 这个数列。

如果 \(A \neq A\) 那么就是无解。

翻译成人话就是每一列如果有不同的,就是无解。

总结思路

将每一列减去这一列的最小值。

减去的数作为 \(B_j\)。

然后剩下的数,如果每一列都不同的话,就是无解。

否则输出即可。

评测记录:https://atcoder.jp/contests/arc115/submissions/49387103

核心代码:

#define rep(i, n) for (decltype(n) i = 0; i < n; ++i)
#define gor(i, l, r) for (decltype(r) i = l; i < r; ++i)
#define rr read()
int main() {
    int n = rr; vector<int> b(n, 1e9);
    vector<vector<int>> c(n, vector<int>(n));
    rep(i, n) rep(j, n) c[i][j] = rr, b[j] = min(b[j], c[i][j]);
    rep(i, n) rep(j, n) if ((c[i][j] -= b[j]) != c[i][0]) printf("No\n"), exit(0);
    printf("Yes\n");
    rep(i, n) printf("%d%c", c[i][0], " \n"[i == n - 1]);
    rep(i, n) printf("%d%c", b[i], " \n"[i == n - 1]);
    return 0;
}

易错点

输出别反了。

标签:arc115,题解,rep,ARC115B,Plus,一列,printf,Matrix
From: https://www.cnblogs.com/RainPPR/p/17974535/solution-at-arc115-b

相关文章

  • 基于 SpringBoot + magic-api + Vue3 + Element Plus + amis3.0 快速开发管理系统
    Tansci-Boot基于SpringBoot2+magic-api+Vue3+ElementPlus+amis3.0快速开发管理系统Tansci-Boot是一个前后端分离后台管理系统,前端集成amis低代码前端框架,后端集成magic-api的接口快速开发框架。包含基础权限、安全认证、以及常用的一些组件功能。项目......
  • ELK之Filebeat自动断开问题解决
     自动断开命令 解决自动断开命令nohup./filebeat-e-cfilebeat.yml>./filebeat.log 2>&1& disown 其他的方式(目前我没有使用) 在linux操作系统/etc/systemd/system目录下创建一个filebeat.service文件,写入如下内容需要注意替换文件的位置以及版本[Unit]D......
  • GDKOI 2024 题解
    鸽了一些题。匹配先抽出来一个完美匹配,然后尝试调整。调整相当于:找一个偶环,满足匹配的边和未匹配的边交错,且偶环的总异或和为\(0\),是不是写个暴力就好了?发现冲过去了,很牛逼,复杂度\(O(n^3)\)(?),Code。不休陀螺一个区间可以被打出的条件是:令\(\Delta_i=b_i-a_i\),则\(x=\sum......
  • MybatisPlus集成baomidou-dynamic,多数据源配置使用、MybatisPlus分页分组等操作示例
    MybatisPlus特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本CURD,性能基本无损耗,直接面向对象操作强大的CRUD操作:内置通用Mapper、通用Service,仅仅通过少量配置即可实现单表大部分CRUD操作,更有强大的条件构造器,满足各类使用......
  • P2580 于是他错误的点名开始了题解
    “普及/提高-”这个难度很有意思。说明这题可能需要用到提高组当中比较基础的内容。它的名字叫做map。map,其实相当于一个超大数组,但它真实的作用是:映射。比如a[7]=5;就是用a数组把7和5关联了起来,这个操作就叫映射。map这东西NB的地方在于,它能这么写:score["Leo201......
  • SAS,Stata,HLM,R,SPSS和Mplus分层线性模型HLM分析学生受欢迎程度数据|附代码数据
    全文链接:http://tecdat.cn/?p=10809最近我们被客户要求撰写关于分层线性模型的研究报告,包括一些图形和统计输出。本文用于比较六个不同统计软件程序(SAS,Stata,HLM,R,SPSS和Mplus)的两级分层线性模型的过程和输出下面介绍的六个模型都是两级分层模型的变体,也称为多级模型,这是混合模型......
  • P9012 [USACO23JAN] Moo Operations B题解
    第1道赛场AC的题,必须发篇题解记录一下。Tips:\(1\le|S|\le100\)——题目才100,这就可以随便整活了。如果你稍微懂点英语,就会知道第\(2\sim4\)个点的\(S\)都最多只有\(3\)个字符,而目标“MOO”也是\(3\)个字符,所以只需要模拟就可以了。intcheck(string......
  • [GFCTF 2021]web部分题解(更新中ing)
    [GFCTF2021]Baby_Web拿源码环节:打开环境(◡ᴗ◡✿)乍一看什么都没有,F12下没看到js文件,但是看到了出题师傅的提示:“源码藏在上层目录xxx.php.txt里面,但你怎么才能看到它呢?”这时候在思考文件在上层目录中,既然是目录下那就试一下dirsearch扫描先看看后台都有什么(这里就直接......
  • Dojoup 安装问题解决
    Dojoup安装问题解决InstallDojouphttps://book.dojoengine.org/getting-started/quick-start.htmlcurl-Lhttps://install.dojoengine.org|bash安装失败dojoup═══════════════════════════════════════════════......
  • Oozie重试任务不生效问题解决
    1、oozie默认为不重试规则,想要重试需在action中配置重试规则,示例如下:retry-max="3"retry-interval="1"发现增加以上配置后,任务失败并未生效;2、在~/oozie/conf/oozie-site.xml中增加以下配置:<property><name>oozie.service.LiteWorkflowStoreService.user.retry.error.cod......