摘要: /*2011 北京区域赛Hou Yi's secret题目: 给出n个点,问任选三个点组成的三角形中最多有多少个相似分析: 能够组成三角形的话,点不能重复,不能三点共线,然后相似的判断可根据对应边 的比值相等,由于边的长度涉及浮点运算,我们可以不开方直接用平方作比较就行*/#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int X = 20;const int maxn = 8000;in 阅读全文
posted @ 2012-06-13 18:22 yejinru 阅读(190) 评论(0) 推荐(0) 编辑
摘要: /*题目: 有n对新人,他们的婚礼时间分别为[s,t],他们的习俗是需要牧师能够对新人 进行祝福,要求牧师的祝福时间超过他们婚礼的持续时间的一半。问只有一个 牧师的话能不能成功主持所有这样婚礼分析: 贪心,可以先求出所有新人所需要祝福的时间,由于改时间超过婚礼的一半, 所以在[s,t]的中间时刻一定是要祝福新人,比如[1,5]时,2,3,4均要祝福; [1,4]时,2,3需要祝福,所以可以定义 ms:必须在祝福的最晚起始时间, me:必须在祝福的最早终止时间。 我们通过对ms进行排序,若相等则按me进行排序,再判断是否符合即可*/#incl... 阅读全文
posted @ 2012-06-13 14:17 yejinru 阅读(267) 评论(0) 推荐(0) 编辑
摘要: /*题目: 一个有n个节点的完全图,每条边、每个节点都有权值,在该图上求一个有m 个节点的生成树,使得该树的边权值和比点权和是所有m个节点的生成树中的 最小值,如果有多解输出字典序最小的分析: 递归枚举m个节点,然后根据prim算法求的该比率,记录最小的边权和比点权 和最小的那棵树即可*/#include <cstdio>#include <cstring>const int X = 17;#define INF 1e9int map[X][X];int wv[X],n,m;bool use[X];int ans[X];int mnode[X];double cn... 阅读全文
posted @ 2012-06-13 14:15 yejinru 阅读(174) 评论(0) 推荐(0) 编辑
摘要: /*题目: 找到所有在上面的窗口,窗口的大小最小高度和宽度均为3。分析: 通过搜索找到左上右下的坐标,然后再判断边上或里面是否有其他的字母,另外 注意由于窗口的大小最小为3*3。由于最大为100*100,O(n^3)暴搜算法即可 注意细节:6 10...........AAAAAAAA..A.BBB..A..A.B.B..A..A.BBB..A..AAAAAAAA.*/#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int X = 105;char 阅读全文
posted @ 2012-06-13 14:13 yejinru 阅读(159) 评论(0) 推荐(0) 编辑
摘要: /*2011年北京区域赛A题Qin Shi Huang's National Road System题目: 秦始皇想要修公路,使得这n座城市可以互达,题目给出n所城市的二维坐标以及每座城 市的价值,现在有人可以免费帮助秦始皇修理任意一条公路,现在要想使得比率A/B最大, A表示这条公路所在的两座城市的价值,B表示所有的公路长度(不包括这条公路的长度)。分析: 想要比率最大,所以A要尽可能大,B尽可能小。要使B尽可能小的话,可以先求的最小生 成树,然后枚举在最小生成树上的每条边,删除该边后得到的两个点集中分别找到最大价值 的点(城市),然后更新答案。时间复杂度... 阅读全文
posted @ 2012-06-13 13:56 yejinru 阅读(322) 评论(0) 推荐(0) 编辑