- 博客(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
5485
原创 RMQ-ST
http://acm.hdu.edu.cn/showproblem.php?pid=3183给定大小为N的一串(0-9)的数字,选择N-M个数字()
2014-08-17 17:58:17
807
原创 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
679
原创 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
692
原创 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
783
原创 Splay解决区间问题[区间切割,区间翻转]
区间翻转:由于以root为根的树的中序遍历表示该区间,那么翻转只要递归的交换左右子树即可,加入lazy思想,降低时间复杂度。Tips:做区间翻转的时候rev[rt]的含义是——以rt为根的子树所表示的区间是否将要被翻转,目前并没有执行翻转操作,如果改成先翻转,再标记,就会出现大问题。Code:没用的push_down写多了。/*http://acm.hdu.edu.cn/showpro
2013-02-02 23:44:23
1037
原创 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
984
原创 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
969
原创 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
468
原创 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
471
原创 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
561
原创 关于sigma(被我写成了segma)
本博客之前所有的求和符号都写成了segma。。。。。。。。。。英语巨烂的弱菜表示错的深刻。。所以如果有人看到segma什么的,就自动转型成sigma吧。。。求和==sigma
2012-06-28 00:48:14
1116
原创 [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
755
原创 [KMP-循环节问题]HDU 1358 period
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1358题目大意:给定一个字符串,求出所有循环的前缀串,输出前缀串的长度和循环的次数(大于一才算循环串)思路:同上一道题一样,也是求循环节,这里,枚举长度为2-N的所有前缀串(next数组可以一次预处理求出),求出其最小循环节,判断前缀串长度是否可以整除循环节长度整除,并且前缀串长度不等于循环节长度
2012-06-27 17:13:08
696
原创 [KMP-求循环节]HDU 3746 Cyclic Nacklace
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=3746题目大意:给定一个字符串,求出最少在末尾添加几个字符使得字符串成为循环串。解题思路:先求出最小循环节,如果最小循环节长度等于字符串长度,则添加的字符数为字符串的长度,否则用字符串的长度模循环节的长度,如果为0,说明已经是循环串,如果非0,说明还要添加字符串长度减去该值个字符.代码:#
2012-06-27 16:53:29
707
原创 [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
588
原创 [割点问题]HOJ 12307 Disconnected Pair
传送门:http://acm.hnu.cn/online/?action=problem&type=show&id=12307题目大意:给定一个联通图,求出能有多少种不同的方式去除两个不同的点使得原图变的不联通。关于解题:这道是上次校赛的一道题,比赛当时没仔细想,也没仔细看数据,压根就没想枚举割点,后来听解题报告的时候恍然大悟,这道题可以先用tarjan求一次割点,然后对于此次求出的割点,
2012-06-24 18:43:33
858
原创 [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
813
原创 [树状数组]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
1131
原创 [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
1293
原创 [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
1120
原创 [KMP求模式在主串出现次数]POJ 3461 Oulipo
传送门:http://poj.org/problem?id=3461题目大意:给定一个主串和一个模式,求模式在主串中出现的次数。解题思路:直接修改标准KMP函数,当匹配成功是不是跳出循环,而是直接按最后一个字符失配的情况去滑动模式串,以获取下一个可能出现的匹配。代码:#include#include#includeusing namespace std;const in
2012-06-23 17:14:55
731
原创 [KMP求最小周期]POJ 2406 Power Strings
传送门:http://poj.org/problem?id=2406题意:给定一个字符串,让你求出他最多由几个相同的连续子串连接而成。思路:求出这个字符串的最小周期,然后用总长度/最小周期长度即是解。关于如何求最小周期:这里YY了一个方法,就是把该字符串增长一倍,然后拿原来的字符串做模式,增长后的字符串做主串,用KMP求模式在主串第1个位置(下标为0,包含第一个位置)之后的第一个匹配位
2012-06-23 13:01:58
742
原创 [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
754
原创 [线段树]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
1132
原创 [线段树+离散化]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
1487
原创 [线段树|平衡树|树状数组]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
1857
转载 在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
1677
转载 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
1219
原创 [搜索]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
635
原创 [搜索]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
784
原创 大数模板
该模板来自于吉林大学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
478
原创 关于代码、
昨天去图书馆借了一本C++代码风格的书,稍微浏览了一下,上面讲了很多写代码的基本原则。于是,拿自己现在写的代码和以前写的代码比较了一下下,发现以前的是非常非常猥琐,现在的是非常猥琐。嗯,说明还是有进步的,本人还能救。
2012-06-12 10:20:07
488
原创 [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
664
原创 偶尔的YY(1)
其实,认识瑞瑞还是一件很值得高兴的事情,今天又和瑞瑞一起讨论了一些关于竞赛的事情。我们都发现自己最近一直学习各种经典算法,使得思维僵化了很多,一看到题就拿各种模板往上面套,完全没有了YY的能力,导致各种悲剧。看来还是把刷专题的事情放一放吧,这样也并不好,去做一些杂题,多做做CF,TC的题,争取DIV2能够秒杀前几道题。最大的毛病还是学了忘,忘了又重新学,很不爽,
2012-05-25 01:47:59
682
原创 [第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
1328
原创 [第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
1118
转载 如何在CSDN博客添加友情链接
原文:http://blog.csdn.net/dbkmeteor/article/details/6794156以前的CSDN博客系统在空间里面可以添加链接的模块,但是现在这个模块被取消了 ,那么我们就不能收藏和推荐好的网站和博客了么?NO,上有政策,咱们下有对策。经过研究,我发现可以这样来添加友情链接。首先,进入博客设置,找到博客栏目。在里面新建一个栏目,名字随便,我这叫B
2012-05-24 12:29:40
477
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人