牛客周赛 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的位置的实际的数的集合
思路:先计算不交换时 不动点个数 记为cnt
则答案要么是cnt+2 要么是cnt+1 要么是cnt
当且仅当两个数交换之后 分别成为新的不动点时 答案为cnt+2
当且仅当两个数交换之后 只有一个成为新的不动点时 答案为cnt+1
否则 答案为cnt
用一个map<int, set<int>>维护所有不动点应为key的位置的实际的数的集合
全部评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
01-14 17:06
哈尔滨工程大学 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享

