自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 hdu 1255 覆盖的面积

给定一些矩形求被这些矩形覆盖过至少两次的区域的面积求矩形面积交(离散化+线段树)#include #include #include #include #include #include #include #include #include #include #include using namespace std;#define L(i) i<<1

2015-10-28 15:23:00 366

原创 poj 2299 Ultra-QuickSort

给定n个数,要求这些数构成的逆序对的个数。除了用归并排序来求逆序对个数,还可以使用树状数组来求解。树状数组求解的思路:开一个能大小为这些数的最大值的树状数组,并全部置0。从头到尾读入这些数,每读入一个数就更新树状数组,查看它前面比它小的已出现过的有多少个数sum,然后用当前位置减去该sum,就可以得到当前数导致的逆序对数了。把所有的加起来就是总的逆序对数。题目中的数都是独一无二的,这些数最...

2015-10-27 13:45:21 346

原创 poj 2155 (二维数组)

这题是比较经典的二维树状数组,题意是给你个矩阵里面开始全是0,然后给你两种指令:1:‘C x1,y1,x2,y2’就是将左上角为x1,y1,右下角为x2,y2,的这个矩阵内的数字全部翻转,0变1,1变0,;2:'Q x1 y1',输出a[x1][y1]的值。这题的巧妙只初在于重叠消元,将要翻转的矩阵的四个角更新一遍就ok了,去掉重叠部分(结果模2),刚好剩下了这个矩阵翻转了.#include

2015-10-26 20:38:17 436

原创 POJ 2352

题目大意:在坐标上有n个星星,如果某个星星坐标为(x, y), 它的左下位置为:(x0,y0),x0按照y递增,如果y相同则x递增的顺序给出n个星星,求出所有level水平的数量。分析与总结:因为输入是按照按照y递增,如果y相同则x递增的顺序给出的, 所以,对于第i颗星星,它的level就是之前出现过的星星中,横坐标x小于等于i星横坐标的那些星星的总数量

2015-10-26 16:51:21 401

原创 二维几何基本模板

#include #include #include #include #include #include #include #include #include #include using namespace std;#define L(i) i<<1#define R(i) i<<1|1#define INF 0x3f3f3f3f#define pi acos(-1

2015-10-16 21:10:15 466

原创 hdu 1983 Kaitou Kid - The Phantom Thief (2)

题意:破解字迷之后,你得知Kid将会在展览开始后T分钟内盗取至少一颗宝石,并离开展馆。整个展馆呈矩形分布,划分为N*M个区域,有唯一的入口和出口(不能从出口进入,同样不能从入口出去)。由某个区域可直接移动至相邻四个区域中的一个,且最快需要一分钟。假设Kid进入放有宝石的区域即可盗取宝石,无需耗时。问至少要封锁几个区域(可以封锁放有宝石的区域,但不能封锁入口和出口)才能保证Kid无法完成任务

2015-10-15 21:28:20 579

原创 hdu 1242 Resuce

题意:X代表卫兵,a代表终点,r代表起始点,.代表路,#代表墙路花费一秒,x花费两秒问到达终点的最少时间思路:BFS+优先队列的果题#include #include #include #include #include #include #include #include #include #include using namespace st

2015-10-14 19:32:59 314

原创 hdu 1181 变形课(恶心的输入)

呃......变形课上Harry碰到了一点小麻烦,因为他并不像Hermione那样能够记住所有的咒语而随意的将一个棒球变成刺猬什么的,但是他发现了变形咒语的一个统一规律:如果咒语是以a开头b结尾的一个单词,那么它的作用就恰好是使A物体变成B物体. Harry已经将他所会的所有咒语都列成了一个表,他想让你帮忙计算一下他是否能完成老师的作业,将一个B(ball)变成一个M(Mouse),你知道,如

2015-10-14 14:55:39 454

原创 hdu 1180 诡异的楼梯

