摘要: 题意:把一个包放入另一个包内,使得总共要带的件数最少,就是说大包可以装小包,且一个大包只能装一个小包,但是这个小包可以继续装更小的包。思路:因为相同大小的包不能互相装,所以最小数量就是有相同尺寸的包的最大数量.#include #include#include#includeusing namespace std;#define N 1000100int c[N],a[N];int main(int argc, char** argv) { int n,i,u,j; while(scanf("%d",&n)!=EOF&&n){ u=0; memset 阅读全文
posted @ 2014-03-01 17:25 Teemo的技术blog 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 题意:公司要你要完成N份任务,但是你是不可能全部完成的,所以需要雇佣别人来做,做到剩下M份时,自己再亲自出马。现在有个机构,有两种付费方式,第一种是每付A元帮你完成1份,第二种是每付B元帮你完成剩下任务的一半(rounding down)。思路:先算出每个的最少费用然后排序就行了,要注意的是当费用相等时,按名字的字典序排序#include #include#include#includeusing namespace std;#define N 100010struct node{ char name[110]; int sum;}p[N];bool cmp(node a, node b){ 阅读全文
posted @ 2014-03-01 16:37 Teemo的技术blog 阅读(137) 评论(0) 推荐(0) 编辑