P9585 「MXOI Round 2」酒店

提供一个数学思路:

 

对于n个人,m个房间(环形)

假设将n个人紧密排在一起,会发现总共提供了2*n的愤怒值,因为环形所以每个人都有2点愤怒值,所以是2n

那么此时剩下的房间就还有m - n间空房,如果把空房插入到两个人中间,就会减少2点愤怒值,因为两人中间插入空房后他们旁边就少了一人,所以一共可以减少2 * (m - n)间空房

所以答案就是2 * n - 2 * (m - n) 化简可得4 * n - 2 * m

 当然,因为4n-2m是最终的愤怒值,但是因为是减法,如果减出负数,说明在2n - 2(m-n)中,(m-n)更大,也就是空房间绰绰有余,所以如果结果是负数,说明愤怒值是0,要特判

 

提供另外一种模拟思路:

先将人都安排到奇数房间1,3,5...,然后再将剩余人安排到偶数房间2,4,6...,然后扫一遍m个房间计算愤怒值即可(没写过,不包对,但理论可行)

posted @ 2025-06-29 11:37  CRt0729  阅读(23)  评论(0)    收藏  举报