“ACM” 标签页面:

  • ACM的那些事儿(二)

    寒流,甲流。

    天灾人祸。

    所以,我们选择安全地活着。

    宅在寝室,就是一个很好的生活方式。

    做一下模拟赛,让日子过得更滋润。

    于是乎,每周一“摸”的组内模拟赛,在11月15日,照常进行。

    中午1点集合。我问,咱们是做水题还是做水题?Upwinder说,做水题。话音未落,只见Zhuerduo以迅雷不及掩耳盗铃儿响叮当之势,刷刷地打开了HDOJ。我们哗啦啦地挖出了几年前的HDOJ比赛,题目中水题比例达到了60%。剩下的,是简单题或稍难但在我们能力范围内的题目。

    Upwinder说,天冷了,要做点水题,增强信心。我点头道,是的,多做水题,多A题目,有助于增强免疫力。Zhuerduo说,好,开始飙题吧。

    接着,我和Zhuerduo一起从前面开始往后读题,Upwinder从后面开始往前读题。由于题目比较简单,我们几乎是读出一题就马上知道解题思路。而两台电脑,一台常规用途,另一台仅供读题使用,此二者也没空闲过。

    中间的刀光剑影遇招拆招就略过不提,两个半小时过去,我们已经将6题中的5题AC了。值得一提的是,有一题求N^N结果的最左边数字的题目,我们WA了两次。我们知道,我们遇到了传说中的卡题。佛语有云,万物有因必有果,因果循环。我们经过抽丝剥茧,一步步检查问题排除原因后,终于把问题所在聚焦在将浮点数取整数部分的代码上。当时我们用int强制转换,在调试过程中发现,此强制转换对于较大的数值转换会出错。于是,我们改用floor(),调试通过。提交代码,AC。

    这时候,我们决定加题。于是乎,又多加了一场比赛的题目,共6题。这次的题目难度有点提高,但我们对于其中的3题,仍可较快想出思路并用代码实现。只是我遇到了一题,是关于Ackerman函数的。我的想法是,用递归会递归过深,就用递推吧。然后写了,提交,WA。再修改,再提交,再WA。我就这样陷进了代码中,卡在了这题里,满脑子都是非递推即递归的想法。后来,Zhuerduo看了一下这题,抛出一句话,这个在有限的可接受数据范围内,可以推出直接表达式吧。我方才恍然大悟,不要吊死在非递归即递推这可树上,可以换棵树再吊嘛。于是我根据Zhuerduo推出来的公式,修改了代码,提交,AC。其实很多时候我们钻进了牛角尖,卡在了题中时,的确需要队友的另外一种眼光和思维,来解决题目。

    这时候,我们看看时间,16:59。虽然我提出了最后一题的思路和解法,但是时间也差不多了,这场组内模拟赛暂且告一段落。最后一题留待过后慢慢写吧。

    飙了一下午的水题、简单题及有一点点困难的题目,群众纷纷表示,身体倍棒,吃嘛嘛香。可见,在天灾人祸的寒冷冬日,飙一场热乎乎的水题赛,的确有助于提高免疫力和抵御寒冷天气。

     

    PS:总结报告,就姑且用这一篇文章来代替吧。本次队内模拟赛中遇到的问题,解决的方法,以及积累的经验,均在文章有所总结,是以为此文。

    2009.11.16 / 4 条评论 / 分类: 梦溪笔记

  • ACM的那些事儿(一)

    ACM的那些事儿。其实,ACM也可以很有趣。

    就从一场别宴开始说吧。

    傍晚,忽闻zfy来电,说AutoGerk退役了,一场别宴,就在本部。于是,便和Upwinder赴宴。

    晚餐里,听到三位前辈兼大牛在回忆自己的峥嵘岁月,可谓将古今多少事,都付笑谈中。AutoGerk说,以后在中科院发展,这ACM梦未圆,总是一种遗憾。zfy一挥手道,程序竞赛,还是有机会的,虽然不是ACM。

    饭饱酒未足之际,我们开始讲述自己与ACM的故事。谈笑风生间,我听到了大家自己的ACM历程,总结一点,还是我近来一直迷信的观点——没有努力,是不会有今天的成绩的;而今天期望的成绩没有达到,是因为自己还不够努力,或者曾经不够努力造成的蝴蝶效应。

    zfy说了,我那本武功秘笈,已经有威力加强更新版,大家把那本武功秘籍Update一下,抓紧时间好好修炼。Kevin也说,我写了几本练武心得,关于数论和DP的,大家修炼时,也可参考参考。

    同时,我还获悉,我们要修一本CSU ACM的史书,供千秋万代参考膜拜。据说该工程已经在浩浩荡荡地进行中,估计不久可一睹其风采。

    最后,AutoGerk对我们几位学弟说,以后CSU的ACM靠你们啦。zfy道,我们CSU的ACM一定能千秋万载一统江湖。Kevin虽不作发言,亦笑而点头。

     

    后记:不知道这ACM的那些事儿能不能“把那年的故事,再接下去说完”呢。希望可以。

    2009.11.3首发,于团队博客

    2009.11.16 / 暂无评论 / 分类: 梦溪笔记

  • 随便写点

    随便写点
        貌似很久没更新这个个人博客了。不过这边收视率低,偶尔几个点击,不过是一些网友误打误撞被搜索引擎骗进来的。曾经的火爆在前段时间由于各种原因,特别是股沟博客被神奇的国度X后,就清静了许多。
        我最近在忙ACM,已经没啥时间了;还偶尔无聊之中更新一下低俗站点的内容,就更没时间来这儿写了。不过今天虽说准备明天的团队赛,不过频密得已经麻木的模拟赛确实使得我不甚有状态,而我还是相信其他两位好友的发挥,所以正好忙里偷闲来吐槽一下。
        这里天狂看访谈类节目。因为电影看多了,腻了。换一下口味,居然发现还有不少访谈节目做得不错。其实我不应该说节目做得好不好,更准确的说法是,居然还发现有几个访谈嘉宾在访谈节目的表现不错。话又说回来,我发现,访谈节目,看的不是某个节目好不好,而是某个嘉宾好不好。有些嘉宾,无论到多么无聊的节目、接受多么蹩脚的主持人采访,总会让人觉得眼前一亮。
        比如易中天。我前几天还重温了一下易中天先生在以前参加的一些访谈节目。今天就看到了八卦新闻,说易中天喷主持人,主持人眼泪汪汪。我马上找了那期节目看一下,不禁拍手称绝,这主持人自己找抽。套用人民网的一篇评论:“易中天跑出来大谈‘不问动机’,大骂主持人蠢,只是点明了一件事:很多事情都是心知肚明的,既要来宾提供标准答案,问题陷阱又设置得那么笨拙,还想别人傻乎乎跳下去,没有知识也要有点常识。电视机前被长期愚弄哄骗的观众顿时有种出气的感觉。”整集节目就是老奸巨猾的中年人易中天调戏两个傻乎乎的年轻人。尤其是主持人问道,你为什么要穷追不舍余秋雨假捐款的事。易中天先生回答,我没事管闲事,出来打打酱油。还有,易中天还喷道,你们领导弱智,这年头,不是弱智的人当不上领导。听到易中天先生说出这么解气的话,真是令人拍手称绝。
        说到余秋雨,我刚和TG讨论了一下。TG问我,余秋雨在“那十年”似乎做过些错事,而又不像巴金一样敢于承认。我说,余秋雨的“那十年”的所作所为我不了解,我只是了解他的艳情史。他是那种文品好,人品不好的人,所以顶多被称为“文学大师”。而巴金是人品和文品一样好的人,这种人才能被称为“伟人”。
        前几天看了下郑渊洁作为嘉宾的访谈节目。挺不错。也是说话比较绝的人。我才想起,家里的郑渊洁童话好像好久没看了。暑假有空重温一下。
        《凤凰非常道》不错,主持人老何东够麻辣,特别是他和易中天访谈那集。两人真是默契。又一次,何东对媒体报道百家讲坛收视暴跌的假新闻用“意淫”评论后,易中天总结道“一个娱乐八卦杂志,很勃起地讨论了一个好像很严肃的学术性问题,使某些所谓严肃学者,获得意淫的快感”。甚绝。而何东的博客也是好去处啊,比如讽刺金X日面黄肌瘦大约大去之期不远矣,比如讽刺央视大裤衩旁的“焦楼”,都是很麻辣的文章,有时间去看看,挺有意思。
        嗯,扯得差不多,不扯了。

    2009.07.23 / 2 条评论 / 分类: 随心随感

  • 恭喜团队获得ACM校赛一等奖!

    恭喜团队获得ACM校赛一等奖!
        教务处通知,本次校赛共有来自10个学院71支队伍的226名学生参加了角逐。经过专家的认真评审,共有22支队伍分别获得特等奖、一等奖、二等奖和三等奖。
        我们队伍很荣幸地获得一等奖!
        虽然这几天还在打趣地说,80%的几率得二等奖,20%的几率得一等奖。没想到,还是我们RP好,中了那20%。
        诚然,这次的校赛,我们还是有很多不尽人意的地方,有很多遗憾。这些问题,需要我们在下一步的训练中慢慢发现、总结并改正。所以先不在这儿�嗦了。
        还是讲讲我们的优点吧。
        首先,是速度决定了排名。本次校赛中,AC四题及以上的队伍有且仅有4队。而我们AC了3题。这就是说,我们是做出3题的队伍中,解题速度最快的。所以,好好把握住速度,是最重要的一个因素。
        然后,模板提高了速度。比赛前几天,我们都在研究及整理模板。Upwinder更是狠下工夫排好了具有我们团队特色的专用模板。因此,在比赛中,这些模板起了重大作用。
        最后,天时地利人和。此乃三要素。天时这个没什么好讨论的。而地利算是没有的了,那台烂电脑,说起来还真有点气。我甚至还在YY,如果电脑好一点,某题会不会顺利AC?不过话说回来,就算多做几题,也还是一等奖;不过再再说回来,我们要看到技术参数,不能盯死在这些名利上。好了,我们队伍有的,而且特别有的,就是人和。经过了N次内部模拟赛的配合,我们已经相当默契,这就是一个团队最宝贵的资源。所以以后的常规训练,除了训练技术上的解题之外,配合的默契也是值得我们注意的一大方面。
        就先写这么多。
        谢谢CSU,谢谢我们的粉丝(如果有的话)。恭喜TriKnightz团队,恭喜我们自己!

    2009.05.21 / 暂无评论 / 分类: 随心随感

  • 关于字符读入(一)【原创备份】

    关于字符读入(一)

    首先,我们约定以下定义:
    char c;
    char ch[10];
    string s;
    int i;

    1.gets(ch)。
    其中ch为字符数组。
    gets读入至回车结束。gets()会读入回车,但ch不存入回车。
    如果读入行的字符总长度小于ch的总长度,则后面加”";等于则不加,也不会出错;如果大于,显然会溢出,这个会有什么后果,就看人品了(与具体环境有关)……所以数组尽量开得比题目要求的大一点点,人品会好不止一点点。
    这是C中使用的。

    2.getline(cin,s,c)
    第一个参数cin为输入流(一般为cin)。第二个参数s为字符串,即string类成员。第三个参数c为读入的终止字符,字符型。
    其重载函数getline(cin,s)默认终止字符为回车”\n”。
    getline()会读入终止符,但不会存入终止符。
    这是C++中string头文件中定义的函数,用于string类。

    3.cin.getline(ch,i,c)
    第一个参数ch为字符数组。第二个参数i为要读入字符串的最大长度(i不记得是整形还是长整形)。第三个参数c为读入的终止字符,字符型。
    其重载函数cin.getline(ch,i)默认终止字符为回车”\n”。
    cin.getline()最多会读取(i-1)个字符,使得最后一位总是”"。
    (1)如果在读入第(i-1)个字符或之前遇到终止符。cin.getline()会读入终止符,但不会存入终止符。
    (2)如果在读入第(i)个字符遇到终止符。cin.getline()会读入第(i)个字符,即读入终止符,但不会存入终止符。
    (3)如果在读入第(i)个字符还没遇到终止符。cin.getline()不会读入第(i)个字符。
    举个例子,比如下面的代码。
     cin.getline(ch,10,'p');
     c=getchar();
    如果输入”12345678pabc”,则ch为”12345678″,c为”a”。
    如果输入”123456789pabc”,则ch为”123456789″,c为”a”。
    如果输入”1234567890pabc”,则ch为”123456789″,c为”0″。(后面的”pabc”未读入处理)
    这是C++输入流(一般是cin)的成员函数。

    总结:
    (1)终止符号的原则是,终止符号会被读入,但不存入。
    (2)字符数组会在末尾加上”"。但如果字符数组即将满了,是最后读满数组,不加”";还是保证最末尾总有”"。这个显然各个函数处理不同。我不知道是不是c和c++采取两套原则。所以再说一次那句话,数组尽量开得比题目要求的大一点点,人品会好不止一点点。
    (3)其实本来c++的string是很好用的,可是偏偏c风格的字符数组比string执行速度快,偏偏ACM要求速度要快,偏偏两者速度的差异还是很可观的……所以具体什么情况采取什么,以后再总结经验。

    2009.02.12 / 暂无评论 / 分类: 所谓技术