牛客周赛 104 D

题意:给你一个n*m的矩阵,可进行最多一次交换操作即交换矩阵中的两个元素位置,问你最多有几个a(i,j)=min(i,j)
思路:先计算不交换时 不动点个数 记为cnt
则答案要么是cnt+2 要么是cnt+1 要么是cnt
当且仅当两个数交换之后 分别成为新的不动点时 答案为cnt+2
当且仅当两个数交换之后 只有一个成为新的不动点时 答案为cnt+1
否则 答案为cnt
用一个map<int, set<int>>维护所有不动点应为key的位置的实际的数的集合
全部评论

相关推荐

评论
4
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务