Page 2

上海站倒计时

dhu 一战, Last 5 days.

 

永无止境的战斗

脚下之路

是通往荣耀的大道

还是必将坠落的歧途

god bless

感叹

SRM0分,rating回落1600+, 事实证明我还是太菜了

扫雷技巧分析

因为最近发现周围的一些人流行起玩扫雷,而且想了解一些关于这方面的技巧,所以我写这篇文章,介绍扫雷方面技巧。

Continue Reading »

C++, 学习和读书

标题其实是3个没打算联系起来的东西。

C++: 今天上午C++考试完毕了,本期考试周正式拉开了序幕,这个学期又将这样走向完结了。C++我本期大概也就去听了不超过10节课,理论上应该没有什么资格来讨论,然而我还是想说点什么。因为这些天来,我忽然有一种新的感觉——那就是很多的课程都采用了一种不合理的讲授方式。C++课便成为了一个例子:

一个学期下来,大部分人都还学的朦朦胧胧,对于C++似懂非懂的就这么过去了。是老师水平不足么?实际上,就我根据我去听的那10节课的样子,其实老师的水平非常高。然而为何大家都学得不好呢,我觉得这和错误的授课思路非常有关系。大部分人上过程序设计课后,还是很难编出有效的代码。因为他们只知道语法元素,而没有编程的思想。如同英语一样,如果你一开始学英语就不停的背单词,学语法,而不去大量接触真正的语境,是不可能说英语的。而现在课堂上,老师眉飞色舞的抓住程序语言中的每一个细节,展示各种代码的技巧,而不引导大家如何自己去编制一个程序。最后考试居然还能够是答卷子,把程序设计完全当做背课本的事情。

我理想中的授课方式: 老师告诉大家,学习这门课可以达到怎么样的效果,为学习设定一个目标。学习的知识都应当是为了解决达到目标的过程中出现的问题而学习的。根据学习的知识,老师能提示大家利用这些知识可以做一些什么事,进行一些什么样的练习会有助于以后的学习,如果有更多兴趣的同学可以参考什么样的资料。

我理想中程序设计课应该是以培养大家写程序的能力为主,讲授语言应该只是辅助。语言用什么都可以,而学会了思想才能够一通百通

学习:到了学期快结束了才开始注意到学习问题还真是一件糟糕的事情。明天考英语。完毕之后还有离散、高数、概率、物理。由于自打期中考试以来课基本上全部被我翘掉了,所以复习是一件艰辛的事情。话说一直以来无视和荒废了半个学期的学习,也没做出什么有意义的事情。ACM方面也完全没有练习,仅剩下在网上做做比较大的比赛和出去参加一些邀请赛。最后在各式各样的动漫上打发掉了时间。

后来在一本书上开到一句话:人可以拒绝任何东西,但绝对不可以拒绝成熟。拒绝成熟,实际上就是在规避问题、逃避痛苦。规避问题和逃避痛苦的趋向,是人类心理疾病的根源,不及时处理,你就会为此付出沉重的代价,承受更大的痛苦。所以我认识到,只有真是问题,果断的去解决才是正确的方法。而不是像我之前那样,一直回避着,盼望着其自然而然的消失掉。

所以要努力的改进。

读书: 读书也最近产生的愿望。1来是因为觉得总是靠动画打发时间过于浪费,还是应该找一些更舒服的事情做。于是读书便是非常棒的选择了。2来是因为受了最近结识的一些人的影响,对于一些新的东西有点兴趣,想看一些心理学方面的书。产生了想法后,正好又碰上一些人在整理书单,于是想顺便看看还有哪些没看过的被推荐的书,正好再看看(PS:好像不管谁的书单,我都看过40%~60%的样子,不多也不少)。

另外发现校内ftp上有大量的电子书,遂载了一部分,结果已经300+M了。

目前在看的书:《哥德尔 艾舍尔 巴赫 ——集异璧之大成》,看了170页的样子。这本书是以前在某个(忘了)blog上看到的介绍,手上仅pdf版,正在一边看一遍添加书签。

未来尚无具体计划,大概也就是心理学和文学方面的书籍吧。

