自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 资源 (3)
  • 收藏
  • 关注

原创 IP/TCP/UDP中Checksum的计算

IP Header Checksum  IP Header Checksum顾名思义,只计算IP头部字段的校验和,参照《计算机网络——自顶向下方法:第四版》中的说法,IP Header Checksum的计算方法——通过IP Header生成Checksum——为: 计算前把Checksum字段置0; 将IP Header中每两个连续的字节当成一个16bit数,对所有的16bit数进行

2015-10-29 20:39:03 5123

原创 RMQ-ST

http://acm.hdu.edu.cn/showproblem.php?pid=3183给定大小为N的一串(0-9)的数字,选择N-M个数字()

2014-08-17 17:58:17 773

原创 RMQ-<N,sqrt(N)>

http://acm.hdu.edu.cn/showproblem.php?pid=1754#include #include #include #include #define MAX(x,y) ((x)>(y)?(x):(y))//RMQ问题的算法//空间复杂度比线段树小一点,也可以解决动态RMQ问题//查询修改的时间复杂度比线段树高,都是O(sqrt(N))

2014-08-17 14:57:26 644

原创 AC自动机代码

HDU 2222 Keywords Search

2014-07-22 22:16:06 658

原创 继续前行!

2014-04-07 16:58:31 720

原创 APUE学习之-源码编译问题

APUE源码过程中的问题以及解决方法,搜藏过来。1.apue.h错误的解决方法http://www.cnblogs.com/feiling/archive/2012/02/15/2353286.html2.make过程中: /usr/include/bits/timex.h:31:7 错误http://blog.csdn.net/ce_endless/article

2013-07-20 17:29:00 679

原创 DancingLinks[HUST_1017]

因为输出少了个\n WA了半天。 而且以下两种写法效率不一样。  有待研究DancingLinks用于优化搜索,核心在于resume操作,可以快速恢复被删除的结点1. 1468ms /*http://acm.hust.edu.cn/problem.php?id=1017*//*DLX*/#include#include#include#includeusing

2013-03-06 12:11:14 765

原创 Splay解决区间问题[区间切割,区间翻转]

区间翻转:由于以root为根的树的中序遍历表示该区间,那么翻转只要递归的交换左右子树即可,加入lazy思想,降低时间复杂度。Tips:做区间翻转的时候rev[rt]的含义是——以rt为根的子树所表示的区间是否将要被翻转,目前并没有执行翻转操作,如果改成先翻转,再标记,就会出现大问题。Code:没用的push_down写多了。/*http://acm.hdu.edu.cn/showpro

2013-02-02 23:44:23 1014

原创 Splay解决区间问题[区间更新,区间求和]

/*http://poj.org/problem?id=3468*//*区间更新,区间求和*//*注意各种编码细节,特别是splay buildTree和 rotateTo*//*仔细体会与线段树解决区间问题的不同点,如结点记录的信息是不同的*//*lazy思想*/#include#include#includeusing namespace std;const int MAXN

2013-01-31 22:50:29 952

原创 Splay解决区间问题[单点更新,区间最值询问]

/*http://acm.hdu.edu.cn/showproblem.php?pid=1754*//*单点更新,区间询问 splay实现*//*注意写rotateTo的时候。。*/#include#include#include#includeusing namespace std;const int MAXN = 222222;class SplayTree{ #de

2013-01-31 21:20:54 932

原创 SplayTree实现_简化版

