SGU171 Sarov zones 题解

题意:有 \(K\) 个城市,第 \(i\) 城市至多有 \(N[i]\) 个人,每个城市有一个属性 \(Q[i]\)
对于 \(N=\sum N[i]\) 个人,每个人有一个属性 \(P[i]\) 和价值 \(W[i]\),把第 \(i\) 个人放进第 \(j\) 个城市中,当且仅当 \(P[i] > Q[j]\) 时,可以获得 \(W[i]\) 的价值,否则不获得价值。
求出满足价值和最大的人数分配方案。\(0\le N\le16000\)

先将每个人按 \(W[i]\) 值排序,从大到小处理。
对于当前的第i个人,放到当前 ① “还可容纳人的” ② “\(Q[j]<P[i]\)的” ③ “最大的 \(Q[j]\) 所在的城市”。
最后一些没放进任何城市的人随意插空放入即可。

posted @ 2024-03-18 21:12  FLY_lai  阅读(11)  评论(0编辑  收藏  举报