CF 1500 C

技术CF 1500 C CF 1500 CCF 1500 C
题意:
? 给你两个 \(n \times m\) 的矩阵 A,B(1 \(\leq\) n,m \(\leq\) 1500),矩阵的元素均

CF 1500 C

CF 1500 C

意思是:

?给你两个矩阵A,B(1 \(\leq\) n,m \(\leq\) 1500)的\(n \次m \),它们的元素都是[1,n]内的整数。

?对于每一个操作,可以选择一列作为每行的关键字,按照关键字从小到大的顺序对所有行进行排序,得到一个新的矩阵。这里使用的排序是稳定的,即如果两行具有相同的关键字,则按照原始矩阵中的顺序进行排序。

可以做不超过5000个操作,问能不能把A变成b,不能输出吗?1,否则输出可行的操作序列。

解决方案:

?首先,考虑到排序稳定,我们可以确定B的哪一行对应A中的最后一行(当然,如果不对应,就会是-1)

?现在考虑处理一个指示B的第I行是A的第p[i]行的数组p[i],那么我们可以发现我们最终想把p[i]放在第I个位置,并且把pos[i]设置为A的第I行的位置,也就是我们要求\ (\ for all \) POS [P [I]] POS [P [I]

?然后考虑每个列的操作。如果K列中有A(p[i],k) A(p[i 1],K),那么什么都不会发生。如果有A(p[i],k) A(p[i 1],k),那么如果操作该列,它后面必须跟一个才能做p[i]。

?于是一个图论模型自然出现了。如果一个运算X中的所有A(p[i],X)=A(p[I ^ 1],X),那么我们必须用这个运算来求贪婪,因为它不会变质,也就是说X连接到每个A的I边(p[I ^ 1],X)。X)A(p[I ^ 1],X),那么要求就是这些I在后续的操作中会被反转,也就是我会被连接到X,也就是说所有这样的I只有被解放后才能被释放。运行拓扑排序和反向输出方案。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/126075.html

(0)

相关推荐

  • MAVEN安装

    技术MAVEN安装 MAVEN安装一、maven下载
    下载地址:https://maven.apache.org/download.cgi
    二、配置镜像源(conf文件夹下的settings.xml文件

    礼包 2021年10月20日
  • Java集合框架之如何使用List ArrayList LinkedList

    技术Java集合框架之如何使用List ArrayList LinkedList这篇文章主要讲解了“Java集合框架之如何使用List ArrayList LinkedList”,文中的讲解内容简单清晰,易于学习与理解,

    攻略 2021年10月25日
  • hive怎么用sql看建表语句(hive严格模式的sql怎么写)

    技术hive ETL业绩报表sql怎么写这篇文章主要讲解了“hive ETL业绩报表sql怎么写”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“hive ETL业绩报表sq

    攻略 2021年12月23日
  • mysql时间如何转换时间戳

    技术mysql时间如何转换时间戳本篇内容介绍了“mysql时间如何转换时间戳”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成

    攻略 2021年11月26日
  • javascript怎么删除session

    技术javascript怎么删除session这篇文章主要讲解了“javascript怎么删除session”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascri

    攻略 2021年11月10日
  • Python程序开发问题举例分析

    技术Python程序开发问题举例分析这篇文章主要介绍“Python程序开发问题举例分析”,在日常操作中,相信很多人在Python程序开发问题举例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家

    攻略 2021年12月1日