A~C水题
D模拟也是水题,但细节比较多
E预处理每个人和椅子的距离,排个序就好了
F
题面:
在AC之城中住着n个居民,每个人都欠给其他人中的一个人一些钱,现在他们要还钱了,但是刚经过双11的洗礼,他们居然都变成穷光蛋了!
于是责任到了镇长KY身上,他希望通过给一些人一定数量的钱来解决问题。而当人们收到钱时,就会发生连锁反应:举个栗子,当A收到钱时,他会把欠的钱还给B,而B又会去找C还钱。然而如果B的钱还不够还的,他就会原地坐等钱够了再说。而且如果一个人的钱比要还的钱多,他会把多余的钱塞入自己的腰包。
另一个栗子:如果AC之城中有2个人,他们互相欠对方¥100,那么KY必须给他们其中的一个¥100来解决纠纷。
而你的任务是计算KY最少要花多少钱。
分析题面并建图,我们不难得到一个“树—>环”的结构(也可能很多个)
起始节点肯定是要给钱的,就可以把链处理出来
分析图,一个点能拿到多少钱,只跟前一个数有关
对于一个环,我们只要找到一个最小的(实付金额)处理一遍就好了
复杂度:O(n);