<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Airarts_的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Airarts_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Airarts_]]></copyright><item><title><![CDATA[IP/TCP/UDP中Checksum的计算]]></title><link>https://blog.youkuaiyun.com/Airarts_/article/details/49496579</link><guid>https://blog.youkuaiyun.com/Airarts_/article/details/49496579</guid><author>Airarts_</author><pubDate>Thu, 29 Oct 2015 20:39:03 +0800</pubDate><description><![CDATA[IP Header Checksum　　IP Header Checksum顾名思义，只计算IP头部字段的校验和，参照《计算机网络——自顶向下方法：第四版》中的说法，IP Header Checksum的计算方法——通过IP Header生成Checksum——为：
  
  计算前把Checksum字段置0；
  将IP Header中每两个连续的字节当成一个16bit数，对所有的16bit数进行]]></description><category></category></item><item><title><![CDATA[RMQ-ST]]></title><link>https://blog.youkuaiyun.com/Airarts_/article/details/38640803</link><guid>https://blog.youkuaiyun.com/Airarts_/article/details/38640803</guid><author>Airarts_</author><pubDate>Sun, 17 Aug 2014 17:58:17 +0800</pubDate><description><![CDATA[http://acm.hdu.edu.cn/showproblem.php?pid=3183


给定大小为N的一串（0-9）的数字，选择N-M个数字（）]]></description><category></category></item><item><title><![CDATA[RMQ-<N,sqrt(N)>]]></title><link>https://blog.youkuaiyun.com/Airarts_/article/details/38639111</link><guid>https://blog.youkuaiyun.com/Airarts_/article/details/38639111</guid><author>Airarts_</author><pubDate>Sun, 17 Aug 2014 14:57:26 +0800</pubDate><description><![CDATA[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))

]]></description><category></category></item><item><title><![CDATA[AC自动机代码]]></title><link>https://blog.youkuaiyun.com/Airarts_/article/details/38052011</link><guid>https://blog.youkuaiyun.com/Airarts_/article/details/38052011</guid><author>Airarts_</author><pubDate>Tue, 22 Jul 2014 22:16:06 +0800</pubDate><description><![CDATA[HDU
 2222 Keywords Search]]></description><category></category></item><item><title><![CDATA[继续前行！]]></title><link>https://blog.youkuaiyun.com/Airarts_/article/details/23116795</link><guid>https://blog.youkuaiyun.com/Airarts_/article/details/23116795</guid><author>Airarts_</author><pubDate>Mon, 07 Apr 2014 16:58:31 +0800</pubDate><description><![CDATA[！]]></description><category></category></item><item><title><![CDATA[APUE学习之-源码编译问题]]></title><link>https://blog.youkuaiyun.com/Airarts_/article/details/9392275</link><guid>https://blog.youkuaiyun.com/Airarts_/article/details/9392275</guid><author>Airarts_</author><pubDate>Sat, 20 Jul 2013 17:29:00 +0800</pubDate><description><![CDATA[APUE源码过程中的问题以及解决方法，搜藏过来。


1.apue.h错误的解决方法
http://www.cnblogs.com/feiling/archive/2012/02/15/2353286.html


