本文转自:https://blog.codingnow.com/2012/12/share_rent.html

今天读到策划同学的周报中提到的一个关于合租房子的分摊房租问题。

引用周报中的一节如下:

周在搬家,和喵、刘阳一起租房子住,遇到一个问题,就是分摊房租。中式的解决方法一般都是商量一下,但具体怎么商量,没有手段,总之就是大家估摸一下,觉得大略上说的过去就OK了。很少有拉下面子认真谈价格的,即使心里其实觉得并不认可。

在这方面,美国人还真能想一些办法,这是一个旅美的留学生在博客上写的,他和老美同学的商议方式: 两个人A,B合租一个二居的房子,比如每个月是1500美元,因为主卧和次卧有大有小,价格肯定是不均的,那么两个人分别写两个价格,也就是对主卧和次卧的心理价格。可以很极端,比如1400:100,但总额必须是1500,因为这是A,B必须接受的大条件,然后公开,除掉开价完全相当的情况,两间卧室必然各有一个出价最高的人,价高者入住,而月租则是A,B对这个卧室开价的均值。例如A出价是900:600,B出价是1000:500,那么A住次卧,价格为550,B住主卧,价格为950。两个人都得到了自己认可的房子,而价格还低于自己的预期。

这一方案还有一个优势,就是双方都无法通过恶意的叫价来损害对方,获得利益。相信很多同学会提出一个更直接的解决方案:一个人提价格方案,另一个人选择。但是这一方案也有点问题,提价格的人相对是吃亏的,对吧?

遗憾的是,这种做法,似乎无法推广到三个人的情况。


我觉得这个问题很有趣,晚上想了一下,其实是可以推广到三人甚至更多人的。

先说这个原始策略为什么让双方都感觉合理:

从经济学角度看,每个人都希望别人多分摊一些房租。你对一个房间了价值有一个评估,如果别人高于这个价格租下这个房间,对你就是有利的。原始方案正是如此,让双方都觉得最终方案对自己有利。我们基于这个基础来推广这个方案就可以了。

首先, 两个人对两间房间的分配策略,原始策略已经做的很好了。我们要做的仅仅是把三个人分三间房划简到两个人分两间房的问题。(其中不考虑竞价相同的问题。原始方案也没给出解决方案,可以重新来一次,也可以投骰子等。)

对三人策略,我的方案是: 三个人分别写下自己想要哪一间房间,并想对这个房间出多少价。

结果有三种 :

  1. 三个人对同一个房间竞价。这种情况比较好解决,我们直接让出价最少的人出局。然后出价最高的人得到这间房间,其价格是前两个价位的平均值。 接下来的问题就回到了两个人选两个房间的问题了。

  2. 有两个人对同一个房间竞价,另一个人选了别的房间。这种情况也好解决,直接让选相同房间的两人中价高者得,价格是两者平均值。

  3. 三个人各选了不同的房间。这种情况不太好处理,下面仔细分析。

假设 甲 选了 1 号房间,给出了价格 A ;乙选了 2 号房间,给出了价格 B ; 丙选了 3 号房间,给出了价格 C 。

我们先去掉 A B C 中绝对值最小值, 比如是 C 。 保留 1 号房间的 A 报价和 2 号房间的 B 报价。

其实可以这样看:甲和乙一起倾向于用 A+B 的价格租 1 2 号房间。那么他们集体对 3 号房间的估价是总价 - A - B 。

有很少的情况, 这个估价会变成负数。如果碰到了, 我认为可以简单的认为是甲和乙对 3 号房间的估价为 0 。

之后,就可以按均价原则定出 3 号房间的价格为 C 与 (总价 - A -B) 的平均值,并以这个价格租给 C 。

剩下的又变成了两个人分配两间房的问题了。 :)


补充:有同学认为,如果 A+B+C 低于总价的时候,case 3 会使得 C 最终价格超过他的预期,不太合理。

我认为这是合理的。因为大家可能都想用高价得到好的房间;也可能由于经济原因,希望尽量少分摊房租而倾向住不那么好的房间。

当 A+B+C 低于总价的情况发生时,往往是后一种情形。(否则,多数人会出高于均价的价格)

当所有人都出低价的时,出最低价的人应该承担略高的价位,这是你在出很低价格的时候要考虑的后果。也就是恶意出不合理的价格,伤害的是自己而不是别人。

