摘要: 题目大意给定平面上N个矩形的位置(给出矩形的左下角和右上角的坐标),这些矩形有些会有重叠,且重叠只会出现矩形的边重合全部或部分,矩形的顶点重合,而不会出现一个矩形的顶点位于另一个矩形的内部。求出所有不重叠的矩形的个数。题目分析将每个矩形分成4个点,记录每个点所属的矩形id,对4*N个点进行按照x坐标... 阅读全文
posted @ 2015-10-25 22:42 农民伯伯-Coding 阅读(486) 评论(0) 推荐(0) 编辑
摘要:     给定N(N<=35)个数字,每个数字都<= 2^15. 其中一个或多个数字加和可以得到s,求出s的绝对值的最小值,并给出当s取绝对值最小值时,需要加和的数字的个数。     需要枚举集合的所有情况,2^35,会超时。考虑使用折半枚举的方法,考虑前 N/2个数字构成的集合S1,在S1中进行所有 阅读全文
posted @ 2015-10-25 20:21 农民伯伯-Coding 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 题目大意N头牛,M个谷仓,每个牛c都有它喜欢的若干个谷仓,现在要将这N头牛安排进谷仓,使得每个牛都位于它喜欢的谷仓,而每个谷仓只能有一头牛。求安排的方案总数。N, M #include#include #include using namespace std;#define MAX_N 22vect... 阅读全文
posted @ 2015-10-25 20:09 农民伯伯-Coding 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 题目大意给定一条直线,长度为L 表示区间[0, L]。在直线上开始放置N个人,每个人有一个初始位置pos(用到直线上端点0的距离表示)和初始方向dir('p' 或 'P' 表示向端点L行走, 'n'或'N'表示向端点0行走),然后所有的人都开始沿着自己的方向用相同的速度v行走,若走到端点0或端点L,... 阅读全文
posted @ 2015-10-25 14:26 农民伯伯-Coding 阅读(588) 评论(0) 推荐(0) 编辑
摘要: 题目大意有20个碗排成一排,有些碗口朝上,有些碗口朝下。每次可以反转其中的一个碗,但是在反转该碗时,该碗左右两边的碗也跟着被反转(如果该碗为边界上的碗,则只有一侧的碗被反转)。求最少需要反转几次,可以使得所有碗口均朝上。题目分析类似黑白染色问题(将一个格子染色,其上下左右四个格子也被染成分别相反的颜... 阅读全文
posted @ 2015-10-25 12:46 农民伯伯-Coding 阅读(516) 评论(0) 推荐(0) 编辑
摘要: 题目大意给定一个数字N,N可能由1个或多个连续的素数求和得到,比如41 = 2+3+5+7+11+13, 41 = 11+13+17, 41 = 41。求出对于N,所有可能的组合形式。题目分析先求出所有可能构成加数的素数,使用埃氏筛选法。然后求出所有的可能形式,由于所选择的是一个连续的区间,可以使用... 阅读全文
posted @ 2015-10-25 12:02 农民伯伯-Coding 阅读(717) 评论(0) 推荐(0) 编辑
摘要: 题目大意有N个节点以及连接的P个无向边,现在要通过这P条边从1号节点连接到N号节点。若无法连接成功,则返回-1;若能够连接成功,那么其中用到了L条边,这L条边中有K条边可以免费,L-K条边不能免费,求出不能免费的边的最大长度。题目分析判断能否到达,可以通过BFS搜索路径,若不能到达,返回-1;若能到... 阅读全文
posted @ 2015-10-25 10:55 农民伯伯-Coding 阅读(493) 评论(0) 推荐(0) 编辑