uva 10163 Storage Keepers】的更多相关文章

UVA 10163 Storage Keepers(两次DP) http://uva.onlinejudge.org/index.php? option=com_onlinejudge&Itemid=8&page=show_problem&problem=1104 题意: 有n个仓库(最多100个),m个管理员(最多30个).每一个管理员有一个能力值P(接下来的一行有m个数.表示每一个管理员的能力值).每一个仓库仅仅能由一个管理员看管,可是每一个管理员能够看管k个仓库(可是这个仓库…
题目传送门 /* 题意:(我懒得写,照搬网上的)有n个仓库,m个人看管.一个仓库只能由一个人来看管,一个人可以看管多个仓库. 每个人有一个能力值pi,如果他看管k个仓库,那么所看管的每个仓库的安全值为 pi/k(向下取整) 如果某个仓库没有人看管,那么它的安全值为0.所有仓库的安全值L = min{ 每个仓库的安全值 } 从m个人中选择一些人雇佣,问所有仓库的安全值最高是多少,在安全值最高的情况下,求雇佣(能力值)的最少价钱. DP(两次):dp[i][j]表示前i个人管理j个仓库的最大安全值,…
题目链接:10163 - Storage Keepers 题目大意:给出m为仓库的数量, 给出n为有守夜人的数量, 然后给出n个数值,为对应守夜人应付的酬劳,每个守夜人的能力与他需要的酬劳是相等的,并且守夜人可以同时负责多个仓库的安全,不过这样子安全值就变为val[i]/k(val[i]表示第i个守夜人的能力值,k表示他负责的仓库数量, /为取整),先在要的出方案,使得所有仓库中安全值最低的那个仓库的安全值越高, 并且要使得酬劳越低. 解题思路:问题应该分成两个子问题来求解,先求安全值最大为多少…
Problem C.Storage Keepers  Background Randy Company has N (1<=N<=100) storages. Company wants some men to keep them safe. Now there are M (1<=M<=30) men asking for the job. Company will choose several from them. Randy Company employs men follo…
题意: 有n个仓库,m个人,一个仓库只能由一个人托管,每个人可以托管多个仓库. 每个人有一个能力值a,如果说他托管了k个仓库,那么这些仓库的安全值都是a/k. 雇佣一个人的花费也是a. 如果一个仓库没有被人托管,那么这个仓库的安全值为0. 总安全值定义为所有仓库安全值的最小值. 现在给出人和仓库的信息,在总安全值最大的情况下,求出最小的花费. 思路: 两次dp. dp[i][j]表示前i个人托管前j个仓库的最大的总安全度 dp[i][j] = max(dp[i-1][j],a[i]/j) dp[…
题意:有n个仓库,m个管理员,每个管理员有一个能力值P,每个仓库只能由一个管理员看管,但是每个管理员可以看管k个仓库(但是这个仓库分配到的安全值只有p/k,k=0,1,...),雇用的管理员的工资即为他们的能力值p和,问,使每个仓库的安全值最高的前提下,使的工资总和最小. 析:首先使用二分安全值,然后使用DP来判断是不是能够达到这个安全值,这个DP就是一个01背包,dp[i] 表示看管 i 个仓库的最少费用多少,dp[j] = min{dp[j], d[j-x] + cost[i]}. 代码如下…
本文出自   http://blog.csdn.net/shuangde800 题目链接: 点击打开链接 题意 有n个仓库,让m个人来看管.一个仓库只能由一个人来看管,一个人可以看管多个仓库. 每个人有一个能力值pi,如果他看管k个仓库,那么所看管的每个仓库的安全值为 pi/k(向下取整) 如果某个仓库没有人看管,那么它的安全值为0.所有仓库的安全值L = min{ 每个仓库的安全值 } 如果雇佣一个人的工资等于他的能力值pi. 从m个人中选择一些人雇佣,问所有仓库的安全值最高是多少,在安全值最…
十六 Storage Keepers Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status Practice UVA 10163 #include <stdio.h> #include <string.h> #include <algorithm> using namespace std; const int inf=0x3f3f3f3f; ],d…
[Link]: [Description] 你有n(n≤100)个相同的仓库.有m(m≤30)个人应聘守卫,第i个应聘者的能力值 为Pi(1≤Pi≤1000).每个仓库只能有一个守卫,但一个守卫可以看守多个仓库.如果应聘 者i看守k个仓库,则每个仓库的安全系数为Pi/K的整数部分.没人看守的仓库安全系数为0. 你的任务是招聘一些守卫,使得所有仓库的最小安全系数最大,在此前提下守卫的能力 值总和(这个值等于你所需支付的工资总和)应最小. [Solution] 动规 能力总和最大值为30000 安全…
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1104 题意: 有n个仓库(最多100个),m个管理员(最多30个),每个管理员有一个能力值P(接下来的一行有m个数,表示每个管理员的能力值).每个仓库只能由一个管理员看管,但是每个管理员可以看管k个仓库(但是这个仓库分配到的安全值只有p/k,其中p/k取整数部分), 每个月公司都…