题意:Hogwarts正式开学以后,Harry发现在Hogwarts里,某些楼梯并不是静止不动的,相反,他们每隔一分钟就变动一次方向. 比如下面的例子里,一开始楼梯在竖直方向,一分钟以后它移动到了水平方向,再过一分钟它又回到了竖直方向.Harry发现对他来说很难找到能使得他最快到达目的地的路线,这时Ron(Harry最好的朋友)告诉Harry正好有一个魔法道具可以帮助他寻找这样的路线,而那个魔

2015-10-14 11:30:32 388

原创 poj 1094

该题题意明确,就是给定一组字母的大小关系判断他们是否能组成唯一的拓扑序列。是典型的拓扑排序,但输出格式上确有三种形式:   1.该字母序列有序,并依次输出;   2.该序列不能判断是否有序;   3.该序列字母次序之间有矛盾,即有环存在。     而这三种形式的判断是有顺序的:先判断是否有环(3),再判断是否有序(1),最后才能判断是否能得出结果(2)。注意:对于(

2015-10-13 22:13:16 343

原创 ZOJ 1136 Multiply

题目: 给一个数N,N>= 0, N 解析:第一,分析可知,由于它是加的位数,而不是数字,所以,对于数一定要有处理,不可能盲目的追加位数!第二,这m个数,根据题意,可以组成的数字是无穷多的所以,这里需要一个解决的办法,那就是取余。事实上,任何一个数对n取余,一共只能有n个结果(如果算0的话)。而且有这样的一个式子,如果x%n == y%n, 那么x%n * 10 +

2015-10-13 21:10:18 412

原创 UVA 11800 Determine the Shape

题意:给定四个点,判断其形状。形状优先顺序:正方形,矩形,菱形,平行四边形,梯形,普通四边形。题解:一来就被坑了,看太明白题目也是死的货。。题目中告诉我们不存在三点共线,可为毛我是特判了共线输出普通四边形才过的。。我是先用凸包排好顺序,顺便判断是否有三点共线。特判三点共线的情况。然后判断对边平行(用叉积)的条数。条数为2时,判断相邻两边是否成直角(用点积),成直角中相邻边长

2015-10-06 15:11:58 385

原创 UVa 10256 (计算几何基础摸板)

判断由红点和蓝点分别组成的两个凸包是否相离,是输出Yes,否输出No。训练指南上的分析:1.任取红凸包上的一条线段和蓝凸包上的一条线段,判断二者是否相交。如果相交(不一定是规范相交,有公共点就算相交),则无解2.任取一个红点,判断是否在蓝凸包内。如果是,则无解。蓝点红凸包同理。其中任何一个凸包退化成点或者线段时需要特判。其实只需要把上面两个判断顺序颠倒一下,

2015-10-06 14:41:07 447

原创 UVA 10256 The Great Divide

判断由红点和蓝点分别组成的两个凸包是否相离,是输出Yes,否输出No。训练指南上的分析:1.任取红凸包上的一条线段和蓝凸包上的一条线段,判断二者是否相交。如果相交(不一定是规范相交,有公共点就算相交),则无解2.任取一个红点,判断是否在蓝凸包内。如果是,则无解。蓝点红凸包同理。其中任何一个凸包退化成点或者线段时需要特判。其实只需要把上面两个判断顺序颠倒一下,

2015-10-06 14:35:35 623

原创 UVA 11168 - Airport (Andrew算法)

题意:给出平面上n个点,找一条直线,使得所有点在直线的同侧(也可以再直线上),且到直线的距离之和尽可能小,求最小的平均距离思路:要求所有点在直线同侧,因此直线不能穿过凸包。不难发现,选择凸包上的边所在的直线是最优的。关键是求所有点到直线的距离,我们可以枚举每一条凸包上的边,把直线用点斜式表示出来,然后通过一般式求出所有点到直线的总距离。由于所有点在Ax+By+C =

2015-10-06 13:21:34 392

原创 UVA 11796 Dog Distance(二维几何基本模板)

题目大意:甲和乙两条狗分别沿着一条折线跑,它们速度未知,但同时出发并且同时到达终点,并且都是匀速奔跑。求奔跑过程中两只狗的最大距离与最小距离之差。思路:因为运动是相对的,我们可以认为甲静止不动,乙沿着直线走。则问题就转化为点到线段的最小距离。那么,我们对于每段分析,看谁先到达该线段的终点,则该段可以用上面的方法求。把a看成不动的,则有b运动到了cb+vb-v

2015-10-05 16:49:27 452

原创 UVA 11178 Morley's Theorem(二维几何基础)

题意:给定一个三角形,求每个角的三等分线相交形成的三角形的三个坐标题解:直接模板#include #include #include #include #include #include #include #include #include #include using namespace std;#define L(i) i<<1#define R(i) i<<1

2015-10-05 16:09:52 370

原创 UVA 11987 Almost Union-Find(并查集)

题意:初始有N个集合,分别为 1 ,2 ,3 .....n。有三种操件1 p q 合并元素p和q的集合2 p q 把p元素移到q集合中3 p 输出p元素集合的个数及全部元素的和。思路:并查集操作。1、3步比较容易实现,只要建立一个sum[],cnt[],记录每个结点相应值,和并时把值更新到根结点,输出时只要找到根结点输出其值即可。但2操作有点麻烦,并查集没有删除操作。原先以

2015-10-04 16:34:58 348

原创 hdu 4825 Xor Sum

题意:      给你n个数,然后给你m组询问,每组询问给你一个数,输出n个数中与该数亦或的最大的那个数,输出的是被亦或的那个数,不是亦或后的结果。思路:      我用的是字典树+贪心,首先我们可以把前n个数拆成2进制,然后补全前导0,我是补成了34位,然后把他存在字典树中,对于每个询问,把他变成二进制,然后补全前导0,在字典树上查找,查找的时候用贪心的思想,因为前面的是高位,所

2015-10-03 15:13:55 590

原创 hdu 4287 Intelligent IME

题目大意:手机键盘中与数字2相对应的字母有a,b,c;3相对应的字母有d,e,f。给出一些数字串如34,和一些小写字母串。求小写字母对应的数字串出现的次数。字符串abc对应的数字串是111,dh对应的数字串是34。则小写字符串中111出现一次,34出现一次。题解:可以直接字典树,或者暴力做,毕竟数据比较弱。。。一开始理解错题意,便把数字按照所有转化一遍,再去用字典树,结果超时。。。直接将数

2015-10-03 14:10:22 571

原创 hdu 2846 Repository

题目属于判断字符串中是否包含子串的问题.思路:对于一般的字典树,用来判断前缀,而这里不能直接这么去建树。在建树的时候将字符串X=X1X2....Xn的分别以X1,X2....Xn开头的后缀子串插入到Trie树中,如此一来就可以判断某个字符串是否被包含在另一个字符串当中。当然,这里还有个问题,比如插入了字符串abab,那么当查找字符串ab时就会重复计数,因此需要多设计一个标识以表示在插入"aba

2015-10-03 12:36:35 477

原创 hdu 3336 Count the string(★)

题意:给一个字符串,输出包括从1到len长 字符串前缀的总个数题解:设dp【i】:以string[i]结尾的子串总共含前缀的数量所以dp[j]=dp[i]+1,即以i结尾的子串中含前缀的数量加上前j个字符这一前缀#include #include #include #include #include #include using namespace st

2015-10-02 16:28:27 382

原创 hdu 2203 亲和串

题意:给定两个字符串s1和s2,如果能通过s1循环移位,使s2包含在s1中,那么我们就说s2 是s1的亲和串。题解:把第一个字符串扩展为2倍,然后kmp#include #include #include #include #include #include using namespace std;const int maxn = 100005;char s[2*maxn]

2015-10-02 14:04:57 415

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除