编程之美2015初赛第一场BC
题目2 : 建造金字塔时间限制:4000ms 你是2次元世界的1个建筑承包商。现在有N个建造定单,每一个定单有1个收益w,即建造此金字塔可取得w的收益。对每一个定单可以选择建造或不建造。 建造1个金字塔的本钱是金字塔的面积,如果两个或多个金字塔有堆叠面积,则建造这些金字塔时堆叠部分仅需建造1次。 建造1组金字塔的总利润是收益总和扣除本钱。现给出这些定单,要求出最大利润。 输入 每组数据第1行动1个整数N,表示定单数目。 接下来N行,每行3个整数x,y,w,表示1个定单。(x,y)表示建造出的金字塔的顶点,w表示收益。 输出 数据范围 0 ≤ w ≤ 107 小数据 1 ≤ N ≤ 20 0 ≤ x,y ≤ 20 大数据 1 ≤ N ≤ 1000 0 ≤ x,y ≤ 1000 样例输入 dp。 顶点为 首先把金字塔依照左端点排序( 设 然后分3种情况转移,即第 还有1个转移是只放第 在前两种情况中,我们可以保证第 题目3 : 质数相干时间限制:2000ms 输入 第1行动N,为集合S的大小。第2行动N个整数,表示集合内的数。 输出 数据范围 集合S内的数两两不同且范围在1到500000之间。 小数据 1 ≤ N ≤ 15 大数据 1 ≤ N ≤ 1000 样例输入 2分图。 容易想到把不符合条件的数字连边,问题转化成了求最大独立集。 求最大独立集不是np问题吗? 这道题有特殊的性质,他是1个2分图!! 由于2分图的充要条件是不存在奇环。 即此图是2分图,直接匈牙利算法求最大匹配。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |