Tag Archives: ACM/ICPC

搞ACM的你伤不起[转载]

RoBa原创,转载请注明出处

劳资六年前开始搞ACM啊!!!!!!!!!!
从此踏上了尼玛不归路啊!!!!!!!!!!!!
谁特么跟劳资讲算法是程序设计的核心啊!!!!!!
尼玛除了面试题就没见过用算法的地方啊!!!!!!
谁再跟劳资讲算法之美算法的力量,劳资一本算法导论拍死你啊!!!!!!!!
那是搞ACM的入门书啊!!!!特么的入门书就一千多页啊!!!!!!!
还没有习题答案啊,学完了你特么都不知道自己到底会不会啊有木有!!!!!!
然后你就得看lrj的黑书啊!!!!!!还是特么的没有习题答案啊!!!!
那书难的一B啊!!!!人家一个“显然”得出的结论够你想一礼拜啊有木有!!!!
一个课后题够你想几个月啊有木有!!!!
然后还有一堆堆的书啊!!!!每一类算法都足够写一本书啊!!!!
每本都是砖头一样啊!!!!还都特么是英文的啊!!!!
也有中文翻译版啊!!!!!!翻译得跟屎一样啊!!!!
你看的时候得把它再变回英文才能懂啊!!!!!!有木有!!!!!!
......

Read more »

ACM版《孔乙己》(ZZ)

Arena的格局,是和别处不同的:是用Java做的客户端,可以随时System Test每场SRM,还可以看到挂掉的数据。喜欢做Coding的人,傍午傍晚闲得蛋疼的时候,每每花75分钟,切一场陈旧的250和500,——这是没有比赛的时候的事,有比赛的时候大家每次都把服务器挤挂——然后继续,水掉250之后趁热切掉500,倘若更NB一些,便可以留时间把1000也写一写,或者检查一下250和500有没有bug,如果1000或者准备数据,准备等会儿cha人,但一般的选手,多是铁牌男,大抵没有那么NB。只有Final拿牌的红id神牛,才提交了1000之后,又准备了各种邪恶数据,慢慢的等着cha人。

我20岁那年起,便在学校的ACM集训队里打酱油,队长说,我样子太傻,怕切不动dp,就写点阿烦模拟吧。区域赛上的阿烦模拟,虽然没什么算法,但弯弯扭扭规则复杂的也不少。出题人往往要你会不会揣测他的英语描述是什么意思,看看你会不会用各种堆来维护状态,又要你在各种规则下面做复杂的判断和考虑,然后才开始拍码:在这种严格的时空限制下,STL里的容器和方法也很难不TLE。所以过了几天,队长说我干不了这事。幸亏帮做了个OJ有苦劳,辞退不得,便改为专门写几何这种无聊的题目了。

Read more »

java简单上手

对于ACMer来说,java语言最大的优势就是BigInteger,Bigecimal,String三个类.这三个类分别是高精度整数,高精度浮点数和字符串,之所以说这个是它的优势是因为java的这三个类有丰富的成员函数可以调用,在比赛中可以省去敲大数模板的时间.

这里只讲一些在短时间内上手java的基础知识,java是一门非常强大的语言,要深入学习是需要花很长时间的.

一.准备工作

安装JDK (java development kit即JAVA开发工具包)

这里首先需要说明一下java的一些特殊性.一般我们的教材上介绍程序设计语言时会把它们按照运行方式的不同分为解释型和编译型(概念略),虽然java也有一个虚拟机来"解释执行",但java并不是完全的解释型也不是编译型,可以认为是"部分"编译.一个java程序经过"编译"变成字节码再运行在虚拟机上,所以它比一般的编译型程序慢,比一般的解释型程序快.

如果你在至诚ACM的机房看这篇文章,以上的一大段都是废话了解一下就行,请跳到下面的"第一个Java程序"开始看.
这里我们使用的是JDK6,可以到SUN的网站下载:http://www.oracle.com/technetwork/java/javase/downloads/index.html
下载完成后,安装按默认路径即可。

配置环境变量如下:

JAVA_HOME = C:Program FilsJavajdk1.6.0_20 (版本不同路径会略有不同)
PATH = %JAVA_HOME%bin;%JAVA_HOME%lib;%JAVA_HOME%jrelib;
CLASSPATH = .;%java_home%lib;%java_home%libtools.jar (前面要加.表示当前路径).

其实到这里Java的开发环境就已经完成了,但是对于不熟悉命令行编译的朋友最好能安装一个IDE(Integrated Development,集成开发环境).

现在比较流行的Java集成开发环境有IBM的Eclipse和Sun的Netbeans.至于安装配置什么的对于软件专业的学生应该不是什么难事,实在不行Google一下.
Eclipse:http://www.eclipse.org/downloads/
Netbeans:http://zh-cn.netbeans.org/

其实我个人还是推荐使用Netbeans,java和Netbeans都是Sun的东西,Sun对自家的东西自然会支持的好一些.
知道Eclipse这个单词是什么意思么?查一下,很有趣的.

二.第一个java程序

用任何你喜欢的编辑器(比如我最长用的是Vim)写如下代码:

public class Main{
    public static void main(String[] argc)
      {
		System.out.println("Hello World");
      }
}

并保存为Main.java
(注意大小写,Java是大小写敏感的语言,你的类名和这个文件名必须相同)

在命令行下输入

javac Main.java  //编译
java Main        //运行

Read more »