<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Xhacker&#039;s Base &#187; OI</title>
	<atom:link href="http://xhacker.shiyiquan.cn/tag/oi/feed/" rel="self" type="application/rss+xml" />
	<link>http://xhacker.shiyiquan.cn</link>
	<description>Since June, 2009.</description>
	<lastBuildDate>Thu, 05 Jan 2012 13:43:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>NOIP again</title>
		<link>http://xhacker.shiyiquan.cn/noip-again-2/</link>
		<comments>http://xhacker.shiyiquan.cn/noip-again-2/#comments</comments>
		<pubDate>Sun, 13 Nov 2011 14:15:32 +0000</pubDate>
		<dc:creator>Xhacker</dc:creator>
				<category><![CDATA[人生路漫竞赛相伴]]></category>
		<category><![CDATA[NOIP]]></category>
		<category><![CDATA[OI]]></category>

		<guid isPermaLink="false">http://xhacker.shiyiquan.cn/?p=923</guid>
		<description><![CDATA[又一年。 不同的是……今年没有我了。我试图同步做题来增加一些参与感。09 年结束的晚上，我和李嘉琦走在看台后面的小路上，心里满满的是高兴。10 年，陪着烧碱吃泡面，不知道该说点儿啥来安慰他。而后，又成了我独自在机房，心里不是滋味。 高三的两个人到了需要 RP 的时候，情况似乎和去年有些相同。 「在这里，再祝你们两个好运。好运。好运。」这句话就原样抄来吧。真心祝福你们。 我和 33 的小算盘:)]]></description>
			<content:encoded><![CDATA[<p>又一年。</p>
<p>不同的是……今年没有我了。我试图同步做题来增加一些参与感。09 年结束的晚上，我和李嘉琦走在看台后面的小路上，心里满满的是高兴。10 年，陪着烧碱吃泡面，不知道该说点儿啥来安慰他。而后，又成了我独自在机房，心里不是滋味。</p>
<p>高三的两个人到了需要 RP 的时候，情况似乎和去年有些相同。</p>
<p>「在这里，再祝你们两个好运。好运。好运。」这句话就原样抄来吧。真心祝福你们。</p>
<p>我和 33 的小算盘:)</p>
]]></content:encoded>
			<wfw:commentRss>http://xhacker.shiyiquan.cn/noip-again-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>又一年 NOIP</title>
		<link>http://xhacker.shiyiquan.cn/noip-again/</link>
		<comments>http://xhacker.shiyiquan.cn/noip-again/#comments</comments>
		<pubDate>Sat, 20 Nov 2010 23:51:03 +0000</pubDate>
		<dc:creator>Xhacker</dc:creator>
				<category><![CDATA[乱七八糟]]></category>
		<category><![CDATA[人生路漫竞赛相伴]]></category>
		<category><![CDATA[合金以及植物]]></category>
		<category><![CDATA[心情莫测]]></category>
		<category><![CDATA[脑内活动]]></category>
		<category><![CDATA[高三百味]]></category>
		<category><![CDATA[NOIP]]></category>
		<category><![CDATA[OI]]></category>

		<guid isPermaLink="false">http://xhacker.shiyiquan.cn/?p=735</guid>
		<description><![CDATA[出征 三点多就惊醒，然后小腿肌肉感觉特别不对。就再没睡着。没有任何压力，怎么这么忐忑？ 没有要到大面包，又是一辆一辆出租车过去。十九中学。路上看看我的右边，“今天的太阳怎么跟去年的一模一样…”一个橙色的小橘子。 RP++，送去我最好的祝福。显然觉没睡足，很困。发挥就那么回事，反正我也不求什么。 考前你拍我了一下，我感动了半天… 左边是两个刘子渊。一块儿没给出去的 RP 就给了你。 考完就回来了。又打到一辆不认道儿的出租车，一如既往的慢。又一年 NOIP 就这么结束。 现在都不知道自己是什么感觉。我只知道我今天接到你的电话了。平生第二次。 机房 下午一直无助地在机房不知道该做什么。也许，是到了结束的时候了，可是可能我就是那种所谓的不管加分不加分都会向前走的人，对 OI 充满了真心的爱的人。 甭管北大夏令营遗憾地差了几分，还是 NOI 拿着个夏令营铜牌回来，都没什么好伤心。 我此刻在为你们所有人祈祷，不过权值不太一样。如果我只得 100 多分儿，我会高兴得兔子一样。 悲喜 曹珊的成绩首先到了。210。特别想恭喜你。吃过饭回来，“马老师在上面等你们呢”。我们赶紧上去。“唉，胡颖健”，强哥拍拍他的背。我马上意识到完了。果真。 我的发挥还是那么稳定，该得的分一分没丢，人品真的没给出去？我特别庆幸我不是 280…跟去年太相似会让人有不好的联想。 机房的空气几近凝结，我渐渐无法呼吸。什么话都显得无力了。慢慢地把泡面吞下，陪你回趟班，说些无关痛痒的话。 在此，胡颖健，我要和你说声对不起。你不需要知道原因。 另外放心，两个 210 都能过。 阻隔 晚上。我得知我的认真认真地被一堵叫做认真的墙挡在了外面。大脑有些承受不住，几乎栈溢出。 本来想多睡会儿，可是习惯了。6:30 就突然坐起来。 我的 OI 生涯就这么和另一条线错综复杂地交织在一起了，结束于一道难度为“别碰”的图论题。 时间还在流动。以后会怎样以后就知道了。]]></description>
			<content:encoded><![CDATA[<h2>出征</h2>
<p>三点多就惊醒，然后小腿肌肉感觉特别不对。就再没睡着。没有任何压力，怎么这么忐忑？</p>
<p>没有要到大面包，又是一辆一辆出租车过去。十九中学。路上看看我的右边，“今天的太阳怎么跟去年的一模一样…”一个橙色的小橘子。</p>
<p>RP++，送去我最好的祝福。显然觉没睡足，很困。发挥就那么回事，反正我也不求什么。</p>
<p>考前你拍我了一下，我感动了半天…<br />
左边是两个刘子渊。一块儿没给出去的 RP 就给了你。<br />
考完就回来了。又打到一辆不认道儿的出租车，一如既往的慢。又一年 NOIP 就这么结束。</p>
<p>现在都不知道自己是什么感觉。我只知道我今天接到你的电话了。平生第二次。</p>
<h2>机房</h2>
<p>下午一直无助地在机房不知道该做什么。也许，是到了结束的时候了，可是可能我就是那种所谓的不管加分不加分都会向前走的人，对 OI 充满了真心的爱的人。</p>
<p>甭管北大夏令营遗憾地差了几分，还是 NOI 拿着个夏令营铜牌回来，都没什么好伤心。</p>
<p>我此刻在为你们所有人祈祷，不过权值不太一样。如果我只得 100 多分儿，我会高兴得兔子一样。</p>
<h2>悲喜</h2>
<p>曹珊的成绩首先到了。210。特别想恭喜你。吃过饭回来，“马老师在上面等你们呢”。我们赶紧上去。“唉，胡颖健”，强哥拍拍他的背。我马上意识到完了。果真。<br />
我的发挥还是那么稳定，该得的分一分没丢，人品真的没给出去？我特别庆幸我不是 280…跟去年太相似会让人有不好的联想。</p>
<p>机房的空气几近凝结，我渐渐无法呼吸。什么话都显得无力了。慢慢地把泡面吞下，陪你回趟班，说些无关痛痒的话。</p>
<p>在此，胡颖健，我要和你说声对不起。你不需要知道原因。</p>
<p>另外放心，两个 210 都能过。</p>
<h2>阻隔</h2>
<p>晚上。我得知我的认真认真地被一堵叫做认真的墙挡在了外面。大脑有些承受不住，几乎栈溢出。</p>
<p>本来想多睡会儿，可是习惯了。6:30 就突然坐起来。<br />
我的 OI 生涯就这么和另一条线错综复杂地交织在一起了，结束于一道难度为“别碰”的图论题。<br />
时间还在流动。以后会怎样以后就知道了。</p>
]]></content:encoded>
			<wfw:commentRss>http://xhacker.shiyiquan.cn/noip-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>swap 的速度</title>
		<link>http://xhacker.shiyiquan.cn/swap-speed/</link>
		<comments>http://xhacker.shiyiquan.cn/swap-speed/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 12:01:45 +0000</pubDate>
		<dc:creator>Xhacker</dc:creator>
				<category><![CDATA[太阳不错]]></category>
		<category><![CDATA[OI]]></category>
		<category><![CDATA[swap]]></category>
		<category><![CDATA[编程]]></category>

		<guid isPermaLink="false">http://xhacker.shiyiquan.cn/?p=446</guid>
		<description><![CDATA[今天纠结于 swap 要显式地写出来还是写成函数。写成函数绝对要优美的多。 int main&#40;&#41; &#123; int i; int a = 1, b = 2, tmp; for&#40;i = 1; i &#60;= 100000000; i++&#41; &#123; tmp = a; a = b; b = tmp; &#125; &#160; return 0; &#125; ~~~ 一条分隔线 &#8230; <a href="http://xhacker.shiyiquan.cn/swap-speed/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>今天纠结于 swap 要显式地写出来还是写成函数。写成函数绝对要优美的多。</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">int</span> main<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">int</span> i<span style="color: #339933;">;</span>
    <span style="color: #993333;">int</span> a <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> b <span style="color: #339933;">=</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> tmp<span style="color: #339933;">;</span>
    <span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span>i <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;=</span> <span style="color: #0000dd;">100000000</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        tmp <span style="color: #339933;">=</span> a<span style="color: #339933;">;</span>
        a <span style="color: #339933;">=</span> b<span style="color: #339933;">;</span>
        b <span style="color: #339933;">=</span> tmp<span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #b1b100;">return</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>~~~ 一条分隔线 ~~~</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">void</span> swap<span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> <span style="color: #339933;">*</span>a<span style="color: #339933;">,</span> <span style="color: #993333;">int</span> <span style="color: #339933;">*</span>b<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">int</span> tmp<span style="color: #339933;">;</span>
    tmp <span style="color: #339933;">=</span> <span style="color: #339933;">*</span>a<span style="color: #339933;">;</span>
    <span style="color: #339933;">*</span>a <span style="color: #339933;">=</span> <span style="color: #339933;">*</span>b<span style="color: #339933;">;</span>
    <span style="color: #339933;">*</span>b <span style="color: #339933;">=</span> tmp<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">int</span> main<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">int</span> i<span style="color: #339933;">;</span>
    <span style="color: #993333;">int</span> a <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> b <span style="color: #339933;">=</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span>i <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;=</span> <span style="color: #0000dd;">100000000</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        swap<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>a<span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>b<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #b1b100;">return</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>显式的 swap 一次要 0.0000000035 秒。<br />
函数的 swap 一次要 0.0000000057 秒。</p>
<p>我还试了一下 C++ 的 inline，发现没有速度的提升。</p>
<p>结论：用函数的 swap。这点速度损失没啥，然而一堆显式的 swap 不仅容易出错还极其影响心情。</p>
]]></content:encoded>
			<wfw:commentRss>http://xhacker.shiyiquan.cn/swap-speed/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>一笔画</title>
		<link>http://xhacker.shiyiquan.cn/euler-tour/</link>
		<comments>http://xhacker.shiyiquan.cn/euler-tour/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 01:33:30 +0000</pubDate>
		<dc:creator>Xhacker</dc:creator>
				<category><![CDATA[人生路漫竞赛相伴]]></category>
		<category><![CDATA[太阳不错]]></category>
		<category><![CDATA[OI]]></category>

		<guid isPermaLink="false">http://xhacker.shiyiquan.cn/?p=440</guid>
		<description><![CDATA[就是拿着笔，放在纸上不抬起来，画出一些有意思的图形。 但是一般没有这么爽……一般是给你一幅图，让你一笔画出来。这也叫欧拉路径。 说起来特别简单。先找一个连接了奇数个点的点作为起点，把笔放下去。然后开始画，随便画。尾巴死了就从头接着画。OK，成功了。 如果所有点都连接到偶数个节点，很好，画到最后又回到了起点。]]></description>
			<content:encoded><![CDATA[<p>就是拿着笔，放在纸上不抬起来，画出一些有意思的图形。</p>
<p>但是一般没有这么爽……一般是给你一幅图，让你一笔画出来。这也叫欧拉路径。</p>
<p>说起来特别简单。先找一个连接了奇数个点的点作为起点，把笔放下去。然后开始画，随便画。尾巴死了就从头接着画。OK，成功了。</p>
<p>如果所有点都连接到偶数个节点，很好，画到最后又回到了起点。</p>
]]></content:encoded>
			<wfw:commentRss>http://xhacker.shiyiquan.cn/euler-tour/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>计划</title>
		<link>http://xhacker.shiyiquan.cn/plan/</link>
		<comments>http://xhacker.shiyiquan.cn/plan/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 07:08:43 +0000</pubDate>
		<dc:creator>Xhacker</dc:creator>
				<category><![CDATA[人生路漫竞赛相伴]]></category>
		<category><![CDATA[脑内活动]]></category>
		<category><![CDATA[Emacs]]></category>
		<category><![CDATA[NOI]]></category>
		<category><![CDATA[OI]]></category>
		<category><![CDATA[USACO]]></category>

		<guid isPermaLink="false">http://xhacker.shiyiquan.cn/?p=412</guid>
		<description><![CDATA[NOI 这家伙对我来说有着无穷的吸引力。而今年我唯一能去NOI的机会。所以我必须要进入北京代表队。 我现在的水平在 NOIP 可以说是游刃有余，但拿到 NOI 难度的题目，往往是连想法都没有。所以在关键的3月和4月中，需要质的飞跃。3月需要整体提高水平，主要是通过刷完 USACO。4月我想做一些成套的题目。 完成计划的最好方法就是把她公开。好吧，我十分希望我能完成计划。于是我就把计划从紫皮本（08年忙机器人竞赛那会张镐薪传下来的。。。）搬到 Blog 上面，起到督促自己的作用。 2月10日-2月24日 准备 CCC 比赛。 2月25日-3月20日 USACO 通关（每天3道题左右）。 3月20日前 熟练掌握 GNU Emacs。 嗯。最近尽量减少各种娱乐活动。这不是 NOIP，所以也不能像准备 NOIP 一样欢乐和轻松。另外5月份我是不是找老魏商量商量逃课备战？ /* 本来准备的红警3系列文章因为贯彻落实减少娱乐活动的方针取消了，请见谅。 */ /* 5月17日的 blog post 会是喜还是忧？ */]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.noi.cn/">NOI</a> 这家伙对我来说有着无穷的吸引力。而今年我唯一能去NOI的机会。所以我必须要进入北京代表队。</p>
<p>我现在的水平在 NOIP 可以说是游刃有余，但拿到 NOI 难度的题目，往往是连想法都没有。所以在关键的3月和4月中，需要质的飞跃。3月需要整体提高水平，主要是通过刷完 USACO。4月我想做一些成套的题目。</p>
<p>完成计划的最好方法就是把她公开。好吧，我十分希望我能完成计划。于是我就把计划从紫皮本（08年忙机器人竞赛那会张镐薪传下来的。。。）搬到 Blog 上面，起到督促自己的作用。</p>
<p>2月10日-2月24日 准备 CCC 比赛。<br />
2月25日-3月20日 USACO 通关（每天3道题左右）。<br />
3月20日前 熟练掌握 GNU Emacs。</p>
<p>嗯。最近尽量减少各种娱乐活动。这不是 NOIP，所以也不能像准备 NOIP 一样欢乐和轻松。另外5月份我是不是找老魏商量商量逃课备战？</p>
<p>/* 本来准备的红警3系列文章因为贯彻落实减少娱乐活动的方针取消了，请见谅。 */</p>
<p>/* 5月17日的 blog post 会是喜还是忧？ */</p>
]]></content:encoded>
			<wfw:commentRss>http://xhacker.shiyiquan.cn/plan/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>各种冬令营</title>
		<link>http://xhacker.shiyiquan.cn/winter-camp/</link>
		<comments>http://xhacker.shiyiquan.cn/winter-camp/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 07:41:33 +0000</pubDate>
		<dc:creator>Xhacker</dc:creator>
				<category><![CDATA[人生路漫竞赛相伴]]></category>
		<category><![CDATA[心情莫测]]></category>
		<category><![CDATA[OI]]></category>

		<guid isPermaLink="false">http://xhacker.shiyiquan.cn/?p=409</guid>
		<description><![CDATA[在那个欢乐又恐怖的冬令营中，我见到了张放、范浩强等牛。那真是让人只剩下佩服的份了。 冬令营有两试。一试我由于经验不足+时间分配不合理+RP爆差，只得了30分。二试我在刷完第一道背包的水题后，全力刷第三道。在只剩半小时的时候，还没有看到任何希望。我以为我的二试就这样挂了。可我最终还是调出来了——还剩20多分钟。然后是全速Rush第二题。最终得分是180（100+0+80，最后20分钟彪出的程序没有得分），我很欣慰，因为我的努力没有白费，第三题很给我面子。最终排在第6。 于是现在就面临一个扎手（……棘手）的决定。我要全力进北京队吗？如果真的进去了，我在NOI的竞争力将会如何？虚心地说，就现在的实力而言，还很欠缺。浅思欠虑后，我决定拼一把了。我这是最后一次去NOI的机会（虽然也是第一次）。 每个人的高中阶段只有一回，平平淡淡固然是一种选择，但却不是我想选择的。 最为空虚的最后一天下午，我逃出了“教学演示”的魔爪，在看“Revolution OS”。 /* 从上周五到本周三，我一直处于生病阶段，头脑比较不清晰。每天大约要睡15个小时。 */]]></description>
			<content:encoded><![CDATA[<p>在那个欢乐又恐怖的<a href="http://www.student.gov.cn/bjnoi/tzgg/275530.shtml">冬令营</a>中，我见到了张放、范浩强等牛。那真是让人只剩下佩服的份了。</p>
<p>冬令营有两试。一试我由于经验不足+时间分配不合理+RP爆差，只得了30分。二试我在刷完第一道背包的水题后，全力刷第三道。在只剩半小时的时候，还没有看到任何希望。我以为我的二试就这样挂了。可我最终还是调出来了——还剩20多分钟。然后是全速Rush第二题。最终得分是180（100+0+80，最后20分钟彪出的程序没有得分），我很欣慰，因为我的努力没有白费，第三题很给我面子。最终排在第6。</p>
<p>于是现在就面临一个扎手（……棘手）的决定。我要全力进北京队吗？如果真的进去了，我在NOI的竞争力将会如何？虚心地说，就现在的实力而言，还很欠缺。浅思欠虑后，我决定拼一把了。我这是最后一次去NOI的机会（虽然也是第一次）。</p>
<p>每个人的高中阶段只有一回，平平淡淡固然是一种选择，但却不是我想选择的。</p>
<p>最为空虚的最后一天下午，我逃出了“教学演示”的魔爪，在看“<a href="http://www.douban.com/subject/1437389/">Revolution OS</a>”。</p>
<p>/* 从上周五到本周三，我一直处于生病阶段，头脑比较不清晰。每天大约要睡15个小时。 */</p>
]]></content:encoded>
			<wfw:commentRss>http://xhacker.shiyiquan.cn/winter-camp/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>查找时的哨兵</title>
		<link>http://xhacker.shiyiquan.cn/faster-search/</link>
		<comments>http://xhacker.shiyiquan.cn/faster-search/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 13:58:08 +0000</pubDate>
		<dc:creator>Xhacker</dc:creator>
				<category><![CDATA[人生路漫竞赛相伴]]></category>
		<category><![CDATA[脑内活动]]></category>
		<category><![CDATA[OI]]></category>

		<guid isPermaLink="false">http://xhacker.shiyiquan.cn/?p=345</guid>
		<description><![CDATA[今天偶然看到一个很巧的查找技巧，跟大家分享一下。 假设有一个数组a，要找到一个n使a[n]=key。 很简单吧，先看看一般的方法： for&#40;i = 1; i &#60;= a.length; i++&#41; if&#40;a&#91;i&#93; == key&#41; break; // now a[i] = key, i &#62; a.length means not found. 看看很巧的用哨兵的方法： a&#91;0&#93; = key; for&#40;i = a.length; ; i--&#41; if&#40;a&#91;i&#93; == key&#41; break; // now &#8230; <a href="http://xhacker.shiyiquan.cn/faster-search/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>今天偶然看到一个很巧的查找技巧，跟大家分享一下。</p>
<p>假设有一个数组a，要找到一个n使a[n]=key。</p>
<p>很简单吧，先看看一般的方法：</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span>i <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;=</span> a.<span style="color: #202020;">length</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>a<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> key<span style="color: #009900;">&#41;</span>
		<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// now a[i] = key, i &gt; a.length means not found.</span></pre></div></div>

<p>看看很巧的用哨兵的方法：</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;">a<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> key<span style="color: #339933;">;</span>
<span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span>i <span style="color: #339933;">=</span> a.<span style="color: #202020;">length</span><span style="color: #339933;">;</span> <span style="color: #339933;">;</span> i<span style="color: #339933;">--</span><span style="color: #009900;">&#41;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>a<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> key<span style="color: #009900;">&#41;</span>
		<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// now a[i] = key, i = 0 means not found.</span></pre></div></div>

<p>这样加上一个小小的哨兵（a[0]）就节省了大约一半的时间！其实挺实用的。</p>
]]></content:encoded>
			<wfw:commentRss>http://xhacker.shiyiquan.cn/faster-search/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>介绍NDSOJ</title>
		<link>http://xhacker.shiyiquan.cn/introducing-ndsoj/</link>
		<comments>http://xhacker.shiyiquan.cn/introducing-ndsoj/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 06:54:59 +0000</pubDate>
		<dc:creator>Xhacker</dc:creator>
				<category><![CDATA[人生路漫竞赛相伴]]></category>
		<category><![CDATA[你在做什么]]></category>
		<category><![CDATA[太阳不错]]></category>
		<category><![CDATA[脑内活动]]></category>
		<category><![CDATA[NDSOJ]]></category>
		<category><![CDATA[OI]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://xhacker.shiyiquan.cn/?p=336</guid>
		<description><![CDATA[这是一个在线评测系统，目前也就是个看题系统，尚处于不能用阶段。 看看：http://www.shiyihcc.com/xhacker/NDSOJ/ 项目页面：http://code.google.com/p/ndsoj-online-judge/（哈哈，还很空洞） 今年备战NOIP的日子里，Vijos常处于挂掉的状态。不是被黑客弄死了，就是遇到雪灾，总之是十分杯具。于是在一个无聊的上午（经查证为11月14日），我打开了一个无聊的Gedit，吓唬人似的写了一个页面——index.php。没有一丝设计，上面的标题是Gedit里面的一个配色（叫什么我忘了），下面的每一个box都是朴素的灰色。我只是无聊，只是恶搞。可是过了一会，我突然发现这是个好的想法。为什么我们自己就不能弄一个评测系统呢？于是杯具了。其实想法是好的，可是我认为在备战的时候有这个想法是错误的——它浪费（可能也不能叫浪费）了我太多的时间。看看这里吧，我14日到17日一直在努力改善它。要知道这可是……竞赛前最紧张的几天啊。所幸之后我清醒了一点。 但总之有一点不容置疑，那几天的努力已经让NDSOJ成为了一个可用的“看题”平台了。不过，最重要的“评测”部分现在还没有。不过，面包总会有的，只是时间问题。我已经决定把NDSOJ做下去了。 于是，今年之内除了评测的部分外应该是都能完工，寒假完事后全面OK。接下来的一段时间，它将作为十一学校的御用评测系统。直到我们有更多的服务器和评测机。之后就是对外开放。 那么，说来说去，这个OJ和别的有什么不一样呢？其实，我是想做一个“Online judge for human beings”。从界面就可以看出来，虽然丝毫没有经过设计，但它绝对是比其他的评测系统要方便的。在提交方式上，采用了文件提交的方法，也是为了最大限度的方便大家的操作。输入输出采用文件输入输出。另外，我们想把通过率这个东西去掉，还有就是开放数据。最后，这个评测系统是开放源代码的，你去Google Code就可以全部clone下来。 ……说了半天，也有可能是空话，就看我是三分钟热度，还是真要做这么一个东西吧。不过有一点可以肯定，如果（注意，是如果）做出来了，那一定是中国最好的评测系统，没有之一。]]></description>
			<content:encoded><![CDATA[<p>这是一个在线评测系统，目前也就是个看题系统，尚处于不能用阶段。<br />
看看：<a href="http://www.shiyihcc.com/xhacker/NDSOJ/">http://www.shiyihcc.com/xhacker/NDSOJ/</a><br />
项目页面：<a href="http://code.google.com/p/ndsoj-online-judge/">http://code.google.com/p/ndsoj-online-judge/</a>（哈哈，还很空洞）</p>
<p>今年备战NOIP的日子里，Vijos常处于挂掉的状态。不是被黑客弄死了，就是遇到雪灾，总之是十分杯具。于是在一个无聊的上午（经查证为11月14日），我打开了一个无聊的Gedit，吓唬人似的写了一个页面——index.php。没有一丝设计，上面的标题是Gedit里面的一个配色（叫什么我忘了），下面的每一个box都是朴素的灰色。我只是无聊，只是恶搞。可是过了一会，我突然发现这是个好的想法。为什么我们自己就不能弄一个评测系统呢？于是杯具了。其实想法是好的，可是我认为在备战的时候有这个想法是错误的——它浪费（可能也不能叫浪费）了我太多的时间。看看<a href="http://code.google.com/p/ndsoj-online-judge/source/list">这里</a>吧，我14日到17日一直在努力改善它。要知道这可是……竞赛前最紧张的几天啊。所幸之后我清醒了一点。</p>
<p>但总之有一点不容置疑，那几天的努力已经让NDSOJ成为了一个可用的“看题”平台了。不过，最重要的“评测”部分现在还没有。不过，面包总会有的，只是时间问题。我已经决定把NDSOJ做下去了。</p>
<p>于是，今年之内除了评测的部分外应该是都能完工，寒假完事后全面OK。接下来的一段时间，它将作为十一学校的御用评测系统。直到我们有更多的服务器和评测机。之后就是对外开放。</p>
<p>那么，说来说去，这个OJ和别的有什么不一样呢？其实，我是想做一个“Online judge for human beings”。从界面就可以看出来，虽然丝毫没有经过设计，但它绝对是比其他的评测系统要方便的。在提交方式上，采用了文件提交的方法，也是为了最大限度的方便大家的操作。输入输出采用文件输入输出。另外，我们想把通过率这个东西去掉，还有就是开放数据。最后，这个评测系统是开放源代码的，你去Google Code就可以全部clone下来。</p>
<p>……说了半天，也有可能是空话，就看我是三分钟热度，还是真要做这么一个东西吧。不过有一点可以肯定，如果（注意，是如果）做出来了，那一定是中国最好的评测系统，没有之一。</p>
]]></content:encoded>
			<wfw:commentRss>http://xhacker.shiyiquan.cn/introducing-ndsoj/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>44/44 = 1.</title>
		<link>http://xhacker.shiyiquan.cn/4444-1/</link>
		<comments>http://xhacker.shiyiquan.cn/4444-1/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 07:52:38 +0000</pubDate>
		<dc:creator>Xhacker</dc:creator>
				<category><![CDATA[人生路漫竞赛相伴]]></category>
		<category><![CDATA[心情莫测]]></category>
		<category><![CDATA[脑内活动]]></category>
		<category><![CDATA[Chrome OS]]></category>
		<category><![CDATA[Geany]]></category>
		<category><![CDATA[NDSOJ]]></category>
		<category><![CDATA[NOI Linux]]></category>
		<category><![CDATA[OI]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[USACO]]></category>

		<guid isPermaLink="false">http://xhacker.shiyiquan.cn/?p=307</guid>
		<description><![CDATA[44天的集训在今天宣告结束。 一进八十中的教学楼，一股牛味扑面而来，熙熙攘攘的就是参加NOIP的各种牛。我们在414教室。 八十中的考试环境还可以，机子速度也还算挺快（256MB内存）。用的是NOI Linux，上面有Vim/Emacs，可惜我都不会用，眼睁睁瞧着世界上最好的两个编辑器叹息（有时间一定要征服一个）。我只会用朴素的Gedit，上面有我喜欢的Oblivion配色。于是，就他了，GUIDE滚一边去。考题加密压缩在一个包里，许多人解不开，于是我unzip xxx.zip，然后输密码，pdf就出来了。周围的还都在忙活呢。 适应适应很令我无奈的软趴趴的键盘，我就开始写程序了。第一道水题刷完后一个小时已经过去。第二道完事后还剩一小时二十分钟。看看第三题和第四题，第三题看起来是一道图论的，第四题是数独（于是我的第一反应，“深搜”！）。于是想都不用想，先做掉第四题再说。果然深搜，做完后还剩20分钟。这是传来了悦耳的声音：“延长20分钟。”我有点激动了，于是先出去上了趟厕所，权当是清醒一下头脑。然后，开始考虑第三题。看了一会，发现是传说中的Floyd。于是开刷。不过由于数据较变态，这题看来只能得最多撑死40分了（我用的邻接矩阵）。 考完后，我们一聊起来，发现今年没考动态规划。一想，确实没考，真实神奇。就在昨天晚上，孙韵佳（女，高三大牛，去年一等奖）还在跟我说：“动态规划学好了，NOIP就不惧了。”我一直也是这么想的。 总的来说，这回考的虽然不能说十分满意，但至少我觉得发挥了水平，没有特别遗憾的地方。我知足了。 关于分数，我估计最多280/400，大概也就250左右（没准更糟糕）。不过总之，大约20分钟之后就知道了。那是的心情会是高兴？还是？不过，管他呢，反正我算是考完了。 不管这回结果怎样，我已经和喷壶（胡颖健）说好了，以后每周日刷USACO，争取早日通关。另外，接下来的时间里，我还将致力于NDSOJ的开发（这个……我可能过几天会发篇post详细介绍一下）。 另外昨天有人想看NOI Linux的模样，那就发一下吧。个人十分鄙视NOI Linux，它让许许多多参加OI的同学对Linux产生了极其不良的第一印象，而这些人最可能成为中国计算机行业未来的牛人。顺便再发两张Chrome OS的截图（第二张是Google放出的）。 最后，我要做的是感谢。首先感谢马强老师，还有一起集训的十几个弟兄。另外，就是陪伴我44天的Ubuntu、Gedit、Geany……为了报答Geany这个优秀的IDE，你们在Geany和Geany-plugins的下个版本就能看到完美的中文翻译了。 最后发几张原来的照片，回味整个NOIP 2009。 下周一回去上课了。]]></description>
			<content:encoded><![CDATA[<p>44天的集训在今天宣告结束。</p>
<div class="wp-caption aligncenter" style="width: 410px"><a href="http://farm3.static.flickr.com/2719/4120896263_a9746882ee.jpg"><img class=" " src="http://farm3.static.flickr.com/2719/4120896263_a9746882ee.jpg" alt="在路上。" /></a><p class="wp-caption-text">在路上。</p></div>
<div class="wp-caption aligncenter" style="width: 510px"><a href="http://farm3.static.flickr.com/2667/4120896267_31c2db7405_o.jpg"><img src="http://farm3.static.flickr.com/2667/4120896267_575874858d.jpg" alt="咱学校参加NOIP的队伍，最左边是强哥。"  /></a><p class="wp-caption-text">咱学校参加NOIP的队伍，最左边是强哥。</p></div>
<p>一进八十中的教学楼，一股牛味扑面而来，熙熙攘攘的就是参加NOIP的各种牛。我们在414教室。</p>
<div class="wp-caption aligncenter" style="width: 510px"><a href="http://farm3.static.flickr.com/2664/4120901239_d06d630fb2_o.jpg"><img src="http://farm3.static.flickr.com/2664/4120901239_cae3157c1d.jpg" alt="教学楼内牛味十足。" /></a><p class="wp-caption-text">教学楼内牛味十足。</p></div>
<div class="wp-caption aligncenter" style="width: 250px"><a href="http://farm3.static.flickr.com/2609/4120896273_ac6d8378fa_m.jpg"><img src="http://farm3.static.flickr.com/2609/4120896273_ac6d8378fa_m.jpg" alt="我的准考证。" /></a><p class="wp-caption-text">我的准考证。</p></div>
<div class="wp-caption aligncenter" style="width: 510px"><a href="http://farm3.static.flickr.com/2625/4120901241_85045980a3_o.jpg"><img src="http://farm3.static.flickr.com/2625/4120901241_3b2eeb101e.jpg" alt="可爱的展板。" /></a><p class="wp-caption-text">可爱的展板。</p></div>
<div class="wp-caption aligncenter" style="width: 510px"><a href="http://farm3.static.flickr.com/2680/4120901243_711bf2641c_o.jpg"><img src="http://farm3.static.flickr.com/2680/4120901243_e70bb72675.jpg" alt="楼道。" /></a><p class="wp-caption-text">楼道。</p></div>
<p>八十中的考试环境还可以，机子速度也还算挺快（256MB内存）。用的是NOI Linux，上面有Vim/Emacs，可惜我都不会用，眼睁睁瞧着世界上最好的两个编辑器叹息（有时间一定要征服一个）。我只会用朴素的Gedit，上面有我喜欢的Oblivion配色。于是，就他了，GUIDE滚一边去。考题加密压缩在一个包里，许多人解不开，于是我unzip xxx.zip，然后输密码，pdf就出来了。周围的还都在忙活呢。</p>
<p>适应适应很令我无奈的软趴趴的键盘，我就开始写程序了。第一道水题刷完后一个小时已经过去。第二道完事后还剩一小时二十分钟。看看第三题和第四题，第三题看起来是一道图论的，第四题是数独（于是我的第一反应，“深搜”！）。于是想都不用想，先做掉第四题再说。果然深搜，做完后还剩20分钟。这是传来了悦耳的声音：“延长20分钟。”我有点激动了，于是先出去上了趟厕所，权当是清醒一下头脑。然后，开始考虑第三题。看了一会，发现是传说中的Floyd。于是开刷。不过由于数据较变态，这题看来只能得最多撑死40分了（我用的邻接矩阵）。<br />
考完后，我们一聊起来，发现今年没考动态规划。一想，确实没考，真实神奇。就在昨天晚上，孙韵佳（女，高三大牛，去年一等奖）还在跟我说：“动态规划学好了，NOIP就不惧了。”我一直也是这么想的。<br />
总的来说，这回考的虽然不能说十分满意，但至少我觉得发挥了水平，没有特别遗憾的地方。我知足了。<br />
关于分数，我估计最多280/400，大概也就250左右（没准更糟糕）。不过总之，大约20分钟之后就知道了。那是的心情会是高兴？还是？不过，管他呢，反正我算是考完了。</p>
<p>不管这回结果怎样，我已经和喷壶（胡颖健）说好了，以后每周日刷USACO，争取早日通关。另外，接下来的时间里，我还将致力于NDSOJ的开发（这个……我可能过几天会发篇post详细介绍一下）。</p>
<p>另外昨天有人想看NOI Linux的模样，那就发一下吧。个人十分鄙视NOI Linux，它让许许多多参加OI的同学对Linux产生了极其不良的第一印象，而这些人最可能成为中国计算机行业未来的牛人。顺便再发两张Chrome OS的截图（第二张是Google放出的）。</p>
<p><a href="http://farm3.static.flickr.com/2538/4120880917_d7991516f8_o.png"><img src="http://farm3.static.flickr.com/2538/4120880917_5e96e173d9.jpg" alt="NOI_Linux_boot" class="aligncenter" /></a><br />
<a href="http://farm3.static.flickr.com/2526/4120880923_9f116028e7_o.png"><img src="http://farm3.static.flickr.com/2526/4120880923_7a32e65c8d.jpg" alt="NOI_Linux_login" class="aligncenter" /></a><br />
<a href="http://farm3.static.flickr.com/2583/4120880919_d01107d0d4_o.png"><img src="http://farm3.static.flickr.com/2583/4120880919_ac66cb593e.jpg" alt="NOI_Linux_Guide" class="aligncenter" /></a><br />
<a href="http://farm3.static.flickr.com/2621/4120896257_9a3295407c_o.png"><img src="http://farm3.static.flickr.com/2621/4120896257_da4476fd44.jpg" alt="chromeos_login" class="aligncenter" /></a><br />
<a href="http://farm3.static.flickr.com/2531/4120880915_b692cd94d9_o.png"><img src="http://farm3.static.flickr.com/2531/4120880915_c9b35eaefc.jpg" alt="Chrome_OS_screenshot" class="aligncenter" /></a><br />
最后，我要做的是感谢。首先感谢马强老师，还有一起集训的十几个弟兄。另外，就是陪伴我44天的Ubuntu、Gedit、Geany……为了报答Geany这个优秀的IDE，你们在Geany和Geany-plugins的下个版本就能看到完美的中文翻译了。</p>
<p>最后发几张原来的照片，回味整个NOIP 2009。</p>
<div style="float: left; margin: 15px;"><a title="照片_100909_002 by Xhacker Liu, on Flickr" href="http://www.flickr.com/photos/41244276@N05/4120901247/"><img src="http://farm3.static.flickr.com/2489/4120901247_2efd6351a9_t.jpg" alt="照片_100909_002" width="100" height="80" /></a></div>
<div style="float: left; margin: 15px;"><a title="照片_101709_002 by Xhacker Liu, on Flickr" href="http://www.flickr.com/photos/41244276@N05/4120901253/"><img src="http://farm3.static.flickr.com/2739/4120901253_531a03658c_t.jpg" alt="照片_101709_002" width="100" height="80" /></a></div>
<div style="float: left; margin: 15px;"><a title="照片_101309_001 by Xhacker Liu, on Flickr" href="http://www.flickr.com/photos/41244276@N05/4120901255/"><img src="http://farm3.static.flickr.com/2506/4120901255_4273e714d0_t.jpg" alt="照片_101309_001" width="100" height="80" /></a></div>
<div style="float: left; margin: 15px;"><a title="照片_110409_001 by Xhacker Liu, on Flickr" href="http://www.flickr.com/photos/41244276@N05/4120896259/"><img src="http://farm3.static.flickr.com/2764/4120896259_c789515cf0_t.jpg" alt="照片_110409_001" width="100" height="80" /></a></div>
<div style="float: left; margin: 15px;"><a title="照片_111309_001 by Xhacker Liu, on Flickr" href="http://www.flickr.com/photos/41244276@N05/4120896261/"><img src="http://farm3.static.flickr.com/2535/4120896261_bc2ccf30f5_t.jpg" alt="照片_111309_001" width="100" height="80" /></a></div>
<p><br style="clear: both;" /></p>
<p>下周一回去上课了。</p>
]]></content:encoded>
			<wfw:commentRss>http://xhacker.shiyiquan.cn/4444-1/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>43/44, Final state.</title>
		<link>http://xhacker.shiyiquan.cn/4344-final-state/</link>
		<comments>http://xhacker.shiyiquan.cn/4344-final-state/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 11:58:39 +0000</pubDate>
		<dc:creator>Xhacker</dc:creator>
				<category><![CDATA[人生路漫竞赛相伴]]></category>
		<category><![CDATA[脑内活动]]></category>
		<category><![CDATA[Chrome OS]]></category>
		<category><![CDATA[NOI Linux]]></category>
		<category><![CDATA[OI]]></category>
		<category><![CDATA[XMind]]></category>

		<guid isPermaLink="false">http://xhacker.shiyiquan.cn/?p=301</guid>
		<description><![CDATA[这是截止今天19:00我的复习状况。XMind真好用。 刚刚Chrome OS下完了，明天发截图。明天同时奉上的还有NOI Linux的截图，请期待。]]></description>
			<content:encoded><![CDATA[<p><a href="http://xhacker.shiyiquan.cn/wp-content/uploads/2009/11/NOIP_map.png"><img src="http://xhacker.shiyiquan.cn/wp-content/uploads/2009/11/NOIP_map-300x212.png" alt="NOIP_map" title="NOIP_map" width="300" height="212" class="aligncenter size-medium wp-image-302" /></a><br />
这是截止今天19:00我的复习状况。XMind真好用。</p>
<p>刚刚Chrome OS下完了，明天发截图。明天同时奉上的还有NOI Linux的截图，请期待。</p>
]]></content:encoded>
			<wfw:commentRss>http://xhacker.shiyiquan.cn/4344-final-state/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

