procedure2012
It's not worth it to know you're not worth it!
上一页 1 2 3 4 5 6 7 8 9 10 ··· 20 下一页
摘要: [关键字]:图论 公约数 找环和链[题目大意]:有K类面具,第i类只能看见属于第i+1类的编号的面具,现给出一些可以看见的面具的信息,问最多和最少有多少面具。//===========================================================================================================[分析]:一开是想到了这些信息一定可以被连成一些环和链。如果有环那链一定就没有用了,怎样求出环中最大最小的种类数呢?一开是没仔细想好题以为只能出现一个环,后来看了题解可以出现多个环,而所有环的公约数就是可行的k,所以在有环的 阅读全文
posted @ 2012-03-21 08:12 procedure2012 阅读(1220) 评论(0) 推荐(0) 编辑
摘要: [关键字]:搜索[题目大意]:不说了,自己找吧……//===================================================================[分析]:首先按照字母出现的顺序进行搜索,搜索每个字母分别代表什么数字。在每次搜索时都要剪枝,就是把当前的已知字母带到竖式中算一遍,如果出现矛盾情况就剪枝。矛盾情况就是:1、同一列三个数都已知但(a+b)%n!=c2、已知两个数但计算出的第三个数已经被其他字母占用。注意这里要处理进位的情况。[代码]:View Code #include<iostream>#include<cstdio> 阅读全文
posted @ 2012-03-18 20:48 procedure2012 阅读(1966) 评论(0) 推荐(0) 编辑
摘要: [关键字]:数据结构 DFS序列[题目大意]:有一棵树,每头牛从一号节点出发走到另一个节点上。路径上每有一个有牛的节点,那他就会减慢一次速度,问每个牛会减慢多少次速度。//======================================================================================[分析]:首先对树进行先序遍历,然后对每个节点编号记录每个节点v进入时的编号x和它所有子树中编号最大的那个y,这样以v为根的子树就对应了一段连续的区间。每有一个牛走到他所对应的节点v上,v的子树上所有节点的减慢次数就会+1,然后就可以利用树状数组来进行连续 阅读全文
posted @ 2012-03-18 15:22 procedure2012 阅读(177) 评论(0) 推荐(0) 编辑
摘要: [关键字]:数据结构 线段树 扫描法[题目大意]:给出n个矩形的左下角和右上角,求出所有矩形面积的并。//==========================================================================[分析]:可以用扫描法来求,首先将所有y值离散化然后建立线段树(用来求所有竖直的边的并),在把所有矩形都变成两条线——左边和右边,然后左边需要被加入线段树,右边代表退出线段树,并以x为关键字排序。从左到右枚举每一个边加入这样当前边的x1和上一条加入的边x2之间一定是一个矩形,而这个矩形的一边是x2-x1,另一边就是所有在线段树中的边的并,这样只 阅读全文
posted @ 2012-03-17 17:42 procedure2012 阅读(373) 评论(0) 推荐(0) 编辑
摘要: [关键字]:图论 二分图最佳匹配[题目大意]:给出n*m的地图,由几个H(房子)和m(人),求每个人都走到一个房子的最少需要的总步数。//============================================================================[分析]:这道题是二分图最大匹配的应用。先把边权取负然后就是求一个边权最大的匹配。利用KM算法求解,具体:http://blog.sina.com.cn/s/blog_625c774e0100hhh7.html[代码]:View Code #include<iostream>#include< 阅读全文
posted @ 2012-03-16 21:58 procedure2012 阅读(667) 评论(0) 推荐(0) 编辑
摘要: [关键字]:图论 二分图匹配[题目大意]:太麻烦,就不说了//=========================================================================[分析]:因为每个距离都对应着两个数字——就是+d或-d,这样0~n-1和它所转换的序列可以看成一个二分图的模型,而一个完备匹配就对应着一个序列。只要求一遍最大匹配看是否等于n。而字典序的问题,因为用匈牙利算法找增广路就是找到第一个没有被匹配或和它匹配的点可以找到另外一条增广路的点,这样每次都是将已经匹配过的点所匹配的点编号变大,如果倒着找匹配就恰好能保证序号越小就越可以找到编号小的点匹配 阅读全文
posted @ 2012-03-16 19:55 procedure2012 阅读(790) 评论(0) 推荐(1) 编辑
摘要: [关键字]:贪心[题目大意]:给出一给大区间和n各小区间,问最少可以用多少小区间覆盖整个大区间。//=========================================================================[分析]:贪心法来求。设t为当前所有已确定区间的最右端,那我们可以每次都取所有可选的小区间(左端点<=t+1)中右端点最大的值,然后更新最右端点ans++。初始时t=0.而由于如果有解t的值是递增的,那每次选区的区间的左端点也必然是递增的,所以可以先排序然后一遍扫描。[代码]:View Code #include<iostream># 阅读全文
posted @ 2012-03-15 21:14 procedure2012 阅读(1647) 评论(1) 推荐(0) 编辑
摘要: [关键字]:模拟[题目大意]:模拟一个P2P 下载,每对机器都有一个传输速率,每一个机器都有在线和离线时间,和下载的开始时间,当一个机器开始下载时,它将从所有在线且提供下载且与他有速度的服务器上下载。当它下载完成时,下一秒它就变成了服务器。问T时间之后,各个机器的完成百分比是多少。//=====================================================================================[分析]:枚举每一秒直接模拟这一秒有那些电脑可以下载并枚举那些服务器可以下载,然后更新下载量。如果以下载完就把他标记成服务器。[代码]:View 阅读全文
posted @ 2012-03-15 20:47 procedure2012 阅读(181) 评论(0) 推荐(0) 编辑
摘要: [关键字]:模拟[题目大意]:一共有400个房间分布在走廊两侧,一侧是1、3、5、7……399另一侧是2、4、6、8……400,有多个操作要求从一个屋子搬一张桌子到另一个屋子如果两个操作占用了一段公共走廊则不能同时进行,每进行一组操作花费十分钟,问最小花费。//========================================================================================================================[分析]:一开始想歪了导致这么简单的题都做了半天。可以想到如果某一段走廊有超过以次操作那么这些操作 阅读全文
posted @ 2012-03-15 07:48 procedure2012 阅读(227) 评论(0) 推荐(0) 编辑
摘要: [关键字]:数学 计算几何[题目大意]:给出若干个互相分离的园,要求找到一个最小的半径使得每个圆都被以这个为半径以给出的某个圆圆心为圆心的圆覆盖至少一半。//============================================================================================================================[分析]:首先枚举每个圆的圆心作为圆心,在二分半径并判断是否符合要求。这样找出每个圆为圆心的半径的最小值,问题就在与怎样判断是否符合要求。相离、外切、内切、内含都好判断,但是相交情况怎样判断面积 阅读全文
posted @ 2012-03-15 07:40 procedure2012 阅读(273) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 20 下一页