(1)templateclass SplayTree{#define MAXN 1000010private: int ch[MAXN][2],pre[MAXN],pool[MAXN]; DataType key[MAXN]; int top,root,tot; int malloc(DataType dt){ int x;

2013-01-31 18:54:32 451

原创 SplayTree实现

templateclass SplayTree{#define null 0private: int MAXSIZE; int *l,*r,*p,*pool,*depth; int top,root,tot; DataType *key; int malloc(DataType k){ int node; if(top

2013-01-30 23:41:49 455

原创 Codeforces #163 Div2 E

传送门:http://codeforces.com/contest/266/problem/E代码:#include#include#includeusing namespace std;#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1#define mid(x,y) (x+y)>>1#define mod

2013-01-27 15:09:01 534

原创 关于sigma(被我写成了segma)

本博客之前所有的求和符号都写成了segma。。。。。。。。。。英语巨烂的弱菜表示错的深刻。。所以如果有人看到segma什么的,就自动转型成sigma吧。。。求和==sigma

2012-06-28 00:48:14 1093

原创 [KMP-next数组特性]HDU 2594 Simpsons’ Hidden Talents

如果不了解next数组前缀后缀特性的请看我以前写的一道题:http://blog.csdn.net/airarts_/article/details/7686441传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2594题目大意:给定字符串s1,s2要求出s1的最长前缀,同时还是s2的最长后缀,输出该字符串和其长度.解题思路:利用前缀后缀特性

2012-06-27 17:37:16 732

原创 [KMP-循环节问题]HDU 1358 period

传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1358题目大意:给定一个字符串,求出所有循环的前缀串,输出前缀串的长度和循环的次数(大于一才算循环串)思路:同上一道题一样,也是求循环节,这里,枚举长度为2-N的所有前缀串(next数组可以一次预处理求出),求出其最小循环节,判断前缀串长度是否可以整除循环节长度整除,并且前缀串长度不等于循环节长度

2012-06-27 17:13:08 679

原创 [KMP-求循环节]HDU 3746 Cyclic Nacklace

传送门:http://acm.hdu.edu.cn/showproblem.php?pid=3746题目大意:给定一个字符串,求出最少在末尾添加几个字符使得字符串成为循环串。解题思路:先求出最小循环节,如果最小循环节长度等于字符串长度,则添加的字符数为字符串的长度,否则用字符串的长度模循环节的长度,如果为0,说明已经是循环串,如果非0,说明还要添加字符串长度减去该值个字符.代码:#

2012-06-27 16:53:29 690

原创 [KMP-NEXT数组特性]HDU 3336 Count the string

传送门:http://acm.hdu.edu.cn/showproblem.php?pid=3336题目大意:给定一个字符串(1-200000),求出其所有前缀在自身中匹配成功的次数之和(模10007)解题思路:利用next数组的特性,next[pos]在主串指针在pos位置失配时,子串指针应该调整到next[pos]与pos进行比较,这意味着0-(next[pos]-1)的字符串应该和(

2012-06-27 11:39:32 569

原创 [割点问题]HOJ 12307 Disconnected Pair

传送门:http://acm.hnu.cn/online/?action=problem&type=show&id=12307题目大意:给定一个联通图,求出能有多少种不同的方式去除两个不同的点使得原图变的不联通。关于解题:这道是上次校赛的一道题,比赛当时没仔细想,也没仔细看数据,压根就没想枚举割点,后来听解题报告的时候恍然大悟,这道题可以先用tarjan求一次割点,然后对于此次求出的割点,

2012-06-24 18:43:33 837

原创 [KMP或者暴力]POJ 3450 Corporate Identity

传送门:http://poj.org/problem?id=3450题目大意:前面那道题类似,求多个字符串的最长且字典序最小的公共子串,还是枚举子串,然后拿去和剩余主串匹配,保存最优解。代码:#include#include#includeusing namespace std;const int MAXN = 222,MAXM = 4444;char s[MAXM][MAX

2012-06-24 14:10:53 777

原创 [树状数组]HOJ 10069 星星的等级

传送门:http://acm.hnu.cn/online/?action=problem&type=show&id=10069&courseid=0题目描述:给定若干个二维平面上 的点,如果a.x=b.y则说a的等级比b高(如果a==b,则他们等级相同),要求对于每个点,输出比他等级高的点的总数。解题思路:把星星按照y的递减序和x的递增序排序,然后对x轴建立树状数组,依次将每个星星插入树状

2012-06-23 23:39:49 1113

原创 [KMP或者暴力]POJ 3080 Blue Jeans

传送门:http://poj.org/problem?id=3080题目大意:给定M个字符串(2思路:枚举某一个字符串的所有子串,拿去和剩余的所有字符串匹配,保存长度最大且字典序最小的即可,无所谓用KMP,暴力就行了,算法的主要时间花在枚举子串上面,这里为了练习KMP还是写了个KMP的匹配.代码:#include#include#includeusing namesp

2012-06-23 21:58:54 1257

原创 [KMP-NEXT数组性质]POJ 2752 Seek the Name, Seek the Fame

传送门:http://poj.org/problem?id=2752题目描述:要求求出字符串S所有满足如下条件的子串长度(1.子串T为S的前缀 2.子串T为S的后缀)。解题思路:利用KMP的NEXT数组的特性,Next[pos]的含义是在pos处失配时pos应该指向的下一个位置,那么0-(Next[pos]-1)构成的字符串和(pos-Next[pos])-(pos-1)构成的字符串是相同

2012-06-23 18:12:02 1067

原创 [KMP求模式在主串出现次数]POJ 3461 Oulipo

传送门:http://poj.org/problem?id=3461题目大意:给定一个主串和一个模式,求模式在主串中出现的次数。解题思路:直接修改标准KMP函数,当匹配成功是不是跳出循环,而是直接按最后一个字符失配的情况去滑动模式串,以获取下一个可能出现的匹配。代码:#include#include#includeusing namespace std;const in

2012-06-23 17:14:55 716

原创 [KMP求最小周期]POJ 2406 Power Strings

传送门:http://poj.org/problem?id=2406题意:给定一个字符串,让你求出他最多由几个相同的连续子串连接而成。思路:求出这个字符串的最小周期,然后用总长度/最小周期长度即是解。关于如何求最小周期:这里YY了一个方法,就是把该字符串增长一倍,然后拿原来的字符串做模式,增长后的字符串做主串,用KMP求模式在主串第1个位置(下标为0,包含第一个位置)之后的第一个匹配位

2012-06-23 13:01:58 724

原创 [KMP模板题]HDU-1711 Number Sequence

传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1711题意:裸的模式匹配问题,N值较大,必须使用线性算法,考虑上KMP。关于KMP: 好久之前就看过KMP不过一直没搞懂,最近要搞下字符串,所以先拿它开刀,翻看了严蔚敏老师的数据结构,研究了许久,算是对KMP略知一二了吧,其KMP主算法还是比较好理解来的(不回溯主串匹配指针,当失配时,利用已经

2012-06-22 23:17:16 739

原创 [线段树]LightOJ 1093 - Ghajini

1093 - GhajiniPDF (English)StatisticsForumTime Limit: 1 second(s)Memory Limit: 32 MBAmir is having a short term memory problem. He can't remember anythi

2012-06-22 10:41:59 1097

原创 [线段树+离散化]LightOJ 1089 - Points in Segments (II)

题目描述:Given n segments (1 dimensional) and q points, for each point you have to find the number of segments which contain that point. A point pi will lie in a segmentA B if A ≤ pi ≤ B.For example

2012-06-22 10:38:04 1446

原创 [线段树|平衡树|树状数组]LightOJ - 1087 - Diablo

1087 - DiabloPDF (English)StatisticsForumTime Limit: 2 second(s)Memory Limit: 64 MBAll of you must have played the game 'Diablo'. It's an exclusive game

2012-06-21 00:57:49 1834

转载 在Adobe Reader里添加书签功能

转载自:http://hi.baidu.com/%C4%CE%CF%A3nice/blog/item/d24c1202d20dc0e509fa934e.htmlPDF文件的官方阅读程序“Adobe Acrobat Reader”不支持自定义“书签”功能,就造成当阅读长篇幅文档时,根本无法通过添加多个书签的办法来实现快速定位。发扬DIY的精神,为Acrobat Reader制造出书签功能吧!

2012-06-20 09:30:59 1644

转载 MSDN 下载

转载自:http://hi.baidu.com/horse789/blog/item/2413d222f3ba604093580721.htmlMSDN for VC6.0 简体中文版下载2010-09-07 15:07MSDN CD1:ed2k://|file|%5BMicrosoft.Visual.Studio6.

2012-06-20 00:24:03 1188

原创 [搜索]USACO-1.5-Prime Palindromes

Prime PalindromesThe number 151 is a prime palindrome because it is both a prime number and a palindrome (it is the same number when read forward as backward). Write a program that finds all prime

2012-06-19 21:38:44 620

原创 [搜索]USACO-1.4-Packing Rectangles

Packing RectanglesIOI 95 The six basic layouts of four rectanglesFour rectangles are given. Find the smallest enclosing (new) rectangle into which these four may be fitted without overlapping.

2012-06-19 01:12:00 746

原创 大数模板

该模板来自于吉林大学ACM模板库#includeusing namespace std;const int base = 10000;const int width = 4;const int N = 1000;struct bint{ int ln,v[N]; bint(int r=0){ for(ln = 0;r>0;r/=base)v[l

2012-06-13 12:08:17 461

原创 关于代码、

昨天去图书馆借了一本C++代码风格的书,稍微浏览了一下,上面讲了很多写代码的基本原则。于是,拿自己现在写的代码和以前写的代码比较了一下下,发现以前的是非常非常猥琐,现在的是非常猥琐。嗯,说明还是有进步的,本人还能救。

2012-06-12 10:20:07 471

原创 [BST-SBT]POJ_3481_double queue

题意:裸的平衡树题平衡树功能:插入,删除最大,删除最小挂一个SBT模板吧,明天就校赛了,所以重写了一下SBT,把原来的删除操作改了下:#include#includeusing namespace std;const int MAXN = 1111111,INF = 10000001;struct Key{ int k,p; Key(){} Key(in

2012-05-27 00:38:56 647

原创 偶尔的YY(1)

其实,认识瑞瑞还是一件很值得高兴的事情,今天又和瑞瑞一起讨论了一些关于竞赛的事情。我们都发现自己最近一直学习各种经典算法,使得思维僵化了很多,一看到题就拿各种模板往上面套,完全没有了YY的能力,导致各种悲剧。看来还是把刷专题的事情放一放吧,这样也并不好,去做一些杂题,多做做CF,TC的题,争取DIV2能够秒杀前几道题。最大的毛病还是学了忘,忘了又重新学,很不爽,

2012-05-25 01:47:59 666

原创 [第2短路变形]LightOJ 1099 - Not the Best

1099 - Not the BestPDF (English)StatisticsForumTime Limit: 2 second(s)Memory Limit: 32 MBRobin has moved to a small village and sometimes enjoys returni

2012-05-25 01:37:17 1287

原创 [第K短路]POJ_2449_Remmarguts' Date

这里的第K短路的定义是:1.如果起点终点相同,那么0并不是最短路,而是要出去一圈回来之后才是最短路,那么第K短路也是一样。2.每个顶点和每条边都可以使用多次。(可以存在环和来回走) 然后求K短路使用A*算法,其估价函数f(n) = g(n)+h(n),h(n)是终点到结点n的最短路径,g(n)是起点到结点n的实际代价, 这样选择显然能满足A*估价函数的要求,g(n)>=g'(n),

2012-05-25 01:32:00 1098

转载 如何在CSDN博客添加友情链接

原文:http://blog.csdn.net/dbkmeteor/article/details/6794156以前的CSDN博客系统在空间里面可以添加链接的模块,但是现在这个模块被取消了 ,那么我们就不能收藏和推荐好的网站和博客了么?NO,上有政策,咱们下有对策。经过研究,我发现可以这样来添加友情链接。首先,进入博客设置,找到博客栏目。在里面新建一个栏目,名字随便,我这叫B

2012-05-24 12:29:40 463

算法艺术与信息学竞赛

经典算法竞赛书籍,适合广大算法学习者,算法竞赛者。

2012-02-28

算法艺术与信息学竞赛学习指导(下)

一本比较好的算法学习书籍,适合广大算法学习者。

2012-02-28

《算法艺术与信息学竞赛》学习指导(上)

刘汝佳神作,适合广大算法学习者和算法竞赛者。

2012-02-28

空空如也

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

TA关注的人

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