<转>房租分配问题的更多相关文章

  1. 分配问题与Hungarian算法

    分配问题与Hungarian算法 分配问题 指派问题 匈牙利算法 匈牙利方法是一种能够在多项式时间内解决分配问题(assignment problem)的组合优化算法.它由Harold Kuhn 与1 ...

  2. 关于const和define的内存分配问题的总结

    关于const和define的内存分配问题 const与#define宏定义的区别----C语言深度剖析 1,  const定义的只读变量在程序运行过程中只有一份拷贝(因为它是全局的只读变量,存放在静 ...

  3. 【Uvalive 2531】 The K-League (最大流-类似公平分配问题)

    [题意] 有n个队伍进行比赛,每场比赛,恰好有一支队伍取胜.一支队伍败.每个队伍需要打的比赛场数相同,给你每个队伍目前已经赢得场数和输得场数,再给你一个矩阵,第 i 行第 j 列 表示队伍 i 和队伍 ...

  4. mmc生产任务分配问题

    mmc生产任务分配问题,本题目简单.

  5. dp资源分配问题

    noip考试中dp中的资源分配问题是一大重点(不定时更新) 以下是一些例题 1.乘积最大 //Gang #include<iostream> #include<cstring> ...

  6. 洛谷P4014 分配问题【最小/大费用流】题解+AC代码

    洛谷P4014 分配问题[最小/大费用流]题解+AC代码 题目描述 有 n 件工作要分配给 n 个人做.第 i 个人做第 j 件工作产生的效益为c ij. 试设计一个将 n 件工作分配给 n 个人做的 ...

  7. [20181229]关于字符串的分配问题.txt

    [20181229]关于字符串的分配问题.txt --//链接:http://www.itpub.net/thread-2107534-1-1.html提到的问题,里面一段英文读起来很绕口:--//百 ...

  8. 记一次ElasticSearch重启之后shard未分配问题的解决

    记一次ElasticSearch重启之后shard未分配问题的解决 环境 ElasticSearch6.3.2,三节点集群 Ubuntu16.04 一个名为user的索引,索引配置为:3 primar ...

  9. Libre 6012 「网络流 24 题」分配问题 (网络流,费用流)

    Libre 6012 「网络流 24 题」分配问题 (网络流,费用流) Description 有n件工作要分配给n个人做.第i个人做第j件工作产生的效益为\(c_{ij}\).试设计一个将n件工作分 ...

随机推荐

  1. Centos7安装OpenLDAP

    https://www.cnblogs.com/zhaijunming5/p/9522756.html

  2. ahoi2009维护序列

    链接:https://www.luogu.org/problemnew/show/P2023 裸的线段树维护+* 代码: #include <bits/stdc++.h> using na ...

  3. BZOJ4989 [Usaco2017 Feb]Why Did the Cow Cross the Road 树状数组 逆序对

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ4989 题意概括 一条马路的两边分别对应的序列A.B,长度为n,两序列为1到n的全排列.当Ai=Bj ...

  4. 010 处理模型数据(ModelAndView,Map Model,@SessionAttributes)

    1.处理数据模型 SpringMVC提供了几种途径出书模型数据 二:ModelAndView 1.介绍 2.index <%@ page language="java" co ...

  5. Unity 中几点注意的地方

    1.面板摆放的规范 2.project工程面板中 文件夹命名的规范,不同类型的东西要分类摆放,例如Script 3.不要留空函数体(系统自动生成Start, Uadate等),空函数体一样会执行,尤其 ...

  6. MySQL基础之数据类型和运算符

    早些年学习MySQL的笔记,发在博客园上,以便后续回顾学习: 1. 数据类型为int(11),注意到后面的数字11,这表示的是该数据类型指定的显示宽度,指定能够显示的数值中数字的个数.其他数据类型也可 ...

  7. asp.net core 托管与部署

    一.使用IIS在Windows上进行托管 1,部署asp.net core ①检查安装最新的SDK和运行时 https://www.microsoft.com/net/download/windows ...

  8. C#通用数据库操作类

  9. BZOJ 3930: [CQOI2015]选数 莫比乌斯反演

    https://www.lydsy.com/JudgeOnline/problem.php?id=3930 https://blog.csdn.net/ws_yzy/article/details/5 ...

  10. BZOJ.3884.上帝与集合的正确用法(扩展欧拉定理)

    \(Description\) 给定p, \(Solution\) 欧拉定理:\(若(a,p)=1\),则\(a^b\equiv a^{b\%\varphi(p)}(mod\ p)\). 扩展欧拉定理 ...