补笔 好久没有写日志了,结果这篇就略微长了一点,但似乎还有一些想记的东西没记,今天算了。

SGU106

上高数课的时候在看数论,后来闲着无聊就想这个题,回来后就写掉了.

方法很简单,先把方程化为ax+by=c,把ab=0的情况先处理掉,然后用扩展gcd算法得出ax+by=g(其中g = gcd(a,b))的一组解(x0, y0)。

若g|c,则有解,否则ans = 0。有解时另d=c/g,则(d*x0, d*y0)即原方程的一组解

通解可表示为 (d*x0 + k * b/d, d*y0 - k*a/d),然后根据x和y的范围限制,计算出k的范围即可得到答案。

其实此文的主要目的是再次测试一下发代码的效果

Continue Reading »

我得下决心搞计算几何了

仔细留意了一下我最近参加的各类比赛,没做出来的题目而又被别的人做出来了的,除了看错题的,基本上就是计算几何了。

相比看错题这个问题,我还是决定开始做计算几何方面的题目的练习。

先从WC的作业里面找题目,再去各OJ切,知道领悟计算几何的大部分思维方法为止。

fight on !

SGU183 题解

中午都在搞这个题目,方法是DP
设f[i][j]表示前i个球中取的最后两个为i-j和i,可以得到一个转移f[i][j] = min(f[i-j][k]) (j+k<=m) + c[i]。

不过这个方程会超时。

我先使用了一次指针优化寻址的方法,不过还是超时,只好改进算法:

我们将状态稍微改改

另s[i][j] = min(f[i][k]) (k<=j)

那么方程便可化为s[i][j] = min(s[i][j-1], s[i-j][m-j]); 转移的时间便降为了O(1),这样时间便不会超了。

SGU183参考代码(C++)

TCO R1 昨晚熬夜

继续往网吧进行熬夜活动
T1: 250分
直接枚举长度, 然后列方程算出开始的数, 判断是否为整数.
开始没留意到要是非负的, 加罚了10%, 心痛
T2: 500分
花一点时间推出来组合数学上的公式
再花一点时间确认使用double不存在溢出问题
开始写
test2死都过不去...... 花了好多时间才发现:
居然是m 和 M两个变量搞混了, 以后再也不用长得差不多的变量了.
又是悲痛的罚时
T3: 1000分题, 初步判定为DP, 但由于前面两题拖延的时间, 所以直接放弃写这个题了。

最后只有507分, 好歹混进下一轮了. 下次再好好努力把

TCO Qual1伤心的一仗

昨晚TCO Qual1,于是找网吧。

7:45 成功找到网吧
7:50 总算下完JRE
7:53 压线总算注册上了

这里属于rp啊,差一点点时间就只好在网吧打war3了。
于是高兴地开始做。

看到250分的题,高兴地秒了。
500分的题,直接想到正确算法——不过,我自己以为正确算法会超时,所以放弃了,一直再想别的优化方法。
结果:还是放弃了。
于是开1000分题,再次直接想到二分图匹配算法,敲完后觉着不好,改了一次,结果加罚10%(无语啊),最后只有500+分。
这时总分还有700+不错。

结果惨淡的是,在cha阶段的最后2分钟,我的250分壮烈牺牲在某男的数据下。于是最后只有惨淡的500来分。
本来想等rating出来的,结果还遇到system test时期出了bug,无奈只好会寝睡觉。

昨日活动悲剧结束。

今天,看过rating的跟我说我居然涨了4分。更是无比无语,太无语了,是故作文已记之。

好了,最后埋怨下图书馆奇慢无比的无线网,继续写我的小说去。

济世灵文

恩,宣传一下

百事以孝为先,万恶以淫为首,父母不亲谁亲,不敬父母敬何人,千两黄金万两银,有钱难买爹娘身,活着不尽儿女孝,死后排场瞎胡闹,在家不要言相激,一旦抛弃便不归,在生之时不敬重,死后空劳拜孤坟。
自己看完,转送他人,恶事莫做,善事多行。敬重此文,宣传此文,印送此文,功德无量。健康长寿,子孙福厚。
恶善各有报,只待时来到,如果时已到,立刻会得报。