<?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>SQYBI.com &#187; About Computer</title>
	<atom:link href="http://sqybi.com/blog/archives/category/about-computer/feed" rel="self" type="application/rss+xml" />
	<link>http://sqybi.com/blog</link>
	<description>生活 技术 想法 记录每一个应该记录的瞬间</description>
	<lastBuildDate>Sun, 05 Sep 2010 15:05:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>测试Nxun的代码高亮插件</title>
		<link>http://sqybi.com/blog/archives/228</link>
		<comments>http://sqybi.com/blog/archives/228#comments</comments>
		<pubDate>Mon, 16 Aug 2010 14:39:10 +0000</pubDate>
		<dc:creator>sqybi</dc:creator>
				<category><![CDATA[About Computer]]></category>
		<category><![CDATA[[Technology]]]></category>

		<guid isPermaLink="false">http://sqybi.com/blog/?p=228</guid>
		<description><![CDATA[Nxun我爱死你了~ 为啥代码高亮没有呢。。纠结&#62;_&#60; [Audio clip: view full post to listen] 第一段代码： /* PROB: milk LANG: C++ */ #include &#60;iostream&#62; #include &#60;algorithm&#62; #include &#60;vector&#62; #include &#60;cstdlib&#62; #include &#60;cstdio&#62; using namespace std; int x, y, tot, res, n, m; vector&#60;pair&#60;int, int&#62; &#62; a; int main() { freopen("milk.in", "r", stdin); freopen("milk.out", "w", stdout); cin &#62;&#62; n &#62;&#62; m; a.clear(); [...]]]></description>
			<content:encoded><![CDATA[<p>Nxun我爱死你了~<br />
<del datetime="2010-08-16T17:27:02+00:00">为啥代码高亮没有呢。。纠结&gt;_&lt;</del></p>
<p><span id="more-228"></span></p>
<p>[Audio clip: view full post to listen]</p>
<p>第一段代码：</p>
<pre class="brush:cpp">/*
PROB: milk
LANG: C++
*/

#include &lt;iostream&gt;
#include &lt;algorithm&gt;
#include &lt;vector&gt;
#include &lt;cstdlib&gt;
#include &lt;cstdio&gt;

using namespace std;

int x, y, tot, res, n, m;
vector&lt;pair&lt;int, int&gt; &gt; a;

int main()
{
    freopen("milk.in", "r", stdin);
    freopen("milk.out", "w", stdout);

    cin &gt;&gt; n &gt;&gt; m;
    a.clear();
    for (int i = 0; i != m; ++i)
    {
        cin &gt;&gt; x &gt;&gt; y;
        a.push_back(make_pair(x, y));
    }
    sort(a.begin(), a.end());

    tot = 0;
    res = 0;
    for (int i = 0; i != m; ++i)
    {
        if (tot + a[i].second &gt;= n)
        {
            res += a[i].first * (n - tot);
            break;
        }
        else
        {
            res += a[i].first * a[i].second;
            tot += a[i].second;
        }
    }

    cout &lt;&lt; res &lt;&lt; endl;

    return 0;
}</pre>
<p>第二段代码：</p>
<pre class="brush:cpp; first-line:12">    tot = 0;
    res = 0;
    for (int i = 0; i != m; ++i)
    {
        if (tot + a[i].second &gt;= n)
        {
            res += a[i].first * (n - tot);
            break;
        }
        else
        {
            res += a[i].first * a[i].second;
            tot += a[i].second;
        }
    }</pre>
<p>第三段代码：</p>
<pre class="brush:php">include_once("connectsql.php");

$result = mysql_query("SELECT * FROM question");
while($row = mysql_fetch_array($result))
{
    if ($row["used"] != "")
    {
        echo "used_array.push(\"".$row["used"]."\");\n";
    }
    elseif ($row["selected"] != "")
    {
        echo "selected_array.push(\"".$row["selected"]."\");\n";
    }
}</pre>
<p>第四段代码：</p>
<pre class="brush:csharp; collapse:true">using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Diagnostics;

namespace GPA_Calculator
{
    public partial class Form1 : Form
    {
        private const string inFile = "input.txt", outFile = "output.txt", calculator = "convert.exe";

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            button1.Text = "计算中……";
            button1.Enabled = false;

            Encoding cnv1 = Encoding.Unicode;
            Encoding cnv2 = Encoding.Default;

            using (StreamWriter sw = new StreamWriter(inFile, false, cnv2))
            {
                sw.WriteLine(textBox1.Text);
            }

            Process p = new Process();
            p.StartInfo.FileName = calculator;
            p.StartInfo.Arguments = inFile + " " + outFile;
            p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
            p.Start();
            p.WaitForExit();

            using (StreamReader sr = new StreamReader(outFile, cnv2))
            {
                textBox2.Text = sr.ReadToEnd();
            }

            File.Delete(inFile);
            File.Delete(outFile);

            button1.Text = "计算";
            button1.Enabled = true;

            MessageBox.Show("计算完毕！", "GPA Calculator");
        }

    }
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://sqybi.com/blog/archives/228/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>开始写自己的 SCL</title>
		<link>http://sqybi.com/blog/archives/166</link>
		<comments>http://sqybi.com/blog/archives/166#comments</comments>
		<pubDate>Sun, 06 Sep 2009 07:16:05 +0000</pubDate>
		<dc:creator>sqybi</dc:creator>
				<category><![CDATA[About Computer]]></category>
		<category><![CDATA[[OI, ACM, etc]]]></category>
		<category><![CDATA[ACM]]></category>
		<category><![CDATA[SCL]]></category>
		<category><![CDATA[下载]]></category>
		<category><![CDATA[代码库]]></category>

		<guid isPermaLink="false">http://sqybi.com/blog/archives/166</guid>
		<description><![CDATA[前面一些文章都有一小撮 (别有用心的) 群众留言说看不懂, 为了避免这种囧事出现, 我决定以后多加一点知识性介绍... 小知识: 什么是 SCL? SCL, 即 Standard Code Library. 虽然不是一个统一的叫法, 但是大多数人都这么称呼它. 所谓 Standard Code Library, 顾名思义就是标准代码库, 一般也称之为代码库. 对于 ACMer 来说, 有一个好的代码库是很重要的事情 -- 毕竟 ACM 比赛是允许携带纸质资料入场的, 所以在比赛时带一个代码库可以省去了很多背代码的麻烦, 同时也避免了很多比赛时因为背代码导致的细微的错误. 但是要注意的一点是, 代码库并不能完全避免这些错误, 而且, 使用一个自己不熟悉的代码库反而会降低效率, 同时犯下更多这种小错误 (例如把 i 写成 j 之类的, 究其原因还是不理解别人代码库里的代码, 生搬硬套是不好使的). 这也是为什么一般 ACM 的队伍里都会有一套自己的代码库. 最近实在觉得自己太颓废了 (颓废到 blog 都懒得写), 于是决定干点什么. 本来是想搞个短期任务的, 但是听 oldherl 说队里在写 [...]]]></description>
			<content:encoded><![CDATA[<p>前面一些文章都有一小撮 (别有用心的) 群众留言说看不懂, 为了避免这种囧事出现, 我决定以后多加一点知识性介绍...</p>
<p>小知识: 什么是 SCL?</p>
<blockquote><p>SCL, 即 Standard Code Library. 虽然不是一个统一的叫法, 但是大多数人都这么称呼它. 所谓 Standard Code Library, 顾名思义就是标准代码库, 一般也称之为代码库.     <br />对于 ACMer 来说, 有一个好的代码库是很重要的事情 -- 毕竟 ACM 比赛是允许携带纸质资料入场的, 所以在比赛时带一个代码库可以省去了很多背代码的麻烦, 同时也避免了很多比赛时因为背代码导致的细微的错误.      <br />但是要注意的一点是, 代码库并不能完全避免这些错误, 而且, 使用一个自己不熟悉的代码库反而会降低效率, 同时犯下更多这种小错误 (例如把 i 写成 j 之类的, 究其原因还是不理解别人代码库里的代码, 生搬硬套是不好使的). 这也是为什么一般 ACM 的队伍里都会有一套自己的代码库.</p>
</blockquote>
<p>最近实在觉得自己太颓废了 (颓废到 blog 都懒得写), 于是决定干点什么.   <br />本来是想搞个短期任务的, 但是听 oldherl 说队里在写 SCL, 想想自己一直在用别人写的 SCL, 干脆也开始写个 SCL 吧.</p>
<p>其实之前试图写过好几次了. 当初用 pascal 的时候, 就曾经总结过代码, 不过总结了几年也就是 Dinic 啊 Hungary 啊 quicksort 啊这类的东西, 代码也零零散散的, 没有任何可重用性.   <br />后来保送了, 转了 C++, 觉得类这东西挺好用, 于是想搞一堆头文件把要用的代码都封装到类里. 结果一个代码都没搞完就发现工作量太大, 而且也不适合 ACM (代码量巨大, 从而导致拍起来太慢), 于是不了了之了. 似乎 shouhm 现在也想做这件事啊, 前车之鉴在这儿了, 要是你看到这篇文章的话自己考虑考虑吧...    <br />接下来就是从 zmc 那儿拿到了一个代码库, 是交大的一个叫 Hao Yuan 的学长写的 (谁告诉我这人是谁...). 东西很全, 也是我这段时间一直在用的代码库. 然后当时就按照那个代码库里面的内容列了一个 list, 然后搞了个 ASLP (Algorithm Summary Library Project). 结果呢, ASLP 里到现在也只有一个最大匹配的代码, version 还是 0.0.1...    <br />然后我又无聊地在 Google Docs 上搞了一个代码库, 还 share 了出去 (<a href="https://docs.google.com/View?docid=dfbmmkmw_12cz8n43dn">传送门</a>). 结果还是我和 zmc 俩人一人贴了几小段代码, 然后就久久不更新了... 但是我对这个东西前面那段大致规范还是比较满意的, 虽然我自己做出来的这个代码库为了方便肯定不能完全参考这个规范吧, 不过以后如果真的要是几个人一起写一个代码库这个规范倒是可以直接拿出来改改的.</p>
<p>而这次写 SCL, 我可不想再半途而废了... 毕竟之前也就是玩玩, 这次可是要写一个以后或许会经常用到的东西. 所以给自己暂时定的目标是, 尽量每天都要更新. 先试试吧, 反正手里还有另一份 SCL 作辅助呢, 写起来容易得多. 刚刚封装了一个高精度的 class, 感觉还好. 测试代码库的问题不太好搞定, 所以先放放吧, 等写完了再统一测试.</p>
<p>代码库放在网上了, 下载地址如下:   <br /><a href="ftp://sqybi:public@public.sjtu.edu.cn/Standard%20Code%20Library/Standard%20Code%20Library.pdf">点击下载代码库 pdf 版本</a>    <br /><a href="ftp://sqybi:public@public.sjtu.edu.cn/Standard%20Code%20Library/Standard%20Code%20Library.odt">点击下载代码库 odt 版本</a>    <br /><a href="ftp://sqybi:public@public.sjtu.edu.cn/Standard%20Code%20Library/code.zip">点击下载代码库 zip 版本</a>    <br />其中 zip 版本是原始的 cpp 代码的压缩包.    <br />正如前面提到的那句话, 使用一个自己不熟悉的代码库反而会降低效率, 同时考虑版权问题 (当然我几乎无视它啦), 这个代码库还是仅仅作为一个参考的好, 自己写的才是王道.    <br />上面几个地址一般来说会不断更新, 但是由于使用了 SJTU 的 FTP, 所以不一定啥时候就删掉了或者不更新了.</p>
]]></content:encoded>
			<wfw:commentRss>http://sqybi.com/blog/archives/166/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>SRM 445</title>
		<link>http://sqybi.com/blog/archives/136</link>
		<comments>http://sqybi.com/blog/archives/136#comments</comments>
		<pubDate>Fri, 24 Jul 2009 00:03:26 +0000</pubDate>
		<dc:creator>sqybi</dc:creator>
				<category><![CDATA[About Computer]]></category>
		<category><![CDATA[[OI, ACM, etc]]]></category>
		<category><![CDATA[ACM]]></category>
		<category><![CDATA[SRM]]></category>
		<category><![CDATA[TopCoder]]></category>
		<category><![CDATA[比赛]]></category>

		<guid isPermaLink="false">http://sqybi.com/blog/archives/136</guid>
		<description><![CDATA[赛前定下的目标就是, 保住黄色. 然后拖着疲惫的身躯打完整场比赛, 坚持到了 rating 更新再睡觉 (幸运的是 System Test 很快, 没让我等太久), 也见证了自己的 rating 第一次突破 1700. 可以说很令我满意了, 不过却一点也高兴不起来. 让我耿耿于怀的就是那个 250 (275?). 当时拍出了一个自己也不知道对不对的程序, 按照平常的习惯, 我是万万不敢 submit 的, 除非是比赛最后时刻. 但是当时翻了一下 Room Summary, 发现那道题还只有 zhuojie 一个人提交, 不知道怎么就点了 submit. 感觉那一刻的自己像极了灵山仙人洞里的景天, &#34;只是想痛痛快快地打一场罢了&#34;. 当然了, 结果也很像. 不过如果每次都这样, 结果不像的那一天迟早会来临, 而且肯定不会迟... 其实之前并没有发现自己这么地依赖 ACM. 因为那种原因被 ACM 队踢掉真的十分不爽, 甚至不能用不爽来形容了 -- 可惜我找不到更合适的词. 也只有这几天跟久违的同学们在一起的时候, 我才能稍微忘掉这些放松放松. 可是, 这样下去也不是办法. 现在已经痛痛快快打了一场了, 也该是回归正轨的时候了. [...]]]></description>
			<content:encoded><![CDATA[<p>赛前定下的目标就是, 保住黄色. 然后拖着疲惫的身躯打完整场比赛, 坚持到了 rating 更新再睡觉 (幸运的是 System Test 很快, 没让我等太久), 也见证了自己的 rating 第一次突破 1700. 可以说很令我满意了, 不过却一点也高兴不起来.</p>
<p>让我耿耿于怀的就是那个 250 (275?). 当时拍出了一个自己也不知道对不对的程序, 按照平常的习惯, 我是万万不敢 submit 的, 除非是比赛最后时刻. 但是当时翻了一下 Room Summary, 发现那道题还只有 zhuojie 一个人提交, 不知道怎么就点了 submit.   <br />感觉那一刻的自己像极了灵山仙人洞里的景天, &quot;只是想痛痛快快地打一场罢了&quot;.    <br />当然了, 结果也很像. 不过如果每次都这样, 结果不像的那一天迟早会来临, 而且肯定不会迟...</p>
<p>其实之前并没有发现自己这么地依赖 ACM. 因为那种原因被 ACM 队踢掉真的十分不爽, 甚至不能用不爽来形容了 -- 可惜我找不到更合适的词. 也只有这几天跟久违的同学们在一起的时候, 我才能稍微忘掉这些放松放松.   <br />可是, 这样下去也不是办法. 现在已经痛痛快快打了一场了, 也该是回归正轨的时候了.</p>
<p>下次 SRM 是8月, 还有时间.</p>
]]></content:encoded>
			<wfw:commentRss>http://sqybi.com/blog/archives/136/feed</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>终于基本搞定了生平第一套PHP应用程序</title>
		<link>http://sqybi.com/blog/archives/135</link>
		<comments>http://sqybi.com/blog/archives/135#comments</comments>
		<pubDate>Mon, 20 Jul 2009 06:32:04 +0000</pubDate>
		<dc:creator>sqybi</dc:creator>
				<category><![CDATA[About Computer]]></category>
		<category><![CDATA[ACM]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[同学录]]></category>

		<guid isPermaLink="false">http://sqybi.com/blog/archives/135</guid>
		<description><![CDATA[所谓平生第一套 PHP 应用程序, 也就是我搞的那个同学录的程序. 今天刚刚完成了留言板系统, 功能的开发也就告一段落了. 接下来要做的, 也就是各种 bug 的修复之类的事情了. 之前 PHP 的东西只给 Mgccl 开发过一个并查集的模块, 并没有太多接触. 这次是看 Nxun 在搞, 加上被 ACM 队踢掉了时间比较充裕, 所以就尝试搞了一下. 不得不说, 写这种东西和 ACM OI 差别还是很大的. 不过搞竞赛的时候攒下的一个优势, 体现的可是淋漓尽致了, 那就是代码能力. php 这东西可真恶心, 本来刚开始还想尽量保持良好的代码结构, 后来发现完全是妄想... 不过还好, 程序结构本身并不复杂, 基本上还可以看懂自己写的代码. 真不知道应该怎么搞才能让代码看起来正常点... 另外我的模块化做的还是不够, 直接导致的后果就是, 做同样一件事情有两套逻辑顺序不同的代码来完成... 而且我这套系统关于 cookie 的处理也比较诡异, session 也是用 cookie 代替的. 但是无论如何, 安全性暂时没啥太大的问题了. 还要谢谢 Nxun 帮我找到一个注入漏洞. 整个程序搞完了, [...]]]></description>
			<content:encoded><![CDATA[<p>所谓平生第一套 PHP 应用程序, 也就是我搞的那个同学录的程序. 今天刚刚完成了留言板系统, 功能的开发也就告一段落了. 接下来要做的, 也就是各种 bug 的修复之类的事情了.<br />
之前 PHP 的东西只给 Mgccl 开发过一个并查集的模块, 并没有太多接触. 这次是看 Nxun 在搞, 加上被 ACM 队踢掉了时间比较充裕, 所以就尝试搞了一下. 不得不说, 写这种东西和 ACM OI 差别还是很大的. 不过搞竞赛的时候攒下的一个优势, 体现的可是淋漓尽致了, 那就是代码能力.</p>
<p>php 这东西可真恶心, 本来刚开始还想尽量保持良好的代码结构, 后来发现完全是妄想... 不过还好, 程序结构本身并不复杂, 基本上还可以看懂自己写的代码. 真不知道应该怎么搞才能让代码看起来正常点...<br />
另外我的模块化做的还是不够, 直接导致的后果就是, 做同样一件事情有两套逻辑顺序不同的代码来完成... 而且我这套系统关于 cookie 的处理也比较诡异, session 也是用 cookie 代替的. 但是无论如何, 安全性暂时没啥太大的问题了. 还要谢谢 Nxun 帮我找到一个注入漏洞.</p>
<p>整个程序搞完了, 中间遇到的问题也不少. 大概有这些:<br />
SQL语句: 这个比较囧, 每次用到的时候都要去查. 不过现在大概能记住 "SELECT * FROM xxx WHERE yyy = zzz ORDER BY aaa, bbb" 这样的语句... 也差不多够用了.<br />
字符串处理: 之前一直在用一个 SQL 的函数搞防注入, 后来发现可以用 addslashes 等几个函数... 不过最后还是没有搞 HTML 代码屏蔽, 这样除了管理员页面可能会有点危险以外, 别的地方还是不会有太大问题的.<br />
include: 这个是比较悲剧的, 刚开始不知道 include_once 于是全篇 include... 系统还不是很大时没啥问题, 从系统做大开始, 就出现各种函数已经被定义的问题... 于是搜到了 include_once 和 require_once. 但是听说似乎最好用 require_once, 反正我是都用了 include, 应该问题不会太大.<br />
CSS: 这个其实是比较复杂的一个部分, 也是在 Nxun 和 sofish 的帮助下才都搞定, 加一个 div 清除浮动以达到高度自适应简直太脑残了... 真不知道浏览器都怎么设计的. 到最后也懒得处理 IE 6 的 padding 和/或 margin 的问题, 所以 IE 6 访问的时候页面布局会有一点小问题, 但是还可以看.<br />
大概就是这样, 别的问题肯定还有, 不过想不起来了.</p>
<p>下一步除了维护这套系统, 还准备给自己写一套相册系统. 那个就不用考虑太多安全性问题了, 反正那种系统被注入了也没什么可以拿走的东西, 跟同学录可不一样. 估计写起来会方便很多.<br />
最近也得找点比赛做了. 虽然大一应该是没有分区赛可打, 不过现在可是下定了决心大二要参加的. 所以这一年最重要的就是要保持状态, 不出意外的话会跟队训练, 同时自己平时也得多做题. 大家都要加油~<br />
p.s.交大这次除了一队, 队名都好诡异...</p>
]]></content:encoded>
			<wfw:commentRss>http://sqybi.com/blog/archives/135/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>交大ACM队机试结束</title>
		<link>http://sqybi.com/blog/archives/130</link>
		<comments>http://sqybi.com/blog/archives/130#comments</comments>
		<pubDate>Mon, 25 May 2009 01:37:40 +0000</pubDate>
		<dc:creator>sqybi</dc:creator>
				<category><![CDATA[About Computer]]></category>
		<category><![CDATA[[OI, ACM, etc]]]></category>
		<category><![CDATA[ACM]]></category>
		<category><![CDATA[SJTU]]></category>
		<category><![CDATA[个人赛]]></category>
		<category><![CDATA[比赛]]></category>

		<guid isPermaLink="false">http://sqybi.com/blog/archives/130</guid>
		<description><![CDATA[题目很恶心,7水+2难.结果就是N多人都是7道题,7道题主流啊...qujun这种做了7道题结果因为全场最水的G题看错题而排名靠后的就悲剧了... A题,给出C个字母,要求输出由这些字母所有满足下列条件的字符串:所有字母升序排列,每个字母只用一次,长度为L(L&#60;=15),单词里至少有一个元音两个辅音. 这道题因为刚开始状态不太好卡了一会儿,不过最后还是比较顺利的搞出来了. B题,给一个01矩阵,问有几个连通块(只有上下左右连通才算). 简单的BFS. C题,给一个5*5的数字矩阵,从任意一点开始每一次向上下左右的任意一个方向走一步,可以走重复的格子,经过6个格子之后会得到一个六位数.问总共可能得到多少个不同的六位数. 纯搜索. D题,题目描述比较恶心,反正就是给你一堆矩形叠在一起的影子,问最少多少个矩形能够叠出这样的影子.所有矩形都是放在地面上的. 用链表维护一下就行,题目稍微长一些,但是很简单.第一次写写错了,写的算法和想的算法不是一个...走神了啊.不过还好,后来改对了. E题,有N头牛,每头牛都有一个强壮指数和重量.现在把它们按照某个顺序叠起来,每头牛计算一个上面所有牛的重量之和(不包括自己)减去它的强壮指数,问如何所有牛的这个值的最大值尽量小,输出这个最小的最大值. 刚开始还以为是二分答案,后来想到了贪心是把重量和强壮指数加起来,大的放在底下,但是没法证明,第一次submit还错了.后来发现第一头牛的这个值应该是负的自己的强壮指数,改了再交就过了.但是没完整地证明出来(只证明了三头牛是正确的). F题,给定函数f(a),计算方法是:把a的最后一位挪到第一位前面,然后平方,再把结果的第一位挪到最后一位后面.问第N个满足条件f(a)=a^2的a是多少. 写个暴力找下规律,就可以发现是1,2,3,21,221,2221,22221...于是直接输出就可以了. G题,全场最水的一道题.就是给定N个点,两个点之间有个某某概率为1/sqrt((x1-x2)^2+(y1-y2)^2+(z1-z2)^2+1),问最后一个点和前面所有点分别算这个概率,最大的一个概率是多少. 只需要把最后一个点和前面所有点的概率分别算出来然后找个最大的就行了...很可惜,因为是个人赛,所以没办法刚开始就看完所有题...基本上每个人都是最后才做出这道题的.还有很多看错题,求了所有点对之间的...那些人很悲剧... 然后是两道不可做题. H题,要求求出一个序列{a_n},满足sigma(i=1~n)a_i=x,sigma(i=1~n)a_i^p=y,而且sigma(i=1~n)a_i^q尽量小.输出这个最小值. 数论题,我是直接放掉了... G题,给一个有向无环图,给四个点abcd,四个点的编号都不同,从a到c和从b到d可以找到一对不相交路径(就是没有公共点),问这样的路径对有多少种. 这道题写了个暴力交上去,然后眼睁睁的看着前面的judge拿我的程序跑,大概在第三个点TLE了...然后给我return了一个TLE...于是就再也没想出来... 大概就是这样,题还是很水的了.最后排在所有人的第13名,比笔试退后了两名...不过据说这次又会有N多人晋级面试,唉...]]></description>
			<content:encoded><![CDATA[<p>题目很恶心,7水+2难.结果就是N多人都是7道题,7道题主流啊...qujun这种做了7道题结果因为全场最水的G题看错题而排名靠后的就悲剧了...</p>
<p>A题,给出C个字母,要求输出由这些字母所有满足下列条件的字符串:所有字母升序排列,每个字母只用一次,长度为L(L&lt;=15),单词里至少有一个元音两个辅音.   <br />这道题因为刚开始状态不太好卡了一会儿,不过最后还是比较顺利的搞出来了.</p>
<p>B题,给一个01矩阵,问有几个连通块(只有上下左右连通才算).   <br />简单的BFS.</p>
<p>C题,给一个5*5的数字矩阵,从任意一点开始每一次向上下左右的任意一个方向走一步,可以走重复的格子,经过6个格子之后会得到一个六位数.问总共可能得到多少个不同的六位数.   <br />纯搜索.</p>
<p>D题,题目描述比较恶心,反正就是给你一堆矩形叠在一起的影子,问最少多少个矩形能够叠出这样的影子.所有矩形都是放在地面上的.   <br />用链表维护一下就行,题目稍微长一些,但是很简单.第一次写写错了,写的算法和想的算法不是一个...走神了啊.不过还好,后来改对了.</p>
<p>E题,有N头牛,每头牛都有一个强壮指数和重量.现在把它们按照某个顺序叠起来,每头牛计算一个上面所有牛的重量之和(不包括自己)减去它的强壮指数,问如何所有牛的这个值的最大值尽量小,输出这个最小的最大值.   <br />刚开始还以为是二分答案,后来想到了贪心是把重量和强壮指数加起来,大的放在底下,但是没法证明,第一次submit还错了.后来发现第一头牛的这个值应该是负的自己的强壮指数,改了再交就过了.但是没完整地证明出来(只证明了三头牛是正确的).</p>
<p>F题,给定函数f(a),计算方法是:把a的最后一位挪到第一位前面,然后平方,再把结果的第一位挪到最后一位后面.问第N个满足条件f(a)=a^2的a是多少.   <br />写个暴力找下规律,就可以发现是1,2,3,21,221,2221,22221...于是直接输出就可以了.</p>
<p>G题,全场最水的一道题.就是给定N个点,两个点之间有个某某概率为1/sqrt((x1-x2)^2+(y1-y2)^2+(z1-z2)^2+1),问最后一个点和前面所有点分别算这个概率,最大的一个概率是多少.   <br />只需要把最后一个点和前面所有点的概率分别算出来然后找个最大的就行了...很可惜,因为是个人赛,所以没办法刚开始就看完所有题...基本上每个人都是最后才做出这道题的.还有很多看错题,求了所有点对之间的...那些人很悲剧...</p>
<p>然后是两道不可做题.</p>
<p>H题,要求求出一个序列{a_n},满足sigma(i=1~n)a_i=x,sigma(i=1~n)a_i^p=y,而且sigma(i=1~n)a_i^q尽量小.输出这个最小值.   <br />数论题,我是直接放掉了...</p>
<p>G题,给一个有向无环图,给四个点abcd,四个点的编号都不同,从a到c和从b到d可以找到一对不相交路径(就是没有公共点),问这样的路径对有多少种.   <br />这道题写了个暴力交上去,然后眼睁睁的看着前面的judge拿我的程序跑,大概在第三个点TLE了...然后给我return了一个TLE...于是就再也没想出来...</p>
<p>大概就是这样,题还是很水的了.最后排在所有人的第13名,比笔试退后了两名...不过据说这次又会有N多人晋级面试,唉...</p>
]]></content:encoded>
			<wfw:commentRss>http://sqybi.com/blog/archives/130/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>ACM/ICPC World Final 2009 结束</title>
		<link>http://sqybi.com/blog/archives/128</link>
		<comments>http://sqybi.com/blog/archives/128#comments</comments>
		<pubDate>Tue, 21 Apr 2009 15:12:45 +0000</pubDate>
		<dc:creator>sqybi</dc:creator>
				<category><![CDATA[About Computer]]></category>
		<category><![CDATA[[OI, ACM, etc]]]></category>
		<category><![CDATA[ACM]]></category>
		<category><![CDATA[ICPC]]></category>
		<category><![CDATA[比赛]]></category>
		<category><![CDATA[清华]]></category>

		<guid isPermaLink="false">http://sqybi.com/blog/archives/128</guid>
		<description><![CDATA[真的好久没有更新了呢, 快一个月了吧. 这篇 blog 只说刚刚结束的 WF 的事情, 不会很长, 别的我要是不困再写一篇. 知道今天有 WF 也是下午回家之后的事, 然后立刻开 ranking 观战. 这时有人发来一个视频直播的链接, 打开看了, 很卡加上半懂不懂的英语解说, 我获得的信息基本还是来自 ranking 的. 当时一直关注着 SJTU 的尴尬的 2 题, 然后就发现 tsinghua 在前面也停滞不前了. 接下来就是眼睁睁的看着 tsinghua 被一次次的赶超. 然后 tsinghua 貌似出了一题, 但是很快就发现 ZJU 赶了上来... 这时 TJU 都跑到了 SJTU 的前面, 真的很尴尬. 直到 FROZEN 的时候, ZJU 是 rank 5, TSU 是 rank 6, [...]]]></description>
			<content:encoded><![CDATA[<p>真的好久没有更新了呢, 快一个月了吧.   <br />这篇 blog 只说刚刚结束的 WF 的事情, 不会很长, 别的我要是不困再写一篇.</p>
<p>知道今天有 WF 也是下午回家之后的事, 然后立刻开 ranking 观战. 这时有人发来一个视频直播的链接, 打开看了, 很卡加上半懂不懂的英语解说, 我获得的信息基本还是来自 ranking 的.   <br />当时一直关注着 SJTU 的尴尬的 2 题, 然后就发现 tsinghua 在前面也停滞不前了. 接下来就是眼睁睁的看着 tsinghua 被一次次的赶超.    <br />然后 tsinghua 貌似出了一题, 但是很快就发现 ZJU 赶了上来... 这时 TJU 都跑到了 SJTU 的前面, 真的很尴尬. 直到 FROZEN 的时候, ZJU 是 rank 5, TSU 是 rank 6, 而 TJU 和 SJTU 都是 3 题 (似乎快封板了才搞出一题?), 排在好几十名, TJU 貌似更靠前.    <br />然后 FROZEN, 接下来就是一边看亚冠一边期待...</p>
<p>刚刚看完亚冠回来的时候, 群里对比赛结果有 N 种说法... 最后在饮水思源上看到了 JinBin 的发言, 基本确定了 tsinghua 最后是第二, 似乎是最后时刻爆发了, 做出了9题 (封板的时候第一名是8题, 第二名6题, tsinghua 是第6), 不过还是因为罚时只拿到了第二... ACRush 教主竟然拿了两个第二, 真的不知道说什么好... 听说楼教主当时哭了, 其实我也想哭了...</p>
<p>可能记得不是很清楚, 有不对的地方, 但大致的进程就是这样...   <br />ICPC 真的很刺激... 终于又一次发现了它的魅力... 团队协作的比赛, 还是比 TC 那种单打独斗更加令人痴迷, 令人陶醉.</p>
<p>就是这样. 最终圣彼得堡的一个什么学院拿了第一, 清华第二, 圣彼得堡大学第三. 浙大拿到了第六, 赞一个. 而交大最后是并列第13, 很无奈.</p>
]]></content:encoded>
			<wfw:commentRss>http://sqybi.com/blog/archives/128/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Everything is New</title>
		<link>http://sqybi.com/blog/archives/127</link>
		<comments>http://sqybi.com/blog/archives/127#comments</comments>
		<pubDate>Sun, 29 Mar 2009 12:51:23 +0000</pubDate>
		<dc:creator>sqybi</dc:creator>
				<category><![CDATA[About Computer]]></category>
		<category><![CDATA[[OI, ACM, etc]]]></category>
		<category><![CDATA[ACM]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[用户名]]></category>

		<guid isPermaLink="false">http://sqybi.com/blog/archives/127</guid>
		<description><![CDATA[友情提示: 本文没有任何实用价值, 请自行决定是否观看本文, 或者直接拉到最后 (不过估计我写不了几行). 虽然说就要进大学了, 但是还没有个新的面貌啊. Blog 已经两周一次更新了, 足以体现现在我有多么懒. 整天玩游戏, 上校内, 切题, 过得毫无感觉. Boss 那儿给了不到 20 道二分图匹配的题, 竟然前两道题都没有 1Y, 我真弱智. 嗯还是说正题吧. 开始为 ACM 做准备了. 虽然听说了 SJTU 的 ACM 队很难进, 不过还是有一些憧憬的. 毕竟大一的同学里只有这些 OIer 在竞争, 虽然个个都是高手, 不过自己也不能就这么放弃. 然后呢, 现在很无聊, 于是想为以后的 ACM 准备个用户名. 主要是在各个 OJ 上的 sqybi 的刷题记录没办法清除, 所以换个用户好知道自己哪道题还没做过... 毕竟以前做的题现在不一定还会了. 现在在用 sqybicpp, 看着就难看. 所以自己准备了一些用户名, 欢迎留言告诉我哪个好, 或者有更好的创意也请告诉我... ssjqtyu [...]]]></description>
			<content:encoded><![CDATA[<p>友情提示: 本文没有任何实用价值, 请自行决定是否观看本文, 或者直接拉到最后 (不过估计我写不了几行).</p>
<p>虽然说就要进大学了, 但是还没有个新的面貌啊.</p>
<p>Blog 已经两周一次更新了, 足以体现现在我有多么懒. 整天玩游戏, 上校内, 切题, 过得毫无感觉.   <br />Boss 那儿给了不到 20 道二分图匹配的题, 竟然前两道题都没有 1Y, 我真弱智.</p>
<p>嗯还是说正题吧. 开始为 ACM 做准备了. 虽然听说了 SJTU 的 ACM 队很难进, 不过还是有一些憧憬的. 毕竟大一的同学里只有这些 OIer 在竞争, 虽然个个都是高手, 不过自己也不能就这么放弃.   <br />然后呢, 现在很无聊, 于是想为以后的 ACM 准备个用户名. 主要是在各个 OJ 上的 sqybi 的刷题记录没办法清除, 所以换个用户好知道自己哪道题还没做过... 毕竟以前做的题现在不一定还会了.    <br />现在在用 sqybicpp, 看着就难看. 所以自己准备了一些用户名, 欢迎留言告诉我哪个好, 或者有更好的创意也请告诉我...</p>
<p>ssjqtyu - sSjQtYu   <br />sqeezey - SQeezeY    <br />saqcym - SaQcYm    <br />crapixo - cRaPiXo -&gt; RPX -&gt; (R+1)(P+1)(X+1) -&gt; SQY    <br />sterizy - sTeRiZy -&gt; TRZ -&gt; (T-1)(R-1)(Z-1) -&gt; SQY</p>
<p>后面是解释.. 基本就围绕着 sqy, sjtu 和 acm. 貌似 crapixo 还比较好看... ssjqtyu 那个就很难看...</p>
<p>另外, 最近做题要顺手整理代码了, zmc 给我的那份代码库简直太强大了... 不过还是自己整理的代码用着舒服.</p>
]]></content:encoded>
			<wfw:commentRss>http://sqybi.com/blog/archives/127/feed</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>武汉大学百度杯比赛惨败</title>
		<link>http://sqybi.com/blog/archives/126</link>
		<comments>http://sqybi.com/blog/archives/126#comments</comments>
		<pubDate>Sun, 15 Mar 2009 03:40:25 +0000</pubDate>
		<dc:creator>sqybi</dc:creator>
				<category><![CDATA[About Computer]]></category>
		<category><![CDATA[[OI, ACM, etc]]]></category>
		<category><![CDATA[ACM]]></category>
		<category><![CDATA[武汉大学]]></category>
		<category><![CDATA[比赛]]></category>

		<guid isPermaLink="false">http://sqybi.com/blog/archives/126</guid>
		<description><![CDATA[为了方便搜索引擎, 列出全名: 百度杯 第四节华中北区程序设计邀请赛 The 4th Baidu Cup Central China Invitational Programming Contest 比赛也算是比较圆满的结束了 (如果不考虑比赛过程中不断的 HTTP 503 / 500 的话), 挂的也是够惨. 据说除了校内队伍取 40 支, 然后我们总排名第 54. 还有一丝希望晋级吧. 已经被淘汰了. 也好, 轻松了. 不想再发泄什么因为我晚到半小时导致比赛结束 10 min 才出 I 题的事情... 昨天发泄够了也在校内被 bs 够了. 当然当时没 bs 够的还可以接着来这篇文章底下留言 bs... 我现在心情至少比那时候好. 正式比赛里, gnocuil 牛领衔的 E.W.F. 队没有如愿拿到第一, 第一被 jby 神牛的 Gold Kylin 抢去了... [...]]]></description>
			<content:encoded><![CDATA[<p>为了方便搜索引擎, 列出全名:<br />
百度杯 第四节华中北区程序设计邀请赛<br />
The 4th Baidu Cup Central China Invitational Programming Contest</p>
<p>比赛也算是比较圆满的结束了 (如果不考虑比赛过程中不断的 HTTP 503 / 500 的话), 挂的也是够惨.<br />
据说除了校内队伍取 40 支, 然后我们总排名第 54. <span style="text-decoration: line-through;">还有一丝希望晋级吧.</span> <span style="color: #ff0000;">已经被淘汰了. 也好, 轻松了.</span></p>
<p>不想再发泄什么因为我晚到半小时导致比赛结束 10 min 才出 I 题的事情... 昨天发泄够了也在校内被 bs 够了. 当然当时没 bs 够的还可以接着来这篇文章底下留言 bs... 我现在心情至少比那时候好.</p>
<p>正式比赛里, gnocuil 牛领衔的 E.W.F. 队没有如愿拿到第一, 第一被 jby 神牛的 Gold Kylin 抢去了... 第三竟然是 cqf 神牛, 不知道做题的时候神牛有没有用到 SBT 呢... 第四不认识, 第五是 xt 神牛, 果然中学队伍比较强大.<br />
然后强力的 wh 拿到了第 16, orz一个. 啊, 忘了说, 然牛貌似是第 12 啊. And, rank 13 是姜里羊神牛. 能认出来的貌似就这些.</p>
<p>比赛刚开始, 我就迟到了... 等我到的时候, 比赛已经开始了半小时, 貌似有很多队伍都出两三道题了. 而 zmc 也过掉了 G (似乎是水题, 我没看题).<br />
到了之后我就鬼使神差地开始写 E (一个不是太恶心的枚举), 还鬼使神差的读错题了. 于是贡献了 4 个 WA 以后才 A 掉, 这也就导致我们在出 4 题 5 题的时候, 排名一直是最靠后的.<br />
在我 submit E 的同时, zmc 也在做 J (据说是弱智DP). 然后我在 E 多次 submit 都 WA 的情况下, 最终开始搞 H (纯水题, 排序), 在使用了大量 STL 的情况下 (map, set, vector, pair, algorithm, 基本上 1/2 的程序行都有这些东西), 终于 2Y 掉. 而在 Y 掉 H 之前, zmc 和 Nxun 找到了 E 的问题, 就是读题读错了 (关于该黑棋还是白棋走的问题). 于是 E 题也过掉. 紧接着, zmc 也过掉了 J.<br />
然后, Nxun 就开始折腾那道不太该折腾的题, F (根据化学式计算相对分子质量, 需要高精度). 这道题直到最后也没搞对, 最终确定是高精度写错了. 而我正好发现了 D 题 (Cipher 加密法) 是我曾经给 FNOI 的小朋友们出过的一道题 (瀑布汗! 我当时出的是解密, 这里要求加密), 于是赶快写, 1Y 掉. 这道题本该早写的, 但是当时看 AC 人数比较少所以都没看题...<br />
接下来的时间就是每人一道题慢慢磨的时间了, zmc 是 C (恶心计算几何貌似?), Nxun 还是 F, 而我是 I (SCDP). 最终三道题一道也没出, 比赛结束 10min 后搞出了 I. 错的原因也在校内说过了, 数组开小了 1. Shoot.</p>
<p>这次败得够惨, 顺便膜拜搞出 A (双向宽搜) 的牛们.</p>
<p>顺便提一句, TCO Round 1 我就被淘汰了, 最近状态 ttm 差了...</p>
]]></content:encoded>
			<wfw:commentRss>http://sqybi.com/blog/archives/126/feed</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>游戏推荐: 韦诺之战 (Battle for Wesnoth)</title>
		<link>http://sqybi.com/blog/archives/125</link>
		<comments>http://sqybi.com/blog/archives/125#comments</comments>
		<pubDate>Thu, 26 Feb 2009 14:51:21 +0000</pubDate>
		<dc:creator>sqybi</dc:creator>
				<category><![CDATA[About Computer]]></category>
		<category><![CDATA[Wesnoth]]></category>
		<category><![CDATA[开源]]></category>
		<category><![CDATA[战棋]]></category>
		<category><![CDATA[推荐]]></category>
		<category><![CDATA[游戏]]></category>
		<category><![CDATA[韦诺之战]]></category>

		<guid isPermaLink="false">http://sqybi.com/blog/archives/125</guid>
		<description><![CDATA[貌似是 blog 上第一次专门写一篇文章推荐一款游戏啊. 不过 Battle for Wesnoth 的确是我见过的最好的一款开源游戏了. Wesnoth 是战棋类游戏, 地图的每一个格子为正六边形, 对战模式的地图存储为文本文件 (也就是说只要了解了不同的字符代表的意义, 你可以用任意一个文本编辑器去编辑 / 制作地图, 不过战役模式则不同). 一个特点是, 所有的单位都只能够攻击相邻格子的单位, 而攻击却有两种, 近身和远程, 当攻击者用其中一种进行攻击的时候, 防御者也只能用对应的那种防御. 单位的种族有很多 (貌似六个?), 而战役 + 对战的模式使得 Wesnoth 变得十分好玩. 对战模式又分为网络对战和本机多人对战, 后者还可以有 AI 的参与, 每个 AI 都是一个 Python 代码, 你可以自己编写一个 AI. 如果想要玩一玩, 直接到官网下载程序和各种地图, 大部分 Linux 用户可以直接从源里安装, 或者你也可以从 SVN 下载并编译. 战役和对战都玩了, 因为我玩的战役 (South Guard) 大部分都是控制人族单位的, 所以对人族了解稍微多一点, [...]]]></description>
			<content:encoded><![CDATA[<p>貌似是 blog 上第一次专门写一篇文章推荐一款游戏啊. 不过 <a href="http://www.wesnoth.org/" target="_blank">Battle for Wesnoth</a> 的确是我见过的最好的一款开源游戏了.</p>
<p>Wesnoth 是战棋类游戏, 地图的每一个格子为正六边形, 对战模式的地图存储为文本文件 (也就是说只要了解了不同的字符代表的意义, 你可以用任意一个文本编辑器去编辑 / 制作地图, 不过战役模式则不同). 一个特点是, 所有的单位都只能够攻击相邻格子的单位, 而攻击却有两种, 近身和远程, 当攻击者用其中一种进行攻击的时候, 防御者也只能用对应的那种防御.</p>
<p>单位的种族有很多 (貌似六个?), 而战役 + 对战的模式使得 Wesnoth 变得十分好玩. 对战模式又分为网络对战和本机多人对战, 后者还可以有 AI 的参与, 每个 AI 都是一个 Python 代码, 你可以自己编写一个 AI.</p>
<p>如果想要玩一玩, 直接到<a href="http://www.wesnoth.org/" target="_blank">官网</a>下载程序和各种地图, 大部分 Linux 用户可以直接从源里安装, 或者你也可以从 SVN 下载并编译.</p>
<p>战役和对战都玩了, 因为我玩的战役 (South Guard) 大部分都是控制人族单位的, 所以对人族了解稍微多一点, 给没玩过的朋友稍微介绍一下.   <br /><strong>弓箭手</strong>, 这个我刚开始时大量招募的单位, 网上说很鸡肋. 我开始不太觉得, 但是打到 South Guard 的倒数第二关 (盗贼支线) 的时候终于发现很难用了 -- 即使升到了三级, 依然一打就死, 虽然远程近程都不弱, 但是血薄是它的致命弱点, 强烈不推荐. 不过打一些零星的类似人族重甲的血厚却没有远程攻击的单位还是有一些用处的 (不过基本也是一个甚至几个换一个).    <br /><strong>矛兵</strong>, 最经济的单位. 刚开始看它的远程比较弱, 所以不喜欢招募, 后来发现它守城还是有很大用处的, 因为即使是防御的时候, 它也会率先攻击. 价格不是太贵, 升级之后也比较强, 加上血不是太薄, 多买些没坏处.    <br /><strong>骑兵</strong>和<strong>骑手</strong>, 两个移动极高的单位. 区别我也不太清楚, 貌似骑兵更适合侦查, 而骑手更适合打游击.    <br /><strong>重甲步兵</strong>, 也就是前面提到的 &quot;重甲&quot;. 血比较厚 (实际上和骑兵骑手一样), 近程攻击强 (单次攻击耗血量大), 移动速度慢. 实际使用中还是配合矛兵防守为好, 最好旁边有法师补血. 感觉这东西如果出就要攒够钱一下子出好几个, 不然一两个很快就会被对方的远程部队干掉. 还有, 我曾经试过在对战中用重甲加弓箭手拼AI的树人 (精灵族一个类似重甲但是攻击力更强一些的东西), 输得很惨.    <br /><strong>法师</strong>, 血薄, 不过远程攻击是魔法攻击, 对任何单位都有 70% 的命中率. 而且能够给周围的单位补血. 如果足够有钱, 一个法师周围一圈重甲再外面几个骑兵矛兵扫荡, 比较爽... 当然能出这些兵的时候估计已经赢了...    <br /><strong>剑术家</strong>, 生命不多, 攻击力不高, 有稍微高一些的闪避和速度. 如果是一个普通的单位, 貌似没有什么存在的价值 -- 不过它有一点却是无人能比的, 那就是无视控制区域. 在 Wesnoth 里, 如果前方有一个敌人, 那么那个敌人周围的几个格子是不能通行的 (也就是不能通过敌人身边的格子绕到敌人身后), 那些格子叫做敌人单位的控制区域. 而剑术家可以无视控制区域, 这表示如果敌人的 boss 在血不多的时候被几个敌人单位用控制区域围在了中间, 剑术家依然可以攻击到敌人的 boss 并完成致命一击. 当然, 招募多了也没啥用.    <br />基本就是这些.</p>
<p>我在战役 South Guard 里卡在第 6 关了. 正如上面说过的, 我选择了和盗贼结盟的支线. 在第 5 关的时候, 已经和精灵结盟的你会面临一个支线选择, 如果选择和盗贼结盟, 精灵就会和你反目成仇, 你需要和盗贼一起打败不死族; 反之, 你需要和精灵联手打败不死族和盗贼. 从网上为数不多的评论看来, 精灵支线会比盗贼支线好打得多. 虽然精灵支线会导致必须一直打到第 9 关才能结束, 而盗贼支线貌似只有 7 关, 不过盗贼支线的第 6 关 (就是我在卡的那关) 十分困难. 这关里, 需要和盗贼一起 (实际上盗贼的单位都很弱, 基本没用, 而盗贼首领也很弱, 还需要保护它) 同时突破精灵和不死族的阻击从地图右下角到达左上角, 回合数也是少得可怜的 40 回合. 我即使到最后使用了大量的牺牲战术牺牲了很多个三级兵 (有大部分是弓箭手, 三级弓箭手仍然无法用来抗血), 还是回合用尽 (差一点就到了啊啊啊) 输掉了战役. 最关键的是, 大片森林地形对精灵和不死很有利, 我十分无奈...</p>
<p>说了这么多, 还是去玩玩吧... 至少应该不会让你失望的.</p>
<p>p.s. 为啥还没收到 SJTU 的预录取通知书... and, whu 的那个比赛, 问了一堆人, 想去的只有我, zmc, Nxun 和 xhy 四个人. 发现什么了没有? 我们四个都是 SJTU 的! 十分无语啊, SJTU 的人都这么喜欢比赛么...</p>
]]></content:encoded>
			<wfw:commentRss>http://sqybi.com/blog/archives/125/feed</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Time Limit Exceeded 结束 &amp;&amp; Happy Valentine&#039;s Day~</title>
		<link>http://sqybi.com/blog/archives/123</link>
		<comments>http://sqybi.com/blog/archives/123#comments</comments>
		<pubDate>Sat, 14 Feb 2009 16:03:50 +0000</pubDate>
		<dc:creator>sqybi</dc:creator>
				<category><![CDATA[About Computer]]></category>
		<category><![CDATA[TLE]]></category>
		<category><![CDATA[情人节]]></category>
		<category><![CDATA[比赛]]></category>
		<category><![CDATA[结束]]></category>
		<category><![CDATA[题目]]></category>
		<category><![CDATA[题解]]></category>

		<guid isPermaLink="false">http://sqybi.com/blog/archives/123</guid>
		<description><![CDATA[昨天搞完了 Time Limit Exceeded, 现在还有一道题TESTGEN没有测试, 其余题目我们 YaohuaFree 的 Rank 是 41, 得分很诡异地竟然是 1234 分 (Rank List). 还算可以接受吧, 不过很可惜最后还是没有达成超过 lonelycorn 和搞掉 CLASS 这两个目标. 简单的说一下题目. Key to C (KEY) 这道题是我们第一道出的题目, 也是搞得最久的一道题目, 不过事实证明这道题根本拉不开分差 -- 最高的 154 分, 而我们 126 分就 20 多名了. 和其他的题目的 rank 1 动辄上千分比起来, 这道题做了基本相当于没做. 题目要求读入一些数, 判断它们的二进制表示是否回文. 评分标准和很多东西有关, 比如程序中关键字的个数 (这个权重最大), 比如空格个数, 比如代码长度... 总之这些东西都是越多得分越低. 然后代码回文会得到 extra bonus, [...]]]></description>
			<content:encoded><![CDATA[<p>昨天搞完了 Time Limit Exceeded, 现在还有一道题TESTGEN没有测试, 其余题目我们 YaohuaFree 的 Rank 是 41, 得分很诡异地竟然是 1234 分 (<a href="http://felicity.iiit.ac.in/tle/judge/ranks" target="_blank">Rank List</a>). 还算可以接受吧, 不过很可惜最后还是没有达成超过 lonelycorn 和搞掉 CLASS 这两个目标.    <br />简单的说一下题目.</p>
<ol>
<li>Key to C (KEY)     <br />这道题是我们第一道出的题目, 也是搞得最久的一道题目, 不过事实证明这道题根本拉不开分差 -- 最高的 154 分, 而我们 126 分就 20 多名了. 和其他的题目的 rank 1 动辄上千分比起来, 这道题做了基本相当于没做.      <br />题目要求读入一些数, 判断它们的二进制表示是否回文. 评分标准和很多东西有关, 比如程序中关键字的个数 (这个权重最大), 比如空格个数, 比如代码长度... 总之这些东西都是越多得分越低. 然后代码回文会得到 extra bonus, 貌似是 4 倍多分数吧.      <br />基本的做法就是?:操作符加main递归, 貌似 rank 1 那个也就这么做的.</li>
<li>Play with Code (SHORTEN)     <br />给出一个代码要求缩短. 这道题最终也不知道那个代码到底啥意思, 只看懂了一段求素数. 而且那个代码在我们几个人的机器上跑貌似都 RE 掉了... 评分规则是代码长度越长分数越少.      <br />最终的做法是物理缩短... 也就是 define 一个 for 啊, 改一点变量名啊... 就这样子...</li>
<li>Produce the Code (INPUT)     <br />给出一个输入文件和一个输出文件, 要求写一个程序, 对于这个输入文件能够输出给出的输出文件. 当然可以不理睬输入文件直接把输出文件打出来 (我的第一个 code 的确是这么干的), 不过这样代码长度会很长, 而这道题的评分规则也是代码长度越长分数越少...      <br />这道题由三个人合力完成... 先是来帮忙的 xhy 同学看出了替换规则 (我就是一直卡在这里), 然后我折腾出了乱序的规则, 最后是木木同学的 coding... 虽然 rank 不高不过做得很爽.</li>
<li>#ED (CODEHASH)     <br />给出一段代码, 给一个 hash 函数, 要求代码输出自身的 hash 值.      <br />貌似有人用 whitespace 来搞, 不过还是比较 orz 那个 rank 1 的, 就一句代码... 很强大.      <br />这题我们一点没动.</li>
<li>COMPILE ERROR (CLASS)     <br />我最想做出来的题, 但可惜最后也没做出来.      <br />要求写一个类 multiply, 里面包括一个函数 mult(int a, int b), 函数的功能是输出 a * b 的结果, a, b 都小于 10000. 变态就变态在不允许用空白字符...      <br />见到了两种解决方法, 一种是官方的 (之所以说官方因为这道题提示了要用 typedef, 如果认为题目描述的那个 &quot;typedefine a class&quot; 不足以说明问题, 那么自己去翻 forum), 另一种很诡异, 用一个不可见字符替代了空白字符还编译通过了... 据说那个字符是 \f, 从来没见过...</li>
<li>PRINT D PENGUIN (PENGUIN)     <br />给一个字符画, 是 Linux 那个企鹅. 要求输出这个东西.      <br />基本就是考压缩, 我因为怕编译器没法处理所以只压缩成了可见字符, 但是事实证明编译器是可以处理不可见字符的, 因为 rank 前几名的都用了不可见字符. 我很无奈, 不过可见字符范围的压缩我基本是搞到极限了, 还比较有成就感.</li>
<li>PRINT ME (PRINT)     <br />这道题是前来帮忙的 xhy 写的, 题目要求很简单, 输入一个数, 如果是偶数那么输出代码本身, 否则反转代码输出.      <br />xhy 写了一个回文的代码, 这样就不用管奇数偶数了, 而且根据题目还可以获得 200 pts 的加分.很不错.      <br />最后一天用了很短的时间完成的 code, 得分还不低 (貌似是所有题里 rank 最高的一个), 或许是性价比最高的一个 code 了.</li>
<li>P=NP (NP)     <br />这道题的题目描述讨论了半天也没明白, 最终放弃. 直接贴出英文题目描述, 做出来的神牛 (比如 oldherl) 来讲解一下...      <br />&quot;Given an directed graph, find out the minimal set of vertex such that all vertex not in the set have atleast one edge in the set.&quot;</li>
<li>P!=NP (TESTGEN)     <br />这道题是为上一道题出测试数据 (想起 SRM 了), 以上一道题 submit 的代码跑的情况评分. 因为前一道题没看懂, 加上最后还有 10 分钟的时候才开写, 所以输出了一个基本是完全图的图草草了事. 这道题至今还没出成绩.</li>
<li>Arbit Code (ARBIT)     <br />此题做的比较爽. 给一段会 TLE 的代码 (实际测试证明还会 RE), 要求改成能够 AC 的代码. 不知道代码是干什么的, 只有数据范围.      <br />这道题我们的做法是, 把一个范围内 (刚开始是 1~20, 后来为了测试增加到了 1~50) 的所有输入全部打出来, 然后分析规律.      <br />刚开始的成果是, 求 f(a, b)的时候, 把 b 从 1 到 a 列出表格, 发现每到 a 的约数才发生变化.      <br />接下来我发现对于素数和素数的幂, 它们的 f 的变化规律是按照比它小的幂变化 (不太好描述, 想知道的话自己输出几个比如 a = 27 或者 16 就能发现了).      <br />然后木木又发现了 f(a, 1) = phi(a) (这里 phi 是欧拉函数).      <br />最后时刻木木大胆猜测:      <br />当 b = 1 时, f(a, b) = phi(a);      <br />当 b 不是 a 的约数 (a % b != 0) 时, f(a, b) = f(a, b - 1);      <br />当 b 是 a 的约数时, f(a, b) = f(a, b - 1) + f(a / b, 1).      <br />然后写了个 code submit 上去, 挂了.      <br />差点就认为这个推测不对, 但是本地测试 100 以内的数据发现和给出的程序输出完全匹配.      <br />最后偶然发现, 有一句要做 t * ((i - 1) / i) (不用说也知道是求欧拉函数时候写的), 我当初写的是 t * (i - 1) / i, 而 t * (i - 1) 会爆掉 int... 改成 t / i * (i - 1) 就 AC 了.</li>
<li>Give It a try (THINK)     <br />这道题是最有意思的, 要求破解三个密码, 没有任何提示.      <br />第一个密码很简单, 一篇文章, 把里面所有的大写字母挑出来拼在一起, 就是答案了.      <br />第二个密码是一个 32 * 241的 01 矩阵, 最后也不知道是啥意思, 只知道答案是 2.      <br />第三个密码, 刚开始一看就感觉是一个简单的 26 个字母的置换, 然后还推出了 p =&gt; e, 另外还找到了三个 p 连在一起的一个突破口. 但是无奈没有破解经验, 加上文章里竟然 26 个字母都是齐全的, 让我有点打退堂鼓, 所以没有一鼓作气破解出来, 很遗憾. 其实想想, 当初直接按照统计学的字母出现频率解密, 然后再做微调, 应该都可以把密码破出来了... 很无奈.</li>
</ol>
<p>比赛基本就是这样, 最后的 1234 分真的不是有意为之... 运气比较好吧.</p>
<p>-------------------我是爱情的分隔线-------------------</p>
<p>今天情人节, 白天在家待了一天 (本来说要和 lxc, djs 去打台球, 一想今天人应该多就没去), 晚上去 FNOI (还迟到了), 就这么度过了情人节.</p>
<p>放一张图, 从 M67 那里看到的, 来源是 <a href="http://abstrusegoose.com/" target="_blank">Abstruse Goose</a> (<a href="http://abstrusegoose.com/113" target="_blank">来源页面</a>).</p>
<p><a href="http://sqybi.com/blog/wp-content/uploads/alicenbob.png" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="alicenbob" border="0" alt="alicenbob" src="http://sqybi.com/blog/wp-content/uploads/alicenbob-thumb.png" width="640" height="488" /></a>&#160;</p>
<p>祝各位情人节快乐, 估计我能在本科上完之前找到第一个 GF 就很不错咯... 光棍节还可以一直过下去, 很满足很满足...   <br />p.s. 文章写完正好 0:00, 情人节过去了... 这篇文章的分类想了很久是 About Computer 还是 About<br />
Life, 最终还是放在了前者里...</p>
]]></content:encoded>
			<wfw:commentRss>http://sqybi.com/blog/archives/123/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>