2.make过程中: /usr/include/bits/timex.h:31:7 错误
http://blog.youkuaiyun.com/ce_endless/article]]></description><category></category></item><item><title><![CDATA[DancingLinks[HUST_1017]]]></title><link>https://blog.youkuaiyun.com/Airarts_/article/details/8641653</link><guid>https://blog.youkuaiyun.com/Airarts_/article/details/8641653</guid><author>Airarts_</author><pubDate>Wed, 06 Mar 2013 12:11:14 +0800</pubDate><description><![CDATA[因为输出少了个\n WA了半天。 而且以下两种写法效率不一样。  有待研究
DancingLinks用于优化搜索，核心在于resume操作，可以快速恢复被删除的结点
1. 1468ms 
/*http://acm.hust.edu.cn/problem.php?id=1017*/
/*DLX*/
#include
#include
#include
#include
using]]></description><category></category></item><item><title><![CDATA[Splay解决区间问题[区间切割，区间翻转]]]></title><link>https://blog.youkuaiyun.com/Airarts_/article/details/8566232</link><guid>https://blog.youkuaiyun.com/Airarts_/article/details/8566232</guid><author>Airarts_</author><pubDate>Sat, 02 Feb 2013 23:44:23 +0800</pubDate><description><![CDATA[区间翻转：由于以root为根的树的中序遍历表示该区间，那么翻转只要递归的交换左右子树即可，加入lazy思想，降低时间复杂度。
Tips：做区间翻转的时候rev[rt]的含义是——以rt为根的子树所表示的区间是否将要被翻转，目前并没有执行翻转操作，如果改成先翻转，再标记，就会出现大问题。
Code：没用的push_down写多了。
/*http://acm.hdu.edu.cn/showpro]]></description><category></category></item><item><title><![CDATA[Splay解决区间问题[区间更新,区间求和]]]></title><link>https://blog.youkuaiyun.com/Airarts_/article/details/8561323</link><guid>https://blog.youkuaiyun.com/Airarts_/article/details/8561323</guid><author>Airarts_</author><pubDate>Thu, 31 Jan 2013 22:50:29 +0800</pubDate><description><![CDATA[/*http://poj.org/problem?id=3468*/
/*区间更新，区间求和*/
/*注意各种编码细节，特别是splay buildTree和 rotateTo*/
/*仔细体会与线段树解决区间问题的不同点，如结点记录的信息是不同的*/
/*lazy思想*/
#include
#include
#include
using namespace std;
const int MAXN]]></description><category></category></item><item><title><![CDATA[Splay解决区间问题[单点更新，区间最值询问]]]></title><link>https://blog.youkuaiyun.com/Airarts_/article/details/8561066</link><guid>https://blog.youkuaiyun.com/Airarts_/article/details/8561066</guid><author>Airarts_</author><pubDate>Thu, 31 Jan 2013 21:20:54 +0800</pubDate><description><![CDATA[/*http://acm.hdu.edu.cn/showproblem.php?pid=1754*/
/*单点更新，区间询问 splay实现*/
/*注意写rotateTo的时候。。*/
#include
#include
#include
#include
using namespace std;
const int MAXN = 222222;
class SplayTree{
    #de]]></description><category></category></item><item><title><![CDATA[SplayTree实现_简化版]]></title><link>https://blog.youkuaiyun.com/Airarts_/article/details/8560755</link><guid>https://blog.youkuaiyun.com/Airarts_/article/details/8560755</guid><author>Airarts_</author><pubDate>Thu, 31 Jan 2013 18:54:32 +0800</pubDate><description><![CDATA[（1）
template
class SplayTree{
#define MAXN 1000010
private:
    int ch[MAXN][2],pre[MAXN],pool[MAXN];
    DataType key[MAXN];
    int top,root,tot;
    int malloc(DataType dt){
        int x;]]></description><category></category></item><item><title><![CDATA[SplayTree实现]]></title><link>https://blog.youkuaiyun.com/Airarts_/article/details/8558060</link><guid>https://blog.youkuaiyun.com/Airarts_/article/details/8558060</guid><author>Airarts_</author><pubDate>Wed, 30 Jan 2013 23:41:49 +0800</pubDate><description><![CDATA[template
class SplayTree{
#define null 0
private:
    int MAXSIZE;
    int *l,*r,*p,*pool,*depth;
    int top,root,tot;
    DataType *key;
    int malloc(DataType k){
        int  node;
        if(top]]></description><category></category></item><item><title><![CDATA[Codeforces #163 Div2 E]]></title><link>https://blog.youkuaiyun.com/Airarts_/article/details/8546414</link><guid>https://blog.youkuaiyun.com/Airarts_/article/details/8546414</guid><author>Airarts_</author><pubDate>Sun, 27 Jan 2013 15:09:01 +0800</pubDate><description><![CDATA[传送门：http://codeforces.com/contest/266/problem/E





代码：
#include
#include
#include
using 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]]></description><category></category></item><item><title><![CDATA[关于sigma（被我写成了segma）]]></title><link>https://blog.youkuaiyun.com/Airarts_/article/details/7697969</link><guid>https://blog.youkuaiyun.com/Airarts_/article/details/7697969</guid><author>Airarts_</author><pubDate>Thu, 28 Jun 2012 00:48:14 +0800</pubDate><description><![CDATA[本博客之前所有的求和符号都写成了segma。。。。。。。。。。


英语巨烂的弱菜表示错的深刻。。


所以如果有人看到segma什么的，就自动转型成sigma吧。。。


求和==sigma]]></description><category></category></item><item><title><![CDATA[[KMP-next数组特性]HDU 2594 Simpsons’ Hidden Talents]]></title><link>https://blog.youkuaiyun.com/Airarts_/article/details/7696989</link><guid>https://blog.youkuaiyun.com/Airarts_/article/details/7696989</guid><author>Airarts_</author><pubDate>Wed, 27 Jun 2012 17:37:16 +0800</pubDate><description><![CDATA[如果不了解next数组前缀后缀特性的请看我以前写的一道题：http://blog.youkuaiyun.com/airarts_/article/details/7686441
传送门：http://acm.hdu.edu.cn/showproblem.php?pid=2594
题目大意：给定字符串s1,s2要求出s1的最长前缀，同时还是s2的最长后缀，输出该字符串和其长度.
解题思路：利用前缀后缀特性]]></description><category></category></item><item><title><![CDATA[[KMP-循环节问题]HDU 1358 period]]></title><link>https://blog.youkuaiyun.com/Airarts_/article/details/7696855</link><guid>https://blog.youkuaiyun.com/Airarts_/article/details/7696855</guid><author>Airarts_</author><pubDate>Wed, 27 Jun 2012 17:13:08 +0800</pubDate><description><![CDATA[传送门：http://acm.hdu.edu.cn/showproblem.php?pid=1358
题目大意：给定一个字符串，求出所有循环的前缀串，输出前缀串的长度和循环的次数（大于一才算循环串）
思路：同上一道题一样，也是求循环节，这里，枚举长度为2-N的所有前缀串（next数组可以一次预处理求出），求出其最小循环节，判断前缀串长度是否可以整除循环节长度整除，并且前缀串长度不等于循环节长度]]></description><category></category></item><item><title><![CDATA[[KMP-求循环节]HDU 3746 Cyclic Nacklace]]></title><link>https://blog.youkuaiyun.com/Airarts_/article/details/7696765</link><guid>https://blog.youkuaiyun.com/Airarts_/article/details/7696765</guid><author>Airarts_</author><pubDate>Wed, 27 Jun 2012 16:53:29 +0800</pubDate><description><![CDATA[传送门：http://acm.hdu.edu.cn/showproblem.php?pid=3746
题目大意：给定一个字符串，求出最少在末尾添加几个字符使得字符串成为循环串。
解题思路：先求出最小循环节，如果最小循环节长度等于字符串长度，则添加的字符数为字符串的长度，否则用字符串的长度模循环节的长度，如果为0，说明已经是循环串，如果非0，说明还要添加字符串长度减去该值个字符.
代码：
#]]></description><category></category></item><item><title><![CDATA[[KMP-NEXT数组特性]HDU 3336 Count the string]]></title><link>https://blog.youkuaiyun.com/Airarts_/article/details/7695563</link><guid>https://blog.youkuaiyun.com/Airarts_/article/details/7695563</guid><author>Airarts_</author><pubDate>Wed, 27 Jun 2012 11:39:32 +0800</pubDate><description><![CDATA[传送门：http://acm.hdu.edu.cn/showproblem.php?pid=3336
题目大意：给定一个字符串（1-200000），求出其所有前缀在自身中匹配成功的次数之和（模10007）
解题思路：利用next数组的特性，next[pos]在主串指针在pos位置失配时，子串指针应该调整到next[pos]与pos进行比较，这意味着0-(next[pos]-1)的字符串应该和(]]></description><category></category></item><item><title><![CDATA[[割点问题]HOJ 12307 Disconnected Pair]]></title><link>https://blog.youkuaiyun.com/Airarts_/article/details/7687904</link><guid>https://blog.youkuaiyun.com/Airarts_/article/details/7687904</guid><author>Airarts_</author><pubDate>Sun, 24 Jun 2012 18:43:33 +0800</pubDate><description><![CDATA[传送门：http://acm.hnu.cn/online/?action=problem&type=show&id=12307
题目大意：给定一个联通图，求出能有多少种不同的方式去除两个不同的点使得原图变的不联通。
关于解题：这道是上次校赛的一道题，比赛当时没仔细想，也没仔细看数据，压根就没想枚举割点，后来听解题报告的时候恍然大悟，这道题可以先用tarjan求一次割点，然后对于此次求出的割点，]]></description><category></category></item><item><title><![CDATA[[KMP或者暴力]POJ 3450 Corporate Identity]]></title><link>https://blog.youkuaiyun.com/Airarts_/article/details/7687510</link><guid>https://blog.youkuaiyun.com/Airarts_/article/details/7687510</guid><author>Airarts_</author><pubDate>Sun, 24 Jun 2012 14:10:53 +0800</pubDate><description><![CDATA[传送门：http://poj.org/problem?id=3450
题目大意：前面那道题类似，求多个字符串的最长且字典序最小的公共子串，还是枚举子串，然后拿去和剩余主串匹配，保存最优解。
代码：
#include
#include
#include
using namespace std;
const int MAXN = 222,MAXM = 4444;
char s[MAXM][MAX]]></description><category></category></item></channel